'1.0', 'info' => ['style' => 'RPC', 'product' => 'Vpc', 'version' => '2016-04-28'], 'directories' => [ [ 'children' => ['CreateVpc', 'DeleteVpc', 'ModifyVpcAttribute', 'DescribeVpcs', 'DescribeVpcAttribute', 'GrantInstanceToCen', 'RevokeInstanceFromCen', 'DescribeGrantRulesToCen', 'AssociateVpcCidrBlock', 'UnassociateVpcCidrBlock', 'AllocateVpcIpv6Cidr'], 'type' => 'directory', 'title' => 'Virtual private cloud (VPC)', ], [ 'children' => ['CreateDefaultVSwitch', 'DeleteVSwitch', 'ModifyVSwitchAttribute', 'DescribeVSwitchAttributes', 'DescribeVSwitches', 'DeleteVSwitchCidrReservation', 'ModifyVSwitchCidrReservationAttribute'], 'type' => 'directory', 'title' => 'VSwitch', ], [ 'children' => ['CreateRouteTable', 'ModifyRouteTableAttributes', 'DescribeRouteTables', 'CreateRouteEntry', 'CreateRouteEntries', 'DeleteRouteEntry', 'DeleteRouteEntries', 'ModifyRouteEntry', 'DescribeRouteEntryList', 'PublishVpcRouteEntries', 'ListVpcPublishedRouteEntries', 'ListGatewayRouteTableEntries'], 'type' => 'directory', 'title' => 'Route table', ], [ 'children' => ['ModifyVpcPrefixList', 'GetVpcPrefixListAssociations'], 'type' => 'directory', 'title' => 'Prefix list', ], [ 'children' => ['DetachDhcpOptionsSetFromVpc', 'GetDhcpOptionsSet', 'ListDhcpOptionsSets'], 'type' => 'directory', 'title' => 'DHCP options set', ], [ 'children' => ['CreateFlowLog', 'ModifyFlowLogAttribute', 'DescribeFlowLogs'], 'type' => 'directory', 'title' => 'Flow log', ], [ 'children' => ['UpdateNetworkAclEntries'], 'type' => 'directory', 'title' => 'Network ACL', ], [ 'children' => [ [ 'children' => ['CreateTrafficMirrorFilterRules', 'DeleteTrafficMirrorFilterRules', 'UpdateTrafficMirrorFilterRuleAttribute'], 'type' => 'directory', 'title' => 'Traffic mirroring filter rule', ], [ 'children' => ['CreateTrafficMirrorFilter', 'DeleteTrafficMirrorFilter', 'UpdateTrafficMirrorFilterAttribute', 'ListTrafficMirrorFilters'], 'type' => 'directory', 'title' => 'Traffic mirroring filter', ], [ 'children' => ['AddSourcesToTrafficMirrorSession', 'CreateTrafficMirrorSession', 'DeleteTrafficMirrorSession', 'UpdateTrafficMirrorSessionAttribute', 'ListTrafficMirrorSessions', 'RemoveSourcesFromTrafficMirrorSession'], 'type' => 'directory', 'title' => 'Traffic mirror session', ], 'OpenTrafficMirrorService', 'GetTrafficMirrorServiceStatus', ], 'type' => 'directory', 'title' => 'Traffic mirroring', ], [ 'children' => ['CreateRouteTargetGroup', 'DeleteRouteTargetGroup', 'SwitchActiveRouteTarget', 'UpdateRouteTargetGroup', 'ListRouteTargetGroups', 'GetRouteTargetGroup'], 'type' => 'directory', 'title' => 'Routing target group', ], [ 'children' => [ [ 'children' => ['AllocateEipAddress', 'AllocateEipAddressPro', 'ModifyEipAddressAttribute', 'DescribeEipAddresses'], 'type' => 'directory', 'title' => 'Elastic IP Address instance', ], [ 'children' => ['OpenPublicIpAddressPoolService', 'TransformEipSegmentToPublicIpAddressPool'], 'type' => 'directory', 'title' => 'IP address pool', ], ], 'type' => 'directory', 'title' => 'Elastic IP Address', ], [ 'children' => ['CreateCommonBandwidthPackage', 'AddCommonBandwidthPackageIp', 'AddCommonBandwidthPackageIps', 'RemoveCommonBandwidthPackageIp', 'Describe95Traffic'], 'type' => 'directory', 'title' => 'Internet Shared Bandwidth', ], [ 'children' => [ [ 'children' => ['UpdateVirtualPhysicalConnection', 'ListVirtualPhysicalConnections'], 'type' => 'directory', 'title' => 'Hosted Express Connect circuits', ], 'CreateHighReliablePhysicalConnection', 'DescribePhysicalConnectionLOA', 'CreatePhysicalConnectionOccupancyOrder', 'ListPhysicalConnectionFeatures', 'AssociateMacSecKey', 'DisassociateMacSecKey', 'ListBusinessRegions', 'ListBusinessAccessPoints', ], 'type' => 'directory', 'title' => 'Express Connect circuit', ], [ 'children' => ['DescribeGrantRulesToEcr', 'ModifyVirtualBorderRouterAttribute', 'DescribeVirtualBorderRoutersForPhysicalConnection'], 'type' => 'directory', 'title' => 'Virtual border router', ], [ 'children' => [ [ 'children' => ['CreateNatGateway', 'ModifyNatGatewayAttribute', 'DescribeNatGateways', 'GetNatGatewayAttribute', 'DescribeNatGatewayAssociateNetworkInterfaces'], 'type' => 'directory', 'title' => 'NAT gateway', ], [ 'children' => ['CreateSnatEntry', 'ModifySnatEntry', 'DescribeSnatTableEntries'], 'type' => 'directory', 'title' => 'SNAT rule', ], [ 'children' => ['CreateFullNatEntry', 'ModifyFullNatEntryAttribute', 'ListFullNatEntries'], 'type' => 'directory', 'title' => 'FullNAT rule', ], [ 'children' => [ [ 'children' => ['CreateNatIp', 'DeleteNatIp', 'ListNatIps'], 'type' => 'directory', 'title' => 'NatIp', ], [ 'children' => ['ModifyNatIpCidrAttribute', 'ListNatIpCidrs'], 'type' => 'directory', 'title' => 'NatIpCidr', ], ], 'type' => 'directory', 'title' => 'NatIp management', ], ], 'type' => 'directory', 'title' => 'NAT', ], [ 'children' => ['DeleteIpv4Gateway'], 'type' => 'directory', 'title' => 'IPv4 gateway', ], [ 'children' => ['DescribeVpnGateway', 'DescribeVpnGateways', 'DescribeVpnGatewayAvailableZones'], 'type' => 'directory', 'title' => 'VPN Gateway', ], [ 'children' => [ 'CreateVpnConnection', 'DescribeVpnConnection', 'DescribeVpnConnections', 'DownloadVpnConnectionConfig', [ 'children' => ['CreateVpnRouteEntry'], 'type' => 'directory', 'title' => 'Destination-based route', ], [ 'children' => ['CreateVpnPbrRouteEntry'], 'type' => 'directory', 'title' => 'Policy-based routing', ], ], 'type' => 'directory', 'title' => 'Attach VPN Gateway instance', ], [ 'children' => ['CreateVpnAttachment', 'CreateVcoRouteEntry', 'DescribeVpnAttachments'], 'type' => 'directory', 'title' => 'Attach transit router instance', ], [ 'children' => ['CreateSslVpnServer', 'ModifySslVpnServer'], 'type' => 'directory', 'title' => 'SSL server', ], [ 'children' => ['DeleteIpv6Gateway', 'DescribeIpv6Gateways', 'CreateIpv6EgressOnlyRule'], 'type' => 'directory', 'title' => 'IPv6 gateway', ], [ 'children' => ['DescribeTagKeys'], 'type' => 'directory', 'title' => 'Label', ], [ 'children' => ['DeleteExpressConnect'], 'type' => 'directory', 'title' => 'Router interface', ], [ 'children' => ['RemoveGlobalAccelerationInstanceIp'], 'type' => 'directory', 'title' => 'Alibaba Cloud Global Accelerator (GA)', ], [ 'children' => ['ListVpcGatewayEndpoints'], 'type' => 'directory', 'title' => 'Gateway endpoint', ], [ 'children' => ['DescribeVpcGrantRulesToEcr', 'DeleteEnhancedVpnGateway', 'UpdateEnhancedVpnGateway', 'CreateEnhancedVpnGateway', 'GetNatIpAttribute', 'GetNatIpCidrAttribute', 'CreatePhysicalConnection', 'DescribeAccessPoints', 'DescribePhysicalConnections', 'DescribeTags', 'DescribeVirtualBorderRouters', 'EnablePhysicalConnection'], 'type' => 'directory', 'title' => 'Other', ], [ 'children' => [ 'ActivateRouterInterface', 'ActiveFlowLog', 'AddBgpNetwork', 'AddGlobalAccelerationInstanceIp', 'AddIPv6TranslatorAclListEntry', 'AddPublicIpAddressPoolCidrBlock', 'AllocateEipSegmentAddress', 'AllocateIpv6Address', 'AllocateIpv6InternetBandwidth', 'ApplyPhysicalConnectionLOA', 'AssociateEipAddress', 'AssociateEipAddressBatch', 'AssociateHaVip', 'AssociateNetworkAcl', 'AssociatePhysicalConnectionToVirtualBorderRouter', 'AssociateRouteTable', 'AssociateRouteTableWithGateway', 'AssociateRouteTablesWithVpcGatewayEndpoint', 'AssociateVpnGatewayWithCertificate', 'AttachDhcpOptionsSetToVpc', 'AttachVbrToVpconn', 'CancelCommonBandwidthPackageIpBandwidth', 'CancelPhysicalConnection', 'ChangeResourceGroup', 'CheckCanAllocateVpcPrivateIpAddress', 'CheckVpnBgpEnabled', 'CompletePhysicalConnectionLOA', 'ConfirmPhysicalConnection', 'ConnectRouterInterface', 'ConvertBandwidthPackage', 'CopyNetworkAclEntries', 'CreateBgpGroup', 'CreateBgpPeer', 'CreateCustomerGateway', 'CreateDefaultVpc', 'CreateDhcpOptionsSet', 'CreateExpressCloudConnection', 'CreateExpressConnectTrafficQos', 'CreateExpressConnectTrafficQosQueue', 'CreateExpressConnectTrafficQosRule', 'CreateFailoverTestJob', 'CreateForwardEntry', 'CreateGlobalAccelerationInstance', 'CreateHaVip', 'CreateIPv6Translator', 'CreateIPv6TranslatorAclList', 'CreateIPv6TranslatorEntry', 'CreateIpsecServer', 'CreateIpv4Gateway', 'CreateIpv6Gateway', 'CreateNatIpCidr', 'CreateNetworkAcl', 'CreatePhysicalConnectionSetupOrder', 'CreatePublicIpAddressPool', 'CreateRouterInterface', 'CreateSslVpnClientCert', 'CreateVSwitch', 'CreateVSwitchCidrReservation', 'CreateVbrHa', 'CreateVirtualBorderRouter', 'CreateVirtualPhysicalConnection', 'CreateVpcGatewayEndpoint', 'CreateVpcPrefixList', 'CreateVpconnFromVbr', 'CreateVpnGateway', 'DeactivateRouterInterface', 'DeactiveFlowLog', 'DeleteBgpGroup', 'DeleteBgpNetwork', 'DeleteBgpPeer', 'DeleteCommonBandwidthPackage', 'DeleteCustomerGateway', 'DeleteDhcpOptionsSet', 'DeleteExpressConnectTrafficQos', 'DeleteExpressConnectTrafficQosQueue', 'DeleteExpressConnectTrafficQosRule', 'DeleteFailoverTestJob', 'DeleteFlowLog', 'DeleteForwardEntry', 'DeleteFullNatEntry', 'DeleteGlobalAccelerationInstance', 'DeleteHaVip', 'DeleteIPv6Translator', 'DeleteIPv6TranslatorAclList', 'DeleteIPv6TranslatorEntry', 'DeleteIpsecServer', 'DeleteIpv6EgressOnlyRule', 'DeleteIpv6InternetBandwidth', 'DeleteNatGateway', 'DeleteNatIpCidr', 'DeleteNetworkAcl', 'DeletePhysicalConnection', 'DeletePublicIpAddressPool', 'DeletePublicIpAddressPoolCidrBlock', 'DeleteRouteTable', 'DeleteRouterInterface', 'DeleteSnatEntry', 'DeleteSslVpnClientCert', 'DeleteSslVpnServer', 'DeleteVbrHa', 'DeleteVcoRouteEntry', 'DeleteVirtualBorderRouter', 'DeleteVpcGatewayEndpoint', 'DeleteVpcPrefixList', 'DeleteVpnAttachment', 'DeleteVpnConnection', 'DeleteVpnGateway', 'DeleteVpnPbrRouteEntry', 'DeleteVpnRouteEntry', 'DeletionProtection', 'DescribeBgpGroups', 'DescribeBgpNetworks', 'DescribeBgpPeers', 'DescribeCommonBandwidthPackages', 'DescribeCustomerGateway', 'DescribeCustomerGateways', 'DescribeEcGrantRelation', 'DescribeEipGatewayInfo', 'DescribeEipMonitorData', 'DescribeEipSegment', 'DescribeExpressConnectTrafficQos', 'DescribeExpressConnectTrafficQosQueue', 'DescribeExpressConnectTrafficQosRule', 'DescribeFailoverTestJob', 'DescribeFailoverTestJobs', 'DescribeForwardTableEntries', 'DescribeGlobalAccelerationInstances', 'DescribeHaVips', 'DescribeHighDefinitionMonitorLogAttribute', 'DescribeIPv6TranslatorAclListAttributes', 'DescribeIPv6TranslatorAclLists', 'DescribeIPv6TranslatorEntries', 'DescribeIPv6Translators', 'DescribeIpv6Addresses', 'DescribeIpv6EgressOnlyRules', 'DescribeIpv6GatewayAttribute', 'DescribeNetworkAclAttributes', 'DescribeNetworkAcls', 'DescribePublicIpAddress', 'DescribeRegions', 'DescribeRouteTableList', 'DescribeRouterInterfaceAttribute', 'DescribeRouterInterfaces', 'DescribeServerRelatedGlobalAccelerationInstances', 'DescribeSslVpnClientCert', 'DescribeSslVpnClientCerts', 'DescribeSslVpnClients', 'DescribeSslVpnServers', 'DescribeTagKeysForExpressConnect', 'DescribeVRouters', 'DescribeVbrHa', 'DescribeVcoRouteEntries', 'DescribeVpnConnectionLogs', 'DescribeVpnCrossAccountAuthorizations', 'DescribeVpnPbrRouteEntries', 'DescribeVpnRouteEntries', 'DescribeVpnSslServerLogs', 'DescribeZones', 'DiagnoseVpnConnections', 'DiagnoseVpnGateway', 'DisableVpcClassicLink', 'DissociateRouteTableFromGateway', 'DissociateRouteTablesFromVpcGatewayEndpoint', 'DissociateVpnGatewayWithCertificate', 'EnableVpcClassicLink', 'EnableVpcIpv4Gateway', 'GetFlowLogServiceStatus', 'GetIpv4GatewayAttribute', 'GetPhysicalConnectionServiceStatus', 'GetPublicIpAddressPoolServiceStatus', 'GetVSwitchCidrReservationUsage', 'GetVpcGatewayEndpointAttribute', 'GetVpcPrefixListEntries', 'GetVpcRouteEntrySummary', 'GetVpnGatewayDiagnoseResult', 'GrantInstanceToVbr', 'ListEnhanhcedNatGatewayAvailableZones', 'ListGeographicSubRegions', 'ListIpsecServerLogs', 'ListIpsecServers', 'ListIpv4Gateways', 'ListPrefixLists', 'ListPublicIpAddressPoolCidrBlocks', 'ListPublicIpAddressPools', 'ListTagResources', 'ListTagResourcesForExpressConnect', 'ListVSwitchCidrReservations', 'ListVpcEndpointServicesByEndUser', 'ListVpnCertificateAssociations', 'ModifyBgpGroupAttribute', 'ModifyBgpPeerAttribute', 'ModifyCommonBandwidthPackageAttribute', 'ModifyCommonBandwidthPackageIpBandwidth', 'ModifyCommonBandwidthPackageSpec', 'ModifyCustomerGatewayAttribute', 'ModifyEipForwardMode', 'ModifyExpressCloudConnectionAttribute', 'ModifyExpressCloudConnectionBandwidth', 'ModifyExpressConnectTrafficQos', 'ModifyExpressConnectTrafficQosQueue', 'ModifyExpressConnectTrafficQosRule', 'ModifyForwardEntry', 'ModifyGlobalAccelerationInstanceAttributes', 'ModifyGlobalAccelerationInstanceSpec', 'ModifyHaVipAttribute', 'ModifyIPv6TranslatorAclAttribute', 'ModifyIPv6TranslatorAclListEntry', 'ModifyIPv6TranslatorAttribute', 'ModifyIPv6TranslatorBandwidth', 'ModifyIPv6TranslatorEntry', 'ModifyIpv6AddressAttribute', 'ModifyIpv6GatewayAttribute', 'ModifyIpv6InternetBandwidth', 'ModifyNatGatewaySpec', 'ModifyNatIpAttribute', 'ModifyNetworkAclAttributes', 'ModifyPhysicalConnectionAttribute', 'ModifyRouterInterfaceAttribute', 'ModifyRouterInterfaceSpec', 'ModifySslVpnClientCert', 'ModifyTunnelAttribute', 'ModifyVRouterAttribute', 'ModifyVcoRouteEntryWeight', 'ModifyVpnAttachmentAttribute', 'ModifyVpnConnectionAttribute', 'ModifyVpnGatewayAttribute', 'ModifyVpnPbrRouteEntryAttribute', 'ModifyVpnPbrRouteEntryPriority', 'ModifyVpnPbrRouteEntryWeight', 'ModifyVpnRouteEntryWeight', 'MoveResourceGroup', 'MoveVpnResourceGroup', 'OpenFlowLogService', 'OpenPhysicalConnectionService', 'PublishVpnRouteEntry', 'RecoverPhysicalConnection', 'RecoverVirtualBorderRouter', 'ReleaseEipAddress', 'ReleaseEipSegmentAddress', 'ReleaseIpv6Address', 'RemoveIPv6TranslatorAclListEntry', 'ReplaceVpcDhcpOptionsSet', 'RetryVpcPrefixListAssociation', 'RevokeInstanceFromVbr', 'SecondApplyPhysicalConnectionLOA', 'SetHighDefinitionMonitorLogStatus', 'StartFailoverTestJob', 'StopFailoverTestJob', 'TagResources', 'TagResourcesForExpressConnect', 'TerminatePhysicalConnection', 'TerminateVirtualBorderRouter', 'UnTagResources', 'UnassociateEipAddress', 'UnassociateGlobalAccelerationInstance', 'UnassociateHaVip', 'UnassociateNetworkAcl', 'UnassociatePhysicalConnectionFromVirtualBorderRouter', 'UnassociateRouteTable', 'UntagResourcesForExpressConnect', 'UpdateDhcpOptionsSetAttribute', 'UpdateFailoverTestJob', 'UpdateGatewayRouteTableEntryAttribute', 'UpdateIpsecServer', 'UpdateIpv4GatewayAttribute', 'UpdateNatGatewayNatType', 'UpdatePublicIpAddressPoolAttribute', 'UpdateVirtualBorderBandwidth', 'UpdateVpcGatewayEndpointAttribute', 'VpcDescribeVpcNatGatewayNetworkInterfaceQuota', 'WithdrawVpcPublishedRouteEntries', ], 'title' => 'Others', 'type' => 'directory', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ 'ActivateRouterInterface' => [ 'summary' => 'Activates a router interface that is in the Inactive state.', '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' => 'The region ID of the router interface.'."\n" ."\n" .'You can call [DescribeRegions](~~36063~~) to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RouterInterfaceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the router interface.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ri-2zeo3xzyf38r4urz****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '079874CD-AEC1-43E6-AC03-ADD96B6E4907', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectRIStatus', 'errorMessage' => 'RouterInterface can be operated by this action only when it\'s status is Inactive.', 'description' => 'You can perform the operation only when the router interface is in the Inactive state.'], ['errorCode' => 'Forbidden.FinancialLocked', 'errorMessage' => 'This RouterInterface is financiel locked because of bills outstanding.', 'description' => ''], ['errorCode' => 'OperationFailed.PconnTrafficNotEnable', 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', 'description' => 'Billing for outbound data transfer is disabled.'], ['errorCode' => 'Forbbiden', 'errorMessage' => 'The router does not belong to your account.', 'description' => 'The router does not belong to your account.'], ['errorCode' => 'NotSupportLinkrole', 'errorMessage' => 'This RouterInterface is not a vlan interface for connection.', 'description' => 'The router interface is not a virtual interface for connection.'], ['errorCode' => 'OppositeRouterInterfaceIsDeleted', 'errorMessage' => 'The opposite router interface is already deleted.', 'description' => 'The opposite router interface has been deleted'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidRouterInterfaceId.NotFound', 'errorMessage' => 'The specified RouterInterfaceId does not exist in our records.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Activate a router interface', 'description' => 'After you call the ActivateRouterInterface operation, the router interface enters the **Activating** state. After the router interface is activated, it enters the **Active** state. '."\n" ."\n" .'> You cannot activate a router interface that has an overdue payment.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-04-19T07:23:36.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-21T03:54:45.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-04-10T03:22:23.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ActivateRouterInterface'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ActivateRouterInterface', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouterInterface', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routerinterface/{#RouterInterfaceId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"079874CD-AEC1-43E6-AC03-ADD96B6E4907\\"\\n}","type":"json"}]', ], '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' => 'The region ID of the flow log. You can call [DescribeRegions](~~36063~~) to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ 'name' => 'FlowLogId', 'in' => 'query', 'schema' => ['description' => 'The flow log ID.', 'type' => 'string', 'required' => true, 'example' => 'fl-m5e8vhz2t21sel1nq****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Success' => ['description' => 'Indicates whether the call is successful.'."\n" ."\n" .'- **true**: The call is successful.'."\n" .'- **false**: The call failed.', 'type' => 'string', 'example' => 'true', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectBusinessStatus.FlowLog', 'errorMessage' => 'The business status of flowLog is incorrect.', 'description' => ''], ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Instance does not exist.', 'description' => 'The error message returned because the specified instance does not exist.'], ['errorCode' => 'InvalidStatus', 'errorMessage' => 'Current instance status is not valid for this action.', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The specfied instance is not existed.', 'description' => ''], ['errorCode' => 'IncorrectStatus.flowlog', 'errorMessage' => 'Invalid flowlog status.', 'description' => 'The flow log cannot be disabled because it is in an invalid state.'], ['errorCode' => 'Forbidden.OperateManagedFlowLog', 'errorMessage' => 'Authentication is failed for operate managed flowlog.', 'description' => 'Authentication failed when operating the managed flow log.'], ['errorCode' => 'OperationDenied.FlowLogDeliverFailed', 'errorMessage' => 'The operation is not allowed due to an invalid delivery address.', 'description' => 'The flow log cannot be started because the delivery address is invalid.'], ['errorCode' => 'OperationDenied.NisTrafficAnalyzerAggregationIntervalMismatch', 'errorMessage' => 'The sampling interval of the FlowLog is greater than the sampling interval of the NIS Traffic Analyzer.', 'description' => '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.', 'description' => 'The specified NIS Traffic Analyzer is not enabled.'], ['errorCode' => 'OperationDenied.NisTrafficAnalyzerNotFound', 'errorMessage' => 'The specified NIS Traffic Analyzer does not exist.', 'description' => 'The specified NIS Traffic Analyzer does not exist.'], ['errorCode' => 'OperationFailed.InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error. Please retry the operation. The error still exists. Please submit the work order for processing.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeFlowLogs', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'Activate a flow log', 'summary' => 'Calls the ActiveFlowLog operation to activate a flow log and start capturing traffic of the specified resource.', 'description' => '* The **ActiveFlowLog** operation is asynchronous. After you call this operation, the system returns a request ID, but the flow log has not been activated yet because the activation task is still running in the background. You can call [DescribeFlowLogs](~~87923~~) to query the activation status of the flow log:'."\n" .' - If the flow log is in the **Activating** state, the flow log is being activated.'."\n" .' - If the flow log is in the **Active** state, the flow log has been activated.'."\n" .'* The **ActiveFlowLog** operation does not support concurrent activation of the same flow log.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-02-21T05:35:49.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-06T01:32:52.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-16T05:09:24.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-17T10:03:13.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ActiveFlowLog'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ActiveFlowLog', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'FlowLog', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:flowlog/{#FlowLogId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\"\\n}","type":"json"}]', ], 'AddBgpNetwork' => [ 'summary' => 'Invokes AddBgpNetwork to advertise a Border Gateway Protocol (BGP) network.', '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' => 'The region where the VBR group resides.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'DstCidrBlock', 'in' => 'query', 'schema' => ['description' => 'The CIDR block of the VPC or vSwitch that needs to be interconnected with the on-premises data center.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '10.10.XX.XX/32', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1qpo0kug3a2*****', 'title' => ''], ], [ 'name' => 'RouterId', 'in' => 'query', 'schema' => ['description' => 'The ID of the vRouter associated with the router interface.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vrt-2zeo3xzyf38r4u******', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a parameter value from your client to ensure uniqueness across different requests. ClientToken supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request may be different.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9C7FA9D6-72E0-48A9-A9C3-2DA8569CD5EB', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'QuotaExceeded.Bgp', 'errorMessage' => 'bgp peer count per vbr quota exceed.', 'description' => 'The number of BGP peers in the VBR has reached the upper limit.'], ['errorCode' => 'QuotaExceeded.Nqa', 'errorMessage' => 'nqa count per vbr quota exceed.', 'description' => ''], ['errorCode' => 'QuotaExceeded.BgpNetwork', 'errorMessage' => 'bgp network count per vbr quota exceed.', 'description' => ''], ['errorCode' => 'InvalidPeerIpAddress', 'errorMessage' => 'multi pconn peer ip can not be null.', 'description' => ''], ['errorCode' => 'InvalidVbrNetwork', 'errorMessage' => 'vbr netowrk not exists', 'description' => ''], ['errorCode' => 'InvalidBgpGroup', 'errorMessage' => 'bgp group not exists', 'description' => ''], ['errorCode' => 'InvalidBgpName.Malformed', 'errorMessage' => 'Specified Bgp Group name is not valid.', 'description' => ''], ['errorCode' => 'InvalidBgpDiscription.Malformed', 'errorMessage' => 'Specified Bgp Group description is not valid.', 'description' => ''], ['errorCode' => 'InvalidBgpAuthkey.Malformed', 'errorMessage' => 'Specified Bgp Group authkey is not valid.', 'description' => ''], ['errorCode' => 'InvalidIP.Malformed', 'errorMessage' => 'Ip malformed.', 'description' => ''], ['errorCode' => 'InvalidPeerAsn.Malformed', 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', 'description' => ''], ['errorCode' => 'InvalidParams.NotNull', 'errorMessage' => 'parameter must not null.', 'description' => ''], ['errorCode' => 'InvalidParams.NotFound', 'errorMessage' => 'instance not found', 'description' => ''], ['errorCode' => 'InvalidParams.AlreadyExists', 'errorMessage' => 'bgp network already exists', 'description' => 'The BGP network already exists.'], ['errorCode' => 'InvalidStatus.CannotOperate', 'errorMessage' => 'invalid status cannot operate', 'description' => ''], ['errorCode' => 'InvalidParams.PeerIpAddressMustPointOut', 'errorMessage' => 'vbr has 0 or more than 1 subif ,point out peerIpAddress.', 'description' => 'You must set the PeerIpAddress parameter.'], ['errorCode' => 'InvalidParams.PeerIpAddressInUse', 'errorMessage' => 'peer ip address in use ,cannot create bgp peer.', 'description' => 'The peer IP address is being used. Therefore, you cannot use it to create a BGP peer.'], ['errorCode' => 'Duplicated.CidrBlock', 'errorMessage' => 'bgp network cidr already exists.', 'description' => ''], ['errorCode' => 'InvalidIP.IpInSnatPool', 'errorMessage' => 'Multi ip in snat pool cannot remove ip from bandwidth package.', 'description' => ''], ['errorCode' => 'InvalidDestCidrBlock.Malformed', 'errorMessage' => 'Specified dstCidrBlock is not valid.', 'description' => ''], ['errorCode' => 'IllegalParam.ConflictWithDClass', 'errorMessage' => 'DClass IP can not support.', 'description' => ''], ['errorCode' => 'OperationFailed.PconnTrafficNotEnable', 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', 'description' => 'Billing for outbound data transfer is disabled.'], ['errorCode' => 'OperationFailed.NoActiveRouterInterface', 'errorMessage' => 'there\'s not active routerInterface,cannot add bgp network.', 'description' => ''], ['errorCode' => 'IllegalParamFormat.DstCidrBlock', 'errorMessage' => 'The format of the specified destination CIDR block is invalid.', 'description' => 'The error message returned because the format of the destination CIDR block is invalid.'], ['errorCode' => 'IllegalParam.IpVersion', 'errorMessage' => 'The parameter of IpVersion is illegal.', 'description' => ''], ['errorCode' => 'IllegalParam.ipVersion', 'errorMessage' => 'The IP version does not match.', 'description' => 'The operation failed because the IP version does not match.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ], ], 'title' => 'Advertise a BGP network', 'changeSet' => [ ['createdAt' => '2025-03-19T10:32:30.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-07-29T02:44:51.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-17T10:03:13.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddBgpNetwork'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:AddBgpNetwork', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9C7FA9D6-72E0-48A9-A9C3-2DA8569CD5EB\\"\\n}","type":"json"}]', ], 'AddCommonBandwidthPackageIp' => [ 'summary' => 'Associates an elastic IP address (EIP) with an Internet Shared Bandwidth instance.', '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' => ['type' => 'string', 'description' => 'The region ID of the Internet Shared Bandwidth instance.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) API to obtain the region ID.', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'BandwidthPackageId', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => 'The ID of the Internet Shared Bandwidth instance.', 'required' => true, 'docRequired' => true, 'example' => 'cbwp-2ze2ic1xd2qeqasdf****', 'title' => ''], ], [ 'name' => 'IpInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => 'The ID of the EIP instance.'."\n" ."\n" .'You can call the [DescribeEipAddresses](~~36018~~) API to query the ID of the EIP instance.', 'required' => true, 'docRequired' => true, 'example' => 'eip-2zeerraiwb7uqwed****', 'title' => ''], ], [ 'name' => 'IpType', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => 'The IP type. Valid value: **EIP**, which indicates that an EIP is added to the Internet Shared Bandwidth instance.', 'required' => false, 'default' => 'EIP', 'example' => 'EIP', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => 'The client token used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a unique value for this parameter from your client to ensure uniqueness across different requests. ClientToken supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** is different for each API request.', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Performs a dry run without actually executing the operation. ', 'title' => 'Performs a dry run without actually executing the operation. ', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'Returns a list of requests.', 'type' => 'object', 'properties' => [ 'RequestId' => ['type' => 'string', 'description' => 'The request ID.', 'example' => '01FDDD49-C4B7-4D2A-A8E5-A93915C450A6', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationDenied.SecurityProtectionTypesInconsistent', 'errorMessage' => 'The operation is not allowed because of SecurityProtectionTypesInconsistent.', 'description' => ''], ['errorCode' => 'IpInstanceId.AlreadyInBandwidthPackage', 'errorMessage' => 'The specified Eip InstanceId already in bandwidthPackage.', 'description' => 'The specified Eip InstanceId already in bandwidthPackage.'], ['errorCode' => 'IpInstanceId.BizStatusInvalid', 'errorMessage' => 'The specified Eip BizStatus is Disable, Cannot add to bandwidthPackage.', 'description' => ''], ['errorCode' => 'IpInstanceId.ChargeType.NotSupport', 'errorMessage' => 'The specified Eip instance is PrePaid type, Cannot add to BandwidthPackage.', 'description' => ''], ['errorCode' => 'BandwidthPackageId.InvalidBizStatus', 'errorMessage' => 'The specified BandwidthPackageId has been FinancialLocked, Cannot add Ip.', 'description' => ''], ['errorCode' => 'IpInstanceId.QuotaExceeded', 'errorMessage' => 'The specified BandwidthPackageId has too many ip in it. exceed the quota , Cannot add more.', 'description' => ''], ['errorCode' => 'EipOperation.TooFrequently', 'errorMessage' => 'The specified Eip add into bandwidthPackage too frequently. please add later.', 'description' => ''], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent, TaskConflict.', 'description' => 'The system is unavailable. Try again later.'], ['errorCode' => 'IncorrectStatus.Eip', 'errorMessage' => 'Eip status error.', 'description' => ''], ['errorCode' => 'OperationUnsupported.IpType', 'errorMessage' => 'Ip type does not support the operation.', 'description' => ''], ['errorCode' => 'ParamExclusive.IpInstanceIdAndBandwidthPackageId', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidBandwidthPackage.NotExist', 'errorMessage' => 'Eip bandwidth package not exist.', 'description' => ''], ['errorCode' => 'OperationFailed.DistibuteLock', 'errorMessage' => 'Distibute lock fail.', 'description' => 'The operation is locked by another request;'], ['errorCode' => 'OperationFailed.ZoneIdInconsistent', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'AttrMismatching.BandwidthPackageIpVersion', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidBandwidthPackageId.NotFound', 'errorMessage' => 'The specified BandwidthPackageId not exist.', 'description' => ''], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The InstanceId is not found.', 'description' => 'The InstanceId is not found.'], ['errorCode' => 'InvalidEIPStatus.BizDisabled', 'errorMessage' => 'The EIP has been locked.', 'description' => 'The error message returned because the EIP is locked.'], ['errorCode' => 'Forbidden.FinancialLocked', 'errorMessage' => 'The ip business status is invalid.', 'description' => 'The error message returned because the instance has overdue payments.'], ['errorCode' => 'Mismatch.CloudBoxCbwpZoneAndEipZone', 'errorMessage' => 'The CbwpZone and EipZone are mismatched.', 'description' => 'The EIP bandwidth plan of the cloud box does not match the zone of the EIP.'], ['errorCode' => 'MissingParam.BandwidthPackageId', 'errorMessage' => 'The parameter bandwidthPackageId is mandatory.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidBandwidthPackageId.NotFound', 'errorMessage' => 'The specified bandwidthPackageId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidIpInstanceId.NotFound', 'errorMessage' => 'The specified Eip InstanceId does not exist in our records.', 'description' => ''], ['errorCode' => 'IpInstanceId.InvalidIpInternetChargeType', 'errorMessage' => 'The hybrid type eip not support add into bandwidthPackage of PayBytraffic type.', 'description' => ''], ['errorCode' => 'BandwidthPackageId.InvalidBandwidth', 'errorMessage' => 'The hybrid type eip can not add into low bandwidth bandwidthPackage.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"01FDDD49-C4B7-4D2A-A8E5-A93915C450A6\\"\\n}","type":"json"}]', 'title' => 'AddCommonBandwidthPackageIp', 'description' => 'Before invoking this API, note the following:'."\n" .'- The EIP must meet the following conditions when you add it to an Internet Shared Bandwidth instance by using this API:'."\n" .' - The metering method of the EIP is pay-as-you-go.'."\n" .' - The Region of the EIP is the same as that of the Internet Shared Bandwidth instance to which you want to add the EIP.'."\n" .' - The line type of the EIP matches the line type of the Internet Shared Bandwidth instance.'."\n" .'- The **AddCommonBandwidthPackageIp** API is asynchronous. After you invoke this API, the system immediately returns a RequestId, but the EIP is not yet successfully added to the Internet Shared Bandwidth instance. The system continues to process the addition task in the background. You can call the [DescribeCommonBandwidthPackages](~~120309~~) API to query the association status between the Internet Shared Bandwidth instance and the EIP.'."\n" .' - If the association status is **BINDING**, the Internet Shared Bandwidth instance and the EIP are being associated. In this state, you can only perform query operations and cannot perform other operations.'."\n" ."\n" .' - If the association status is **BINDED**, the association between the Internet Shared Bandwidth instance and the EIP is complete.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-08-08T02:41:57.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-29T10:25:34.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'translator' => 'machine', ], 'AddCommonBandwidthPackageIps' => [ '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' => 'The region ID of the Internet Shared Bandwidth instance.'."\n" ."\n" .'You can call the [DescribeRegions](~~448570~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'BandwidthPackageId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet Shared Bandwidth instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cbwp-2ze2ic1xd2qeqasdf****', 'title' => ''], ], [ 'name' => 'IpType', 'in' => 'query', 'schema' => ['description' => 'The IP type. Set the value to **EIP**, which indicates that an EIP is added to the Shared Bandwidth.'."\n", 'type' => 'string', 'required' => false, 'default' => 'EIP', 'example' => 'EIP', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'IpInstanceIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of EIPs that you want to associate with the Internet Shared Bandwidth instance.'."\n" ."\n" .'You can specify at most 10 EIP IDs at a time.'."\n", 'type' => 'array', 'items' => ['description' => 'The list of EIPs that you want to associate with the Internet Shared Bandwidth instance.'."\n" ."\n" .'You can specify at most 10 EIP IDs at a time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'eip-2zeerraiwb7uqwed****', 'title' => ''], 'required' => true, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '01FDDD49-C4B7-4D2A-A8E5-A93915C450A6', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationDenied.SecurityProtectionTypesInconsistent', 'errorMessage' => 'The operation is not allowed because of SecurityProtectionTypesInconsistent.', 'description' => ''], ['errorCode' => 'InvalidIpInstanceId.NotFound', 'errorMessage' => 'The specified Eip InstanceId does not exist in our records.', 'description' => 'The specified EIP does not exist.'], ['errorCode' => 'EIP_ALREADY_IN_BANDWIDTHPACKAGE', 'errorMessage' => 'The Eip already in bandwidthPackage.', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => 'The specified region ID does not exist.'], ['errorCode' => 'InvalidBandwidthPackageId.NotFound', 'errorMessage' => 'The specified bandwidthPackageId does not exist in our records.', 'description' => 'The ID of the specified EIP bandwidth plan does not exist.'], ['errorCode' => 'IpInstanceId.AlreadyInBandwidthPackage', 'errorMessage' => 'The specified Eip InstanceId already in bandwidthPackage.', 'description' => 'The specified Eip InstanceId already in bandwidthPackage.'], ['errorCode' => 'IpInstanceId.BizStatusInvalid', 'errorMessage' => 'The specified Eip BizStatus is Disable, Cannot add to bandwidthPackage.', 'description' => ''], ['errorCode' => 'IpInstanceId.ChargeType.NotSupport', 'errorMessage' => 'The specified Eip instance is PrePaid type, Cannot add to BandwidthPackage.', 'description' => ''], ['errorCode' => 'BandwidthPackageId.InvalidBizStatus', 'errorMessage' => 'The specified BandwidthPackageId has been FinancialLocked, Cannot add Ip.', 'description' => ''], ['errorCode' => 'IpInstanceId.QuotaExceeded', 'errorMessage' => 'The specified BandwidthPackageId has too many ip in it. exceed the quota , Cannot add more.', 'description' => ''], ['errorCode' => 'EipOperation.TooFrequently', 'errorMessage' => 'The specified Eip add into bandwidthPackage too frequently. please add later.', 'description' => ''], ['errorCode' => 'IpInstanceId.InvalidIpInternetChargeType', 'errorMessage' => 'The hybrid type eip not support add into bandwidthPackage of PayBytraffic type.', 'description' => ''], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent, TaskConflict.', 'description' => 'The system is unavailable. Try again later.'], ['errorCode' => 'IncorrectStatus.Eip', 'errorMessage' => 'Eip status error.', 'description' => ''], ['errorCode' => 'OperationUnsupported.IpType', 'errorMessage' => 'Ip type does not support the operation.', 'description' => ''], ['errorCode' => 'ParamExclusive.IpInstanceIdAndBandwidthPackageId', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidBandwidthPackage.NotExist', 'errorMessage' => 'Eip bandwidth package not exist.', 'description' => ''], ['errorCode' => 'OperationFailed.DistibuteLock', 'errorMessage' => 'Distibute lock fail.', 'description' => 'The operation is locked by another request;'], ['errorCode' => 'BandwidthPackageId.InvalidBandwidth', 'errorMessage' => 'The hybrid type eip can not add into low bandwidth bandwidthPackage.', 'description' => ''], ['errorCode' => 'OperationFailed.ZoneIdInconsistent', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'AttrMismatching.BandwidthPackageIpVersion', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidEIPStatus.BizDisabled', 'errorMessage' => 'The EIP has been locked.', 'description' => 'The error message returned because the EIP is locked.'], ['errorCode' => 'Forbidden.FinancialLocked', 'errorMessage' => 'The ip business status is invalid.', 'description' => 'The error message returned because the instance has overdue payments.'], ['errorCode' => 'Mismatch.CloudBoxCbwpZoneAndEipZone', 'errorMessage' => 'The CbwpZone and EipZone are mismatched.', 'description' => 'The EIP bandwidth plan of the cloud box does not match the zone of the EIP.'], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The InstanceId is not found.', 'description' => 'The InstanceId is not found.'], ['errorCode' => 'MissingParam.BandwidthPackageId', 'errorMessage' => 'The parameter bandwidthPackageId is mandatory.', 'description' => ''], ], ], 'title' => 'AddCommonBandwidthPackageIps', 'summary' => 'Associates multiple elastic IP addresses (EIPs) with an Internet Shared Bandwidth instance.', 'description' => '- 调用本接口批量添加EIP到共享带宽中时,EIP需满足以下条件:'."\n" .' - EIP的计费方式为按量付费。'."\n" .' - EIP的地域与要加入的共享带宽的地域相同。'."\n" .' - EIP的线路类型与要加入的共享带宽的线路类型一致。'."\n" .'- **AddCommonBandwidthPackageIps**接口属于异步接口,即系统会先返回一个请求ID,但EIP并未成功添加到共享带宽,系统后台的添加任务仍在进行。您可以调用[DescribeCommonBandwidthPackages](~~DescribeCommonBandwidthPackages~~)查询共享带宽和EIP的关联状态。 '."\n" .' - 当共享带宽和EIP的关联状态处于**BINDING**时,表示共享带宽与EIP关联中,在该状态下,您只能执行查询操作,不能执行其他操作。'."\n" .' - 当共享带宽和EIP的关联状态处于**BINDED**时,表示共享带宽与EIP关联完成。', 'changeSet' => [ ['createdAt' => '2024-01-17T06:52:59.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-08T02:41:57.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-26T06:23:11.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-29T10:25:34.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"01FDDD49-C4B7-4D2A-A8E5-A93915C450A6\\"\\n}","type":"json"}]', 'translator' => 'manual', ], 'AddGlobalAccelerationInstanceIp' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region of the shared-bandwidth GA instance.'."\n" ."\n" .'You can call the **DescribeRegions** operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'GlobalAccelerationInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the shared-bandwidth GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-Ldefrgbttnyyf****', 'title' => ''], ], [ 'name' => 'IpInstanceId', 'in' => 'query', 'schema' => ['description' => 'The EIP ID. You can call the [DescribeEipAddresses](~~36018~~) operation to query EIP IDs.'."\n" ."\n" .'> Make sure that the billing method of the EIP is pay-as-you-go, and the EIP and the shared-bandwidth GA instance belong to the same region.'."\n", 'type' => 'string', 'required' => true, 'example' => 'eip-rw434rwfdeaf****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '01FDDD49-C4B7-4D2A-A8E5-A93915C450A6', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IpInstanceId.AlreadyInBandwidthPackage', 'errorMessage' => 'The specified Eip InstanceId already in bandwidthPackage.', 'description' => 'The specified Eip InstanceId already in bandwidthPackage.'], ['errorCode' => 'IpInstanceId.BizStatusInvalid', 'errorMessage' => 'The specified Eip BizStatus is Disable, Cannot add to bandwidthPackage.', 'description' => ''], ['errorCode' => 'IpInstanceId.ChargeType.NotSupport', 'errorMessage' => 'The specified Eip instance is PrePaid type, Cannot add to BandwidthPackage.', 'description' => ''], ['errorCode' => 'BandwidthPackageId.InvalidBizStatus', 'errorMessage' => 'The specified BandwidthPackageId has been FinancialLocked, Cannot add Ip.', 'description' => ''], ['errorCode' => 'IpInstanceId.QuotaExceeded', 'errorMessage' => 'The specified BandwidthPackageId has too many ip in it. exceed the quota , Cannot add more.', 'description' => ''], ['errorCode' => 'EipOperation.TooFrequently', 'errorMessage' => 'The specified Eip add into bandwidthPackage too frequently. please add later.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidBandwidthPackageId.NotFound', 'errorMessage' => 'The specified bandwidthPackageId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidIpInstanceId.NotFound', 'errorMessage' => 'The specified Eip InstanceId does not exist in our records.', 'description' => ''], ['errorCode' => 'IpInstanceId.InvalidIpInternetChargeType', 'errorMessage' => 'The hybrid type eip not support add into bandwidthPackage of PayBytraffic type.', 'description' => ''], ['errorCode' => 'IpInstanceId.StatusNotAvailable', 'errorMessage' => 'The specified Eip Status is not Available, Cannot add to GlobalAcceleration.', 'description' => ''], ], ], 'title' => 'AddGlobalAccelerationInstanceIp', 'summary' => 'Associates an elastic IP address (EIP) with a shared-bandwidth Global Accelerator (GA) instance.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddGlobalAccelerationInstanceIp'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AddGlobalAccelerationInstanceIp', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], '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}"}]', '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' => 'The region ID of the ACL.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'AclId', 'in' => 'query', 'schema' => ['description' => 'The ID of the ACL to which you want to add the IP entry.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ipv6transacl-bp1dcdvfe2****', 'title' => ''], ], [ 'name' => 'AclEntryIp', 'in' => 'query', 'schema' => ['description' => 'The IPv6 address or IPv6 CIDR block that you want to add to the ACL entry, for example, 12XX:0:0:XXXX::0102 or 12XX:0:0:XXXX::/60.'."\n", 'type' => 'string', 'required' => true, 'example' => '12XX:0:0:XXXX::0102', 'title' => ''], ], [ 'name' => 'AclEntryComment', 'in' => 'query', 'schema' => ['description' => 'The remarks of the ACL entry.'."\n" ."\n" .'It must be 2 to 100 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). It must start with a letter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'clientIP1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'AclEntryId' => ['description' => 'The ID of the ACL entry.'."\n", 'type' => 'string', 'example' => 'ipv6transaclentry-bp105jrs****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '8B2F5262-6B57-43F2-defr345', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidIpAddress.WrongFormat', 'errorMessage' => 'The specified entry ip address is invalid.', 'description' => ''], ['errorCode' => 'InvalidIPv6TranslatorAclId.NotFound', 'errorMessage' => 'The specified ipv6 translator acl instance id does not exist.', 'description' => ''], ['errorCode' => 'InvalidEntryComment', 'errorMessage' => 'The specified value of comment not supported.', 'description' => ''], ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], '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' => 'AddIPv6TranslatorAclListEntry', 'summary' => 'Adds an IP entry to an access control list (ACL).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AddIPv6TranslatorAclListEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#Ipv6TranslatorId}'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddIPv6TranslatorAclListEntry'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'AddPublicIpAddressPoolCidrBlock' => [ 'summary' => 'Adds a CIDR block to an IP address pool.', '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' => 'The ID of the IP address pool.'."\n", 'type' => 'string', 'required' => true, 'example' => 'pippool-6wetvn6fumkgycssx****', 'title' => ''], ], [ 'name' => 'CidrBlock', 'in' => 'query', 'allowEmptyValue' => false, 'schema' => ['description' => 'The CIDR block.'."\n" ."\n" .'> You can specify only one of **CidrBlock** and **CidrMask**.'."\n", 'type' => 'string', 'required' => false, 'example' => '47.0.XX.XX/24', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IP address pool to which you want to add the CIDR block.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-chengdu', 'title' => ''], ], [ 'name' => 'CidrMask', 'in' => 'query', 'allowEmptyValue' => false, 'schema' => ['description' => 'The subnet mask of the CIDR block. After you enter the subnet mask, the system automatically allocates IP addresses.'."\n" ."\n" .'Valid values: **24** to **28**.'."\n" ."\n" .'> You can specify only one of **CidrBlock** and **CidrMask**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '24', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], 'CidrBlock' => ['description' => 'The CIDR block.'."\n", 'type' => 'string', 'example' => '47.0.XX.XX/28', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.CidrBlock', 'errorMessage' => 'The param of CidrBlock [%s] is illegal.', 'description' => 'The CidrBlock parameter is set to an invalid value.'], ['errorCode' => 'IllegalParam.CidrBlockMask', 'errorMessage' => 'The param of CidrBlock Mask [%s] is illegal.', 'description' => 'The subnet mask of the CIDR block is invalid.'], ['errorCode' => 'IncorrectStatus.PublicIpAddressPool', 'errorMessage' => 'The status of PublicIpAddressPool [%s] is incorrect.', 'description' => ''], ['errorCode' => 'OperationDenied.CidrBlockBelongToOtherUser', 'errorMessage' => 'The operation is not allowed because of CidrBlock belong to other user.', 'description' => ''], ['errorCode' => 'ResourceNotFound.PublicIpAddressPool', 'errorMessage' => 'The specified resource ofPublicIpAddressPool [%s] is not found.', 'description' => ''], ['errorCode' => 'QuotaExceeded.PoolIpQuantity', 'errorMessage' => 'The quota of PoolIpQuantity is exceeded.', 'description' => 'The number of IP addresses in the pool has reached the upper limit.'], ['errorCode' => 'OperationDenied.OperateSharedResource', 'errorMessage' => 'The operation is not allowed because of the PublicIpAddressPool is a shared resource.', 'description' => 'The public IP address pool is a shared resource and cannot be modified.'], ['errorCode' => 'MissingParam.CidrBlockOrCidrMask', 'errorMessage' => 'CidrBlock or CidrMask is not specified.', 'description' => 'The system failed to add the CIDR block to the address pool because the CIDR block or the subnet mask is not specified.'], ['errorCode' => 'DuplicatedParam.CidrBlockAndCidrMask', 'errorMessage' => 'CidrBlock and CidrMask cannot be specified at the same time.', 'description' => 'The system failed to add the CIDR block to the address pool because you cannot specify the CIDR block and the subnet mask at the same time.'], ['errorCode' => 'Forbidden.FinancialLocked', 'errorMessage' => 'The instance is locked due to outstanding payments.', 'description' => 'The instance has overdue payments.'], ['errorCode' => 'ResourceNotEnough.CidrBlock', 'errorMessage' => 'The specified resource is not enough.', 'description' => 'The specified resource is not enough.'], ['errorCode' => 'MissingParam.PublicIpAddressPoolId', 'errorMessage' => 'The parameter PublicIpAddressPoolId is missing.', 'description' => 'The parameter PublicIpAddressPoolId is missing.'], ['errorCode' => 'OperationFailed.ResourceNotEnough', 'errorMessage' => 'Insufficient resources.', 'description' => 'The resources that you request are insufficient. If you still want to request the resources, submit a ticket.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::ListPublicIpAddressPoolCidrBlocks', 'callbackInterval' => 3000, 'maxCallbackTimes' => 3], 'title' => 'AddPublicIpAddressPoolCidrBlock', 'description' => 'Before you call this operation, take note of the following limits:'."\n" ."\n" .'* The CIDR block and the IP address pool must belong to the same region.'."\n" ."\n" .'* The CIDR block and the IP address pool must use the same line type.'."\n" ."\n" .'* **AddPublicIpAddressPoolCidrBlock** 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 [ListPublicIpAddressPoolCidrBlocks](~~429436~~) operation to query the status of the task.'."\n" ."\n" .' * If the CIDR block is in the **Modifying** state, the CIDR block is being added. In this state, you can only query the CIDR block and cannot perform other operations.'."\n" .' * If the CIDR block is in the **Created** state, the CIDR block is added.'."\n" ."\n" .'* You cannot repeatedly call the **AddPublicIpAddressPoolCidrBlock** operation to add a CIDR block to an IP address pool within the specified period of time.'."\n", 'changeSet' => [ ['createdAt' => '2025-05-26T11:37:09.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-07-29T03:10:07.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-05-27T11:37:27.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-03-14T07:09:57.000Z', 'description' => 'Response parameters changed, Response parameters changed'], ['createdAt' => '2022-11-24T13:02:53.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], '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' => '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 ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** value as the **ClientToken** value. The **RequestId** value may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run. The system checks the required parameters, request syntax, and limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" ."\n" .'- **false** (default): performs a dry run and sends the request. If the request passes the dry run, the traffic mirror source is added.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'TrafficMirrorSessionId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the traffic mirror session to which you want to increase traffic mirror sources.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tms-j6cla50buc44ap8tu****', 'title' => ''], ], [ 'name' => 'TrafficMirrorSourceIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The instance ID of the traffic mirror source to increase. Currently, only elastic network interfaces (ENIs) are supported as traffic mirror sources. The default value of **N** is **1**, which indicates that you can add only one traffic mirror source to a traffic mirror session.', 'type' => 'array', 'items' => ['description' => 'The instance ID of the traffic mirror source to increase. Currently, only elastic network interfaces (ENIs) are supported as traffic mirror sources. The default value of **N** is **1**, which indicates that you can add only one traffic mirror source to a traffic mirror session.', 'type' => 'string', 'required' => false, 'example' => 'eni-j6c8znm5l1yt4sox****', 'title' => ''], 'required' => true, 'docRequired' => true, 'example' => 'eni-j6ccmrl8z3xkvxgw****', 'maxLength' => 128, 'maxItems' => 30, 'title' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the traffic mirror session.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n" ."\n" .'For more information about the regions that support traffic mirroring, see [Traffic mirroring overview](~~207513~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hongkong', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '87F70089-5B38-41A8-BAD8-0B55E2F8DC57', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectBusinessStatus.TrafficMirror', 'errorMessage' => 'The business status of traffic mirror is incorrect.', 'description' => 'Traffic mirroring is in an invalid state.'], ['errorCode' => 'OptInRequired.TrafficMirror', 'errorMessage' => 'You need to subscribe to the traffic mirror service first.', 'description' => 'Traffic mirroring is disabled.'], ['errorCode' => 'DuplicatedParam.SourceInstanceIds', 'errorMessage' => 'The parameter of source instance IDs contains duplicate values.', 'description' => 'Duplicate values are set for TrafficMirrorSourceIds.N.'], ['errorCode' => 'ResourceNotFound.TrafficMirrorSession', 'errorMessage' => 'The specified resource of traffic mirror session is not found.', 'description' => ''], ['errorCode' => 'IncorrectStatus.TrafficMirrorSession', 'errorMessage' => 'The status of traffic mirror session is incorrect.', 'description' => ''], ['errorCode' => 'ResourceAlreadyAssociated.TrafficMirrorSource', 'errorMessage' => 'The specified traffic mirror source and session are already associated.', 'description' => ''], ['errorCode' => 'ResourceNotFound.NetworkInterface', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The error message returned because NetworkInterface is set to an invalid value.'], ['errorCode' => 'ResourceNotFound.EcsInstance', 'errorMessage' => 'The specified resource of ECS instance is not found.', 'description' => ''], ['errorCode' => 'OperationDenied.EcsNotSupportTrafficMirror', 'errorMessage' => 'The ECS instance does not support traffic mirroring.', 'description' => ''], ['errorCode' => 'OperationDenied.DuplicateRole', 'errorMessage' => 'The network interface must not be the source and the target of traffic mirror sessions at the same time.', 'description' => ''], ['errorCode' => 'QuotaExceeded.NetworkInterfaceRelatedSession', 'errorMessage' => 'The quota of the number of traffic mirror sessions related to one network interface is exceeded.', 'description' => 'The number of traffic mirror sessions associated with an ENI has reached the upper limit.'], ['errorCode' => 'OperationDenied.FreeNetworkInterface', 'errorMessage' => 'The network interface is not attached to any ECS instance.', 'description' => 'The ENI is not associated with an ECS instance.'], ['errorCode' => 'QuotaExceeded.SourceNumPerSession', 'errorMessage' => 'The quota of the number of traffic mirror sources per session is exceeded.', 'description' => 'The number of traffic mirror sources associated with a traffic mirror session has reached the upper limit.'], ['errorCode' => 'QuotaExceeded.SourceNumPerTarget', 'errorMessage' => 'The maximum number of traffic mirror sources for a target is exceeded.', 'description' => 'The number of traffic mirror sources associated with the image exceeds the upper limit.'], ['errorCode' => 'OperationUnsupported.BondingNetworkInterface', 'errorMessage' => 'The specified traffic mirror source is bonding eni without slave.', 'description' => 'The operation does not support a bond ENI without a slave ENI.'], ['errorCode' => 'OperationDenied.UnsupportedTargetType', 'errorMessage' => 'Traffic mirror target must be SLB if traffic mirror sources contain nat gateway network interface.', 'description' => 'When a NAT gateway NIC exists in the traffic mirroring source, the traffic mirroring purpose must be SLB type.'], ['errorCode' => 'OperationDenied.InvalidSourceBondEniType', 'errorMessage' => 'The traffic mirroring source does not support the entered bond ENI type.', 'description' => 'The traffic mirroring source does not support the entered bond ENI type.'], ], ], 'title' => 'Add traffic mirror sources to a traffic mirror session', 'summary' => 'Adds traffic mirror sources to a traffic mirror session by calling the AddSourcesToTrafficMirrorSession operation.', 'description' => '- **AddSourcesToTrafficMirrorSession** is an asynchronous operation. After a request is sent, the system returns a request ID. However, the traffic mirror source is not yet added, and the addition task is still running in the background. You can call [ListTrafficMirrorSessions](~~261367~~) to query the status of the traffic mirror source addition:'."\n" .' - If the traffic mirror session is in the **Modifying** state, the traffic mirror source is being added.'."\n" .' - If the traffic mirror session is in the **Created** state, the traffic mirror source is added.'."\n" .'- **AddSourcesToTrafficMirrorSession** does not support concurrent requests to add traffic mirror sources to the same traffic mirror session.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-02-08T09:45:32.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-01-15T05:37:07.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-03T05:30:57.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-18T07:25:12.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-05T07:33:20.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-06-25T06:28:07.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-16T08:04:23.000Z', 'description' => 'Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddSourcesToTrafficMirrorSession'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:AddSourcesToTrafficMirrorSession', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorSession', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorsession/{#TrafficMirrorSessionId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"87F70089-5B38-41A8-BAD8-0B55E2F8DC57\\"\\n}","type":"json"}]', ], 'AllocateEipAddress' => [ 'summary' => 'Applies for an 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' => 'The region ID of the EIP.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'enumValueTitles' => ['cn-beijing' => 'cn-beijing'], 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => '', ], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The maximum bandwidth of the EIP. Unit: Mbit/s.'."\n" ."\n" .'- When **InstanceChargeType** is set to **PostPaid** and **InternetChargeType** is set to **PayByBandwidth**, valid values of **Bandwidth** are **1** to **500**.'."\n" ."\n" .'- When **InstanceChargeType** is set to **PostPaid** and **InternetChargeType** is set to **PayByTraffic**, valid values of **Bandwidth** are **1** to **200**.'."\n" ."\n" .'- When **InstanceChargeType** is set to **PrePaid**, valid values of **Bandwidth** are **1** to **1000**.'."\n" ."\n" .'Default value: **5** Mbit/s.', 'type' => 'string', 'required' => false, 'example' => '5', 'title' => ''], ], [ 'name' => 'Period', 'in' => 'query', 'schema' => ['description' => 'The subscription duration.'."\n" ."\n" .'When **PricingCycle** is set to **Month**, valid values of **Period** are **1** to **9**.'."\n" ."\n" .'When **PricingCycle** is set to **Year**, valid values of **Period** are **1** to **5**.'."\n" ."\n" .'This parameter is required when **InstanceChargeType** is set to **PrePaid**. This parameter is not required when **InstanceChargeType** is set to **PostPaid**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'ISP', 'in' => 'query', 'schema' => ['description' => 'The line type. Valid values:'."\n" .'- **BGP** (default): BGP (multi-ISP) line. All regions support BGP (multi-ISP) EIPs.'."\n" .'- **BGP_PRO**: BGP (multi-ISP) Pro line. Only Hong Kong (China), Singapore, Tokyo (Japan), Kuala Lumpur (Malaysia), Manila (Philippines), Jakarta (Indonesia), and Bangkok (Thailand) regions support BGP (multi-ISP) Pro EIPs.'."\n" ."\n" .'For more information about BGP (multi-ISP) and BGP (multi-ISP) Pro lines, see [EIP line types](~~32321~~).'."\n" ."\n" .'- If you are a whitelist user of single-ISP bandwidth, you can also select the following types:'."\n" .' - **ChinaTelecom**: China Telecom'."\n" .' - **ChinaUnicom**: China Unicom'."\n" .' - **ChinaMobile**: China Mobile'."\n" .' - **ChinaTelecom_L2**: China Telecom L2'."\n" .' - **ChinaUnicom_L2**: China Unicom L2'."\n" .' - **ChinaMobile_L2**: China Mobile L2'."\n" .'- If you are a China (Hangzhou) Finance Cloud user, this parameter is required and must be set to **BGP_FinanceCloud**.', 'type' => 'string', 'required' => false, 'example' => 'BGP', 'title' => ''], ], [ 'name' => 'ActivityId', 'in' => 'query', 'schema' => ['description' => 'The special activity ID. You do not need to configure this parameter.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '123456', 'title' => ''], ], [ 'name' => 'Netmode', 'in' => 'query', 'schema' => ['description' => 'The network type. The value is **public** (default), which specifies the public network.', 'type' => 'string', 'required' => false, 'example' => 'public', 'title' => ''], ], [ 'name' => 'AutoPay', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable automatic payment. Valid values:'."\n" ."\n" .'- **false** (default): Automatic payment is disabled. After an order is generated, go to the Order Center to complete the payment.'."\n" ."\n" .'- **true**: Automatic payment is enabled. The order is automatically paid.'."\n" ."\n" .'This parameter is required when **InstanceChargeType** is set to **PrePaid**. This parameter is optional when **InstanceChargeType** is set to **PostPaid**.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'PricingCycle', 'in' => 'query', 'schema' => ['description' => 'The billing cycle of the subscription. Valid values:'."\n" .'- **Month** (default): billed on a monthly basis.'."\n" .'- **Year**: billed on a yearly basis.'."\n" ."\n" .'This parameter is required when **InstanceChargeType** is set to **PrePaid**. This parameter is optional when **InstanceChargeType** is set to **PostPaid**.', 'type' => 'string', 'required' => false, 'example' => 'Month', 'title' => ''], ], [ 'name' => 'InstanceChargeType', 'in' => 'query', 'schema' => ['description' => 'The billing method of the EIP. Valid values:'."\n" .' '."\n" .'- **PrePaid**: subscription.'."\n" ."\n" .'- **PostPaid** (default): pay-as-you-go.'."\n" ."\n" .'When **InstanceChargeType** is set to **PrePaid**, **InternetChargeType** must be set to **PayByBandwidth**. When **InstanceChargeType** is set to **PostPaid**, **InternetChargeType** can be set to **PayByBandwidth** or **PayByTraffic**.', 'type' => 'string', 'required' => false, 'example' => 'PostPaid', 'title' => ''], ], [ 'name' => 'InternetChargeType', 'in' => 'query', 'schema' => ['description' => 'The metering method of the EIP. Valid values:'."\n" ."\n" .'- **PayByBandwidth** (default): pay-by-bandwidth.'."\n" ."\n" .'- **PayByTraffic**: pay-by-data-transfer.'."\n" ."\n" .'When **InstanceChargeType** is set to **PrePaid**, **InternetChargeType** must be set to **PayByBandwidth**.'."\n" ."\n" .'When **InstanceChargeType** is set to **PostPaid**, **InternetChargeType** can be set to **PayByBandwidth** or **PayByTraffic**.', 'type' => 'string', 'required' => false, 'default' => 'PayByBandwidth', 'example' => 'PayByTraffic', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazffggds****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a parameter value from your client to ensure uniqueness across different requests. **ClientToken** supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the EIP instance.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.'."\n" ."\n" .'> This parameter is not supported when you create a subscription EIP instance.', 'type' => 'string', 'required' => false, 'example' => 'EIP1', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the EIP instance.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.'."\n" .'> This parameter is not supported when you create a subscription EIP instance.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'SecurityProtectionTypes', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The security protection level.'."\n" ."\n" .'- If this parameter is left empty, the default value is Anti-DDoS Origin Basic.'."\n" ."\n" .'- If this parameter is set to **AntiDDoS_Enhanced**, Anti-DDoS Origin Enterprise is used.'."\n" ."\n" .'You can specify at most one security protection level.', 'type' => 'array', 'items' => ['description' => 'The security protection level.'."\n" ."\n" .'- If this parameter is left empty, the default value is Anti-DDoS Origin Basic.'."\n" ."\n" .'- If this parameter is set to **AntiDDoS_Enhanced**, Anti-DDoS Origin Enterprise is used.', 'type' => 'string', 'required' => false, 'example' => 'AntiDDoS_Enhanced', 'title' => ''], 'required' => false, 'example' => 'AntiDDoS_Enhanced', 'maxItems' => 10, 'title' => '', ], ], [ 'name' => 'PublicIpAddressPoolId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IP address pool.'."\n" ."\n" .'The EIP is allocated from the specified IP address pool.'."\n" ."\n" .'The IP address pool feature is not available by default. To use this feature, apply for the IP address pool privilege quota in Quota Center. For more information, see [Increase a quota in Quota Center](~~108213~~).', 'type' => 'string', 'required' => false, 'example' => 'pippool-2vc0kxcedhquybdsz****', 'title' => ''], ], [ 'name' => 'Zone', 'in' => 'query', 'schema' => ['description' => 'The zone of the EIP.'."\n" ."\n" .'When the IP address pool specified by **PublicIpAddressPoolId** is of the CloudBox type, this parameter defaults to the zone of the IP address pool.'."\n" ."\n" .'For information about how to view the business type of an IP address pool, see [ListPublicIpAddressPools](~~429098~~).', 'type' => 'string', 'required' => false, 'example' => 'ap-southeast-1-lzdvn-cb', 'title' => ''], ], [ 'name' => 'IpAddress', 'in' => 'query', 'schema' => ['description' => 'The IP address of the EIP that you want to apply for.'."\n" ."\n" .'You need to specify only one of **IpAddress** and **InstanceId**. If neither is specified, the system randomly allocates an EIP.', 'type' => 'string', 'required' => false, 'example' => '192.0.XX.XX', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the EIP that you want to apply for.'."\n" ."\n" .'You need to specify only one of **IpAddress** and **InstanceId**. If neither is specified, the system randomly allocates an EIP.', 'type' => 'string', 'required' => false, 'example' => 'eip-25877c70gddh****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'A tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], 'Value' => ['description' => 'The tag value. Specify the value in the Tag.N.Value format. Valid values of N: 1 to 20. The tag value cannot be an empty string. The tag value can be up to 128 characters in length. It cannot start with aliyun or acs: and cannot contain http:// or https://.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], 'OrderId' => ['description' => 'The order ID. This parameter is returned when InstanceChargeType (the billing method of the EIP) is set to PrePaid (subscription). If AutoPay (automatic payment) is not enabled, go to the [Order Center](https://usercenter2.aliyun.com/order/list) to complete the payment.'."\n" .'This parameter is returned when InstanceChargeType (the billing method of the EIP) is set to PrePaid (subscription). If AutoPay (automatic payment) is not enabled, go to the [Order Center](https://usercenter2-intl.aliyun.com/order/list) to complete the payment.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], 'ResourceGroupId' => ['description' => 'The resource group ID. This parameter is returned only when **InstanceChargeType** is set to **PostPaid**.', 'type' => 'string', 'example' => 'rg-acfmxazfdgdg****', 'title' => ''], 'EipAddress' => ['description' => 'The allocated EIP. This parameter is returned only when **InstanceChargeType** is set to **PostPaid**.', 'type' => 'string', 'example' => '192.0.XX.XX', 'title' => ''], 'AllocationId' => ['description' => 'The ID of the EIP instance.', 'type' => 'string', 'example' => 'eip-25877c70gddh****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'QuotaExceeded.Eip', 'errorMessage' => 'Elastic IP address quota exceeded', 'description' => ''], ['errorCode' => 'InsufficientBalance', 'errorMessage' => 'Your account does not have enough balance.', 'description' => ''], ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Specified value of "InternetChargeType" is not valid', 'description' => ''], ['errorCode' => 'ReserveIpFail', 'errorMessage' => 'Reserve eip failed.', 'description' => ''], ['errorCode' => 'InvalidRegion.NotSupport', 'errorMessage' => 'The specified region does not support.', 'description' => ''], ['errorCode' => 'InvalidBandwidth.Malformed', 'errorMessage' => 'The specified Bandwidth is invalid.', 'description' => ''], ['errorCode' => 'INSTANCE_TYPE_NOT_SUPPORT', 'errorMessage' => 'The instance type is invalid.', 'description' => ''], ['errorCode' => 'QueryParameter.Illegal', 'errorMessage' => 'query parameter illegal', 'description' => ''], ['errorCode' => 'QuotaExceeded.LargeSpecEip', 'errorMessage' => 'Elastic IP address with large spec quota exceeded.', 'description' => ''], ['errorCode' => 'InvalidResourceGroupId', 'errorMessage' => 'The specified ResourceGroupId does not exist.', 'description' => 'The specified resource group ID does not exist.'], ['errorCode' => 'OperationFailed.InsufficientEIP', 'errorMessage' => 'Eip resource is not enough.', 'description' => ''], ['errorCode' => 'FrequentPurchase.EIP', 'errorMessage' => 'eip frequent purchase', 'description' => ''], ['errorCode' => 'IellgalParameter.OwnerAccount', 'errorMessage' => 'The specified parameter OwnerAccount is not valid.', 'description' => 'The specified parameter OwnerAccount is illegal.'], ['errorCode' => 'ResourceNotFound.PublicIpAddressPool', 'errorMessage' => 'The specified resource of PublicIpAddressPool is not found.', 'description' => ''], ['errorCode' => 'ResourceNotEnough.PublicIpAddressPool', 'errorMessage' => 'The specified resource of PublicIpAddressPool is not enough.', 'description' => ''], ['errorCode' => 'Mismatch.IpAndPublicIpAddressPool', 'errorMessage' => 'The Ip and PublicIpAddressPool are mismatched.', 'description' => ''], ['errorCode' => 'OperationDenied.NotOpenDdosOriginProtectService', 'errorMessage' => 'The operation is not allowed because of you do not open Ddos Origin Protection Service', 'description' => 'You can not create an anti-DDoS Enhanced EIP because you do not open Ddos Origin Protection Service.'], ['errorCode' => 'IncorrectStatus.PublicIpAddressPool', 'errorMessage' => 'The status of PublicIpAddressPool is incorrect.', 'description' => 'EIPs are not allowed to be allocated because the address pool is in an unstable state.'], ['errorCode' => 'IllegalParam.Isp', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The EIP cannot be allocated because the ISP is invalid.'], ['errorCode' => 'ExclusiveParam.ZoneAndPublicIpAddressPoolId', 'errorMessage' => 'The Zone and PublicIpAddressPoolId parameters are mutually exclusive.', 'description' => 'You cannot specify Zone and PublicIpAddressPoolId at the same time.'], ['errorCode' => 'IllegalParam.Zone', 'errorMessage' => 'The specified zone is invalid.', 'description' => 'Zone is set to an invalid value.'], ['errorCode' => 'OperationFailed.AllocateUnfamiliarIp', 'errorMessage' => 'The operation failed because only IP addresses used within the last seven days can be allocated.', 'description' => 'Only IP addresses used within the last seven days can be used to apply for EIP.'], ['errorCode' => 'Ip.Allocated', 'errorMessage' => 'The reserve ip has been allocated.', 'description' => 'Reserved IP addresses are already specified.'], ['errorCode' => 'IncorrectStatus.Ip', 'errorMessage' => 'The status of ip is incorrect.', 'description' => 'The status of the IP is incorrect.'], ['errorCode' => 'UnsupportedFeature.AllocateEipAddressWithZone', 'errorMessage' => 'The feature of AllocateEipAddressWithZone is not supported.', 'description' => 'You are not allowed to create an instance in a specified zone in the region.'], ['errorCode' => 'ResourceNotFound.Ip', 'errorMessage' => 'The specified ip is not found.', 'description' => 'The specified IP could not be found.'], ['errorCode' => 'OperationFailed.ResourceNotEnough', 'errorMessage' => 'The resources you have applied for are insufficient.', 'description' => 'The resources you have applied for are insufficient. If you still need to apply, please submit a work order for processing.'], ['errorCode' => 'IllegalParam.Bandwidth', 'errorMessage' => 'The param of bandwidth is illegal.', 'description' => 'The Bandwidth parameter is set to an invalid value.'], ['errorCode' => 'OperationFailed.IpIsLocked', 'errorMessage' => 'The operation is failed because of ip is locked.', 'description' => 'Your application failed because the IP address is locked.'], ['errorCode' => 'Mismatch.EipSecurityProtectionTypeAndPoolSecurityProtectionType', 'errorMessage' => 'The EipSecurityProtectionType and PoolSecurityProtectionType are mismatched.', 'description' => 'The EIP protection type does not match the address pool protection type.'], ['errorCode' => 'IllegalParam.SecurityProtectionTypes', 'errorMessage' => 'The param of securityProtectionTypes is illegal.', 'description' => 'The passed-in SecurityProtectionTypes parameter is invalid.'], ['errorCode' => 'IllegalParam.ServiceLocation', 'errorMessage' => 'The param of serviceLocation is illegal.', 'description' => 'The param of serviceLocation is illegal.'], ['errorCode' => 'UnsupportedFeature.Isp', 'errorMessage' => 'The feature of Isp is not supported.', 'description' => 'The ISP you specified is not currently supported.'], ['errorCode' => 'ExclusiveParam.ZoneAndIpAddress', 'errorMessage' => 'The specified param Zone and IpAddress or InstanceId are mutually exclusive.', 'description' => 'The specified input zone conflicts with the IpAddress or InstanceId'], ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'The Description is illeagl.', 'description' => 'The specified resource description is invalid. The description must be 2 to 256 characters in length and cannot start with http:// or https://.'], ['errorCode' => 'InvalidName.Malformed', 'errorMessage' => 'The attribute name is illegal.', 'description' => 'The value of the Name parameter is invalid.'], ['errorCode' => 'OperationFailed.UpgradeCdtServiceFirst', 'errorMessage' => 'The operation is failed because of cdt is not upgraded.', 'description' => 'The instance type you specified to purchase needs to be upgraded to CDT billing. Upgrade CDT and try again'], ['errorCode' => 'OperationFailed.TokenExpired', 'errorMessage' => 'The operation is failed because of TokenExpired.', 'description' => 'the specified eip allocation token has expired'], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeEipAddresses', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'Apply for an EIP', 'description' => 'Make sure that you are familiar with the billing methods and pricing of EIPs before you call this operation. For more information, see [Billing overview](~~122035~~).'."\n" ."\n" .'After you call this operation, an EIP in the **Available** state is randomly allocated in the specified region. EIPs support only ICMP, TCP, and UDP at the transport layer. IGMP and SCTP are not supported.', 'changeSet' => [ ['createdAt' => '2025-04-29T08:20:51.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-03-26T08:11:23.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-07-16T05:50:41.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-05-17T02:05:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-03-14T10:12:43.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-03-14T07:21:15.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-02-02T02:13:07.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-01-22T09:35:53.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-12-13T12:53:05.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-10-19T11:50:15.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-29T10:13:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-26T07:13:14.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-24T02:52:26.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-08T09:47:40.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-06T01:55:04.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-26T06:23:14.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-19T02:01:35.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-04-20T09:11:11.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-03-09T07:48:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-05T07:00:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-02T08:24:33.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-25T03:42:37.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-17T10:07:06.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-10-14T07:51:53.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AllocateEipAddress'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AllocateEipAddress', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'AllocateEipAddressPro' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'paid'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the EIP to allocate.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'IpAddress', 'in' => 'query', 'schema' => ['description' => 'The IP address of the EIP to allocate.'."\n" ."\n" .'You need to specify only one of the **IpAddress** and **InstanceId** parameters. If neither is specified, the system randomly allocates an EIP.', 'type' => 'string', 'required' => false, 'example' => '192.0.XX.XX', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the EIP to allocate.'."\n" ."\n" .'You need to specify only one of the **IpAddress** and **InstanceId** parameters. If neither is specified, the system randomly allocates an EIP.', 'type' => 'string', 'required' => false, 'example' => 'eip-25877c70gddh****', 'title' => ''], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The maximum bandwidth of the EIP to allocate. Unit: Mbit/s.'."\n" ."\n" .'- If **InstanceChargeType** is set to **PostPaid** and **InternetChargeType** is set to **PayByBandwidth**, valid values of **Bandwidth** are **1** to **500**.'."\n" ."\n" .'- If **InstanceChargeType** is set to **PostPaid** and **InternetChargeType** is set to **PayByTraffic**, valid values of **Bandwidth** are **1** to **200**.'."\n" ."\n" .'- If **InstanceChargeType** is set to **PrePaid**, valid values of **Bandwidth** are **1** to **1000**.'."\n" ."\n" .'Default value: **5** Mbit/s.', 'type' => 'string', 'required' => false, 'example' => '5', 'title' => ''], ], [ 'name' => 'Period', 'in' => 'query', 'schema' => ['description' => 'The subscription duration.'."\n" ."\n" .'- If **PricingCycle** is set to **Month**, valid values of **Period** are **1** to **9**.'."\n" ."\n" .'- If **PricingCycle** is set to **Year**, valid values of **Period** are **1** to **3**.'."\n" ."\n" .'This parameter is required if **InstanceChargeType** is set to **PrePaid**.'."\n" ."\n" .'Do not set this parameter if **InstanceChargeType** is set to **PostPaid**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'ISP', 'in' => 'query', 'schema' => ['description' => 'The line type. Valid values:'."\n" ."\n" .'- **BGP** (default): BGP (multi-ISP) line. All regions support BGP (multi-ISP) EIPs.'."\n" .'- **BGP_PRO**: BGP (multi-ISP) Pro line. Only Hong Kong (China), Singapore, Malaysia (Kuala Lumpur), Philippines (Manila), Indonesia (Jakarta), and Thailand (Bangkok) regions support BGP (multi-ISP) Pro EIPs.'."\n" ."\n\n" .'For more information about BGP (multi-ISP) and BGP (multi-ISP) Pro lines, see [EIP line types](~~32321~~).'."\n" ."\n" .'- If you are a whitelist user of single-ISP bandwidth, you can also select the following types:'."\n" .' - **ChinaTelecom**: China Telecom'."\n" .' - **ChinaUnicom**: China Unicom'."\n" .' - **ChinaMobile**: China Mobile'."\n" .' - **ChinaTelecom_L2**: China Telecom L2'."\n" .' - **ChinaUnicom_L2**: China Unicom L2'."\n" .' - **ChinaMobile_L2**: China Mobile L2'."\n" .'- If you are a China (Hangzhou) Finance Cloud user, this parameter is required. Set the value to **BGP_FinanceCloud**.', 'type' => 'string', 'required' => false, 'example' => 'BGP', 'title' => ''], ], [ 'name' => 'Netmode', 'in' => 'query', 'schema' => ['description' => 'The network type. The value can only be **public** (default), which indicates the public network.', 'type' => 'string', 'required' => false, 'example' => 'public', 'title' => ''], ], [ 'name' => 'AutoPay', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable automatic payment. Valid values:'."\n" ."\n" .'- **false**: disables automatic payment. After an order is generated, go to the Order Center to complete the payment.'."\n" ."\n" .'- **true**: enables automatic payment. The order is automatically paid.'."\n" ."\n" .'This parameter is required if **InstanceChargeType** is set to **PrePaid**. This parameter is optional if **InstanceChargeType** is set to **PostPaid**.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'PricingCycle', 'in' => 'query', 'schema' => ['description' => 'The billing cycle of the subscription. Valid values:'."\n" ."\n" .'- **Month** (default): billed on a monthly basis.'."\n" ."\n" .'- **Year**: billed on a yearly basis.'."\n" ."\n" .'This parameter is required if **InstanceChargeType** is set to **PrePaid**. This parameter is optional if **InstanceChargeType** is set to **PostPaid**.', 'type' => 'string', 'required' => false, 'example' => 'Month', 'title' => ''], ], [ 'name' => 'InstanceChargeType', 'in' => 'query', 'schema' => ['description' => 'The billing method of the EIP to allocate. Valid values:'."\n" .' '."\n" .'- **PrePaid**: subscription.'."\n" ."\n" .'- **PostPaid** (default): pay-as-you-go.'."\n" ."\n" .'If **InstanceChargeType** is set to **PrePaid**, **InternetChargeType** must be set to **PayByBandwidth**.'."\n" ."\n" .'If **InstanceChargeType** is set to **PostPaid**, **InternetChargeType** can be set to **PayByBandwidth** or **PayByTraffic**.', 'type' => 'string', 'required' => false, 'example' => 'PostPaid', 'title' => ''], ], [ 'name' => 'InternetChargeType', 'in' => 'query', 'schema' => ['description' => 'The metering method of the EIP to allocate. Valid values:'."\n" ."\n" .'- **PayByBandwidth** (default): pay-by-bandwidth.'."\n" ."\n" .'- **PayByTraffic**: pay-by-data-transfer.'."\n" ."\n" .'If **InstanceChargeType** is set to **PrePaid**, **InternetChargeType** must be set to **PayByBandwidth**.'."\n" ."\n" .'If **InstanceChargeType** is set to **PostPaid**, **InternetChargeType** can be set to **PayByBandwidth** or **PayByTraffic**.', 'type' => 'string', 'required' => false, 'default' => 'PayByBandwidth', 'example' => 'PayByBandwidth', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the EIP belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-resourcegroup****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], 'Value' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'description' => '', 'title' => '', 'example' => '', ], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a parameter value from your client to ensure uniqueness across different requests. ClientToken supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe6****', 'title' => ''], ], [ 'name' => 'SecurityProtectionTypes', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The security protection level.'."\n" ."\n" .'- If this parameter is left empty, DDoS Protection (Basic) is used by default.'."\n" ."\n" .'- If this parameter is set to **AntiDDoS_Enhanced**, DDoS Protection (Enhanced) is used.', 'type' => 'array', 'items' => ['description' => 'The security protection level.'."\n" ."\n" .'- If this parameter is left empty, DDoS Protection (Basic) is used by default.'."\n" ."\n" .'- If this parameter is set to **AntiDDoS_Enhanced**, DDoS Protection (Enhanced) is used.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], 'required' => false, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], [ 'name' => 'PublicIpAddressPoolId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IP address pool.'."\n" ."\n" .'The EIP is allocated from the specified IP address pool.'."\n" ."\n" .'The IP address pool feature is not available by default. To use this feature, apply for the IP address pool privilege quota in Quota Center. For more information, see [Increase a quota in Quota Center](~~108213~~).', 'type' => 'string', 'required' => false, 'example' => 'pippool-2vc0kxcedhquybdsz****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], 'OrderId' => ['description' => 'The order ID.'."\n" .'This parameter is returned when InstanceChargeType (the billing method of the EIP) is set to PrePaid (subscription). If AutoPay is set to false, which means automatic payment is not enabled, go to the [Order Center](https://usercenter2.aliyun.com/order/list) to complete the payment.'."\n" .'This parameter is returned when InstanceChargeType (the billing method of the EIP) is set to PrePaid (subscription). If AutoPay is set to false, which means automatic payment is not enabled, go to the [Order Center](https://usercenter2-intl.aliyun.com/order/list) to complete the payment.', 'type' => 'integer', 'format' => 'int64', 'example' => '20190000', 'title' => ''], 'ResourceGroupId' => ['description' => 'The resource group ID. This parameter is returned only when **InstanceChargeType** is set to **PostPaid**.', 'type' => 'string', 'example' => 'rg-resourcegroup****', 'title' => ''], 'EipAddress' => ['description' => 'The IP address assigned to the specified EIP. This parameter is returned only when **InstanceChargeType** is set to **PostPaid**.', 'type' => 'string', 'example' => '192.0.XX.XX', 'title' => ''], 'AllocationId' => ['description' => 'The ID of the EIP.', 'type' => 'string', 'example' => 'eip-25877c70gddh****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'FrequentPurchase.EIP', 'errorMessage' => 'eip frequent purchase', 'description' => ''], ['errorCode' => 'QuotaExceeded.Eip', 'errorMessage' => 'Elastic IP address quota exceeded', 'description' => ''], ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Specified value of "InternetChargeType" is not valid', 'description' => ''], ['errorCode' => 'ReserveIpFail', 'errorMessage' => 'Reserve eip failed.', 'description' => ''], ['errorCode' => 'InvalidBandwidth.Malformed', 'errorMessage' => 'The specified Bandwidth is invalid.', 'description' => ''], ['errorCode' => 'INSTANCE_TYPE_NOT_SUPPORT', 'errorMessage' => 'The instance type is invalid.', 'description' => ''], ['errorCode' => 'QueryParameter.Illegal', 'errorMessage' => 'query parameter illegal', 'description' => ''], ['errorCode' => 'QuotaExceeded.LargeSpecEip', 'errorMessage' => 'Elastic IP address with large spec quota exceeded.', 'description' => ''], ['errorCode' => 'InvalidResourceGroupId', 'errorMessage' => 'The specified ResourceGroupId does not exist.', 'description' => 'The specified resource group ID does not exist.'], ['errorCode' => 'Invalid.Reserve.Ip', 'errorMessage' => 'The reserve ip is invalid.', 'description' => ''], ['errorCode' => 'Ip.Allocated', 'errorMessage' => 'The reserve ip has been allocated.', 'description' => 'Reserved IP addresses are already specified.'], ['errorCode' => 'Ip.Keeped', 'errorMessage' => 'The reserve ip been keeped in an hour.', 'description' => ''], ['errorCode' => 'OperationFailed.AllocateUnfamiliarIp', 'errorMessage' => 'The operation failed because only IP addresses used within the last seven days can be allocated.', 'description' => 'Only IP addresses used within the last seven days can be used to apply for EIP.'], ['errorCode' => 'INVALID_INSTANCE_STATUS', 'errorMessage' => 'The instance status is invalid.', 'description' => ''], ['errorCode' => 'OperationFailed.InstanceNotExist', 'errorMessage' => 'Eip instanceId does not exist.', 'description' => ''], ['errorCode' => 'InvalidStatus.ValueNotSupported', 'errorMessage' => 'The specified status is not supported.', 'description' => ''], ['errorCode' => 'OperationFailed.RiskControl', 'errorMessage' => 'Risk control check failed.', 'description' => 'The error message returned because your payment method has security risks. Click the link for verification in your email or console message and submit your order after verification.'], ['errorCode' => 'ResourceNotEnough.PublicIpAddressPool', 'errorMessage' => 'The specified resource of PublicIpAddressPool is not enough.', 'description' => ''], ['errorCode' => 'Mismatch.IpAndPublicIpAddressPool', 'errorMessage' => 'The Ip and PublicIpAddressPool are mismatched.', 'description' => ''], ['errorCode' => 'ResourceNotFound.PublicIpAddressPool', 'errorMessage' => 'The specified resource of PublicIpAddressPool is not found.', 'description' => ''], ['errorCode' => 'ResourceNotFound.Ip', 'errorMessage' => 'The specified ip is not found.', 'description' => 'The specified IP could not be found.'], ['errorCode' => 'OperationDenied.IpBelongToOtherUser', 'errorMessage' => 'The operation is not allowed because of ip belong to other user.', 'description' => 'Your application failed because the IP address belongs to another user.'], ['errorCode' => 'IncorrectStatus.Ip', 'errorMessage' => 'The status of ip is incorrect.', 'description' => 'The status of the IP is incorrect.'], ['errorCode' => 'OperationFailed.IpIsLocked', 'errorMessage' => 'The operation is failed because of ip is locked.', 'description' => 'Your application failed because the IP address is locked.'], ['errorCode' => 'Mismatch.IpAndIsp', 'errorMessage' => 'The specified IP address does not match the ISP.', 'description' => 'The system failed to allocate the specified EIP because the ISP and IP address do not match.'], ['errorCode' => 'IncorrectStatus.PublicIpAddressPool', 'errorMessage' => 'The status of PublicIpAddressPool is incorrect.', 'description' => 'EIPs are not allowed to be allocated because the address pool is in an unstable state.'], ['errorCode' => 'IllegalParam.IpAddress', 'errorMessage' => 'The specified IpAddress (%s) is illegal.', 'description' => 'The IpAddress parameter is set to an invalid value.'], ['errorCode' => 'OperationFailed.ResourceNotEnough', 'errorMessage' => 'The resources you have applied for are insufficient.', 'description' => 'The resources you have applied for are insufficient. If you still need to apply, please submit a work order for processing.'], ['errorCode' => 'Mismatch.EipSecurityProtectionTypeAndPoolSecurityProtectionType', 'errorMessage' => 'The EipSecurityProtectionType and PoolSecurityProtectionType are mismatched.', 'description' => 'The EIP protection type does not match the address pool protection type.'], ['errorCode' => 'IllegalParam.Isp', 'errorMessage' => 'The param of Isp [%s] is illegal.', 'description' => 'The error message returned because the Isp parameter is set to an invalid value. Specify a valid value and try again.'], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => 'An internal error occurred.'], ], ], 'title' => 'Allocate a specified EIP', 'summary' => 'Allocates a specified elastic IP address (EIP) for specific network configuration requirements.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-03-26T08:11:23.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2024-07-16T03:57:35.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-01-22T09:35:53.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-10-19T11:50:15.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-06T01:55:04.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-05-15T06:29:29.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-02T08:24:33.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-29T09:41:26.000Z', 'description' => 'Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AllocateEipAddressPro'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AllocateEipAddressPro', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'AllocateEipSegmentAddress' => [ 'summary' => 'Contiguous Elastic IP addresses (EIPs) are a group of sequentially ordered EIPs. You can apply for and use these IP addresses in bulk for cloud resources that require contiguous public IP addresses during network design. You can call the AllocateEipSegmentAddress operation to apply for contiguous EIPs.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => true, 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'paid'], '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 **ClientToken** value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The maximum bandwidth of the EIP. Unit: Mbit/s.'."\n" ."\n" .'- If **InternetChargeType** is set to **PayByBandwidth**, valid values of **Bandwidth** are **1** to **500**.'."\n" ."\n" .'- If **InternetChargeType** is set to **PayByTraffic**, valid values of **Bandwidth** are **1** to **200**.'."\n" ."\n" .'Default value: **5** Mbit/s.', 'type' => 'string', 'required' => false, 'example' => '5', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the contiguous EIPs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'EipMask', 'in' => 'query', 'schema' => ['description' => 'The subnet mask of the contiguous EIPs. Valid values:'."\n" ."\n" .'- **28**: The system allocates 16 contiguous EIPs for each call.'."\n" ."\n" .'- **27**: The system allocates 32 contiguous EIPs for each call.'."\n" ."\n" .'- **26**: The system allocates 64 contiguous EIPs for each call.'."\n" ."\n" .'- **25**: The system allocates 128 contiguous EIPs for each call.'."\n" ."\n" .'- **24**: The system allocates 256 contiguous EIPs for each call.'."\n" ."\n" .'> Due to IP address reservation, the actual number of contiguous EIPs may be 1, 3, or 4 fewer than expected.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '28', 'title' => ''], ], [ 'name' => 'Netmode', 'in' => 'query', 'schema' => ['description' => 'The network type. Set the value to **public**, which specifies the public network.', 'type' => 'string', 'required' => false, 'example' => 'public', 'title' => ''], ], [ 'name' => 'InternetChargeType', 'in' => 'query', 'schema' => ['description' => 'The billable methods of the contiguous EIPs. Valid values:'."\n" ."\n" .'- **PayByBandwidth** (default): pay-by-fixed-bandwidth.'."\n" ."\n" .'- **PayByTraffic**: pay-by-data-transfer.', 'type' => 'string', 'required' => false, 'default' => 'PayByBandwidth', 'example' => 'PayByBandwidth', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'Isp', 'in' => 'query', 'schema' => ['description' => 'The line type. Valid values:'."\n" ."\n" .'- **BGP** (default): BGP (multi-ISP) line. All regions support BGP (multi-ISP) EIPs.'."\n" .'- **BGP_PRO**: BGP (multi-ISP) premium line. Only Hong Kong (China), Singapore, Tokyo (Japan), Kuala Lumpur (Malaysia), Manila (Philippines), Jakarta (Indonesia), and Bangkok (Thailand) regions support BGP (multi-ISP) premium EIPs.'."\n" ."\n" .'For more information about BGP (multi-ISP) lines and BGP (multi-ISP) premium lines, see [EIP line types](~~32321~~).'."\n" ."\n" .'If you are a whitelist user of single-ISP bandwidth, you can also select the following types:'."\n" .'- **ChinaTelecom**: China Telecom'."\n" .'- **ChinaUnicom**: China Unicom'."\n" .'- **ChinaMobile**: China Mobile'."\n" .'- **ChinaTelecom_L2**: China Telecom L2'."\n" .'- **ChinaUnicom_L2**: China Unicom L2'."\n" .'- **ChinaMobile_L2**: China Mobile L2'."\n" ."\n" .'If you are a China (Hangzhou) Finance Cloud user, this parameter is required. Set the value to **BGP_FinanceCloud**.', 'type' => 'string', 'required' => false, 'example' => 'BGP', 'title' => ''], ], [ 'name' => 'Zone', 'in' => 'query', 'schema' => ['description' => 'The zone of the contiguous EIP group.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-a', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F7A6301A-64BA-41EC-8284-8F4838C15D1F', 'title' => ''], 'EipSegmentInstanceId' => ['description' => 'The instance ID of the contiguous EIP group.', 'type' => 'string', 'example' => 'eipsg-2zett8ba055tbsxme****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'QuotaExceeded.Eip', 'errorMessage' => 'Elastic IP address quota exceeded', 'description' => ''], ['errorCode' => 'InsufficientBalance', 'errorMessage' => 'Your account does not have enough balance.', 'description' => ''], ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Specified value of "InternetChargeType" is not valid', 'description' => ''], ['errorCode' => 'ReserveIpFail', 'errorMessage' => 'Reserve eip failed.', 'description' => ''], ['errorCode' => 'InvalidBandwidth.Malformed', 'errorMessage' => 'The specified Bandwidth is invalid.', 'description' => ''], ['errorCode' => 'INSTANCE_TYPE_NOT_SUPPORT', 'errorMessage' => 'The instance type is invalid.', 'description' => ''], ['errorCode' => 'QueryParameter.Illegal', 'errorMessage' => 'query parameter illegal', 'description' => ''], ['errorCode' => 'TokenVerfiy.Failed', 'errorMessage' => 'token verify failed.', 'description' => ''], ['errorCode' => 'QuotaExceeded.LargeSpecEip', 'errorMessage' => 'Elastic IP address with large spec quota exceeded.', 'description' => ''], ['errorCode' => 'InvalidResourceGroupId', 'errorMessage' => 'The specified ResourceGroupId does not exist.', 'description' => 'The specified resource group ID does not exist.'], ['errorCode' => 'OperationFailed.InsufficientEIP', 'errorMessage' => 'Eip resource is not enough.', 'description' => ''], ['errorCode' => 'FrequentPurchase.EIP', 'errorMessage' => 'eip frequent purchase', 'description' => ''], ['errorCode' => 'OperationFailed.ChargeTypeInvalid', 'errorMessage' => 'Operation failed because hybrid netmode do not support PayByTraffic.', 'description' => ''], ['errorCode' => 'IllegalParam.EipMask', 'errorMessage' => 'EipMask is illegal.', 'description' => ''], ['errorCode' => 'IllegalParam.Name', 'errorMessage' => 'Name is illegal.', 'description' => ''], ['errorCode' => 'IllegalParam.Description', 'errorMessage' => 'Description is illegal.', 'description' => ''], ['errorCode' => 'InstanceExist.EipSegment', 'errorMessage' => 'The eipSegment instance already exists.', 'description' => ''], ['errorCode' => 'OperationFailed.QuotaExceed', 'errorMessage' => 'Operation failed because over threshold bandwidth quota exceed.', 'description' => ''], ['errorCode' => 'OperationFailed.FrequentPurchase', 'errorMessage' => 'Operation failed because eip frequent purchase.', 'description' => ''], ['errorCode' => 'OperationFailed.AllocateEipSegment', 'errorMessage' => 'Operation failed because eip segment is out of stock.', 'description' => 'Insufficient inventory of continuous EIP.'], ['errorCode' => 'OperationFailed.CreateOrderFailed', 'errorMessage' => 'Operation failed because create order failed.', 'description' => ''], ['errorCode' => 'MissingParam.Bandwidth', 'errorMessage' => 'The parameter Bandwidth is mandatory when allocate hybrid EipSegment.', 'description' => ''], ['errorCode' => 'OperationFailed.EipQuotaExceed', 'errorMessage' => 'Operation failed because eip quota exceed.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => ''], ['errorCode' => 'UnsupportedFeature.AllocateEipAddressWithZone', 'errorMessage' => 'The feature of AllocateEipAddressWithZone is not supported.', 'description' => 'You are not allowed to create an instance in a specified zone in the region.'], ['errorCode' => 'IllegalParam.Zone', 'errorMessage' => 'The specified zone is invalid.', 'description' => 'Zone is set to an invalid value.'], ['errorCode' => 'Forbidden.AllocateEipSegmentAddress', 'errorMessage' => 'Authentication is failed for allocating eip segment address.', 'description' => 'Failed to apply for continuous EIP. The service has been offline. Please use the IP address pool service.'], ], ], 'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。'], 'title' => 'Apply for contiguous eIPs', 'description' => 'The **AllocateEipSegmentAddress** operation is asynchronous. After you call this operation, the system returns the instance ID of a contiguous EIP group, but the contiguous EIP group is not yet created. The creation task is still running in the background. You can call [DescribeEipSegment](~~156063~~) to query the status of the contiguous EIP group.'."\n" ."\n" .'- If the contiguous EIP group is in the **Allocating** state, the contiguous EIP group is being allocated. In this state, you can only perform query operations.'."\n" ."\n" .'- If the contiguous EIP group is in the **Allocated** state, the contiguous EIP group is allocated.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-07-16T03:57:35.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-29T08:56:02.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-26T07:13:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-05-22T06:15:09.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-03-17T03:07:31.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-11-17T11:38:45.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '6', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AllocateEipSegmentAddress'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AllocateEipSegmentAddress', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SegmentAddress', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F7A6301A-64BA-41EC-8284-8F4838C15D1F\\",\\n \\"EipSegmentInstanceId\\": \\"eipsg-2zett8ba055tbsxme****\\"\\n}","type":"json"}]', ], 'AllocateIpv6Address' => [ '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' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VSwitchId', 'in' => 'query', 'schema' => ['description' => 'The ID of the vSwitch to which the IPv6 address belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vsw-asdfjlnaue4g****', 'title' => ''], ], [ 'name' => 'Ipv6Address', 'in' => 'query', 'schema' => ['description' => 'The IPv6 address to allocate. The specified IPv6 address must be an idle address within the CIDR block of the vSwitch.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '2408:XXXX:153:3921:851c:c435:7b12:1c5f', 'title' => ''], ], [ 'name' => 'Ipv6AddressName', 'in' => 'query', 'schema' => ['description' => 'The name of the IPv6 address instance.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'ipv6-name', 'title' => ''], ], [ 'name' => 'Ipv6AddressDescription', 'in' => 'query', 'schema' => ['description' => 'The description of the IPv6 address instance.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'ipv6-description', 'title' => ''], ], [ 'name' => 'AddressType', 'in' => 'query', 'schema' => ['description' => 'The type of the IPv6 address. Valid values:'."\n" ."\n" .'* IPv6Address (default): The instance is a single IPv6 address.'."\n" .'* IPv6Prefix: The instance is an IPv6 CIDR block.', 'type' => 'string', 'required' => false, 'example' => 'IPv6Address', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The resource group ID. For more information about resource groups, see [What is a resource group?](~~2381067~~).', 'type' => 'string', 'required' => false, 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tags for the resource.', 'type' => 'array', 'items' => [ 'description' => 'The tag of the resource.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. Do not set this parameter to an empty string.'."\n" ."\n" .'A tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`, or contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot start with aliyun or acs:, or contain http:// or https://.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- true: performs a dry run. The system checks the required parameters, request syntax, and business restrictions. If the check fails, the corresponding error is returned. If the check succeeds, the DryRunOperation error code is returned.'."\n" ."\n" .'- false (default): performs a dry run and sends the request. If the check succeeds, an HTTP 2xx status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Ipv6AddressId' => ['description' => 'The instance ID of the IPv6 address.', 'type' => 'string', 'example' => 'ipv6-2zen5j4axcp5l5qyy****', 'title' => ''], 'Ipv6Address' => ['description' => 'The IPv6 address.', 'type' => 'string', 'example' => '2408:XXXX:153:3921:851c:c435:7b12:1c5f', 'title' => ''], 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-acfmxazdjdhd****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.IPv6AddressAlreadyAllocated', 'errorMessage' => 'The operation is failed because of the ipv6 address specified was allocated.', 'description' => 'The specified IPv6 address is already allocated'], ['errorCode' => 'OperationFailed.AddressNotInVSwitchCidr', 'errorMessage' => 'The operation is failed because of %s.', 'description' => 'The specified IP address is not in the vSwitch CIDR block. Please modify it as described in the API document and try again.'], ['errorCode' => 'IllegalParam.IpAddress', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The IP address format is invalid. See the API reference and specify a valid IP address.'], ['errorCode' => 'OperationFailed.IPv6Disabled', 'errorMessage' => 'Operation failed because IPv6 is not enabled for the vSwitch.', 'description' => 'The IPv6 feature is disabled.'], ['errorCode' => 'OperationFailed.IpPrefixMustInVSwitchCidrReservation', 'errorMessage' => 'The specified ip prefix must in reserved segment the VSwitch.', 'description' => 'The specified prefix network segment must be within the reserved network segment of the switch'], ['errorCode' => 'Forbidden.OperateShareResource', 'errorMessage' => 'You cannot operate shared resources.', 'description' => 'Shared resources do not support this operation.'], ['errorCode' => 'QuotaExceeded.IPv6PrefixMask', 'errorMessage' => 'The quota of specifed ipv6 prefix mask is exceeded.', 'description' => 'The specified IPv6 prefix mask exceeds the quota.'], ['errorCode' => 'OperationUnsupported.Ipv6Feature', 'errorMessage' => 'The IPv6 feature is not supported in the region.', 'description' => 'This region does not support IPv6.'], ['errorCode' => 'IllegalParam.Ipv6Prefix', 'errorMessage' => 'The param of Ipv6Prefix is illegal.', 'description' => 'The specified input Ipv6Prefix is illegal.'], ['errorCode' => 'OperationFailed.ExistIPv6Used', 'errorMessage' => 'The operation is failed because of some ipv6 in the ipv6 prefix is already in use.', 'description' => 'The operation failed because IPv6 is already in use in the IPv6 prefix'], ['errorCode' => 'OperationUnsupported.UnboundIpv6PrefixFeature', 'errorMessage' => 'The region does not support creating IPv6 prefix that are not bound to any resources.', 'description' => 'This region does not support creating IPv6 prefix CIDR blocks that are not bound to resources.'], ['errorCode' => 'OperationUnsupported.UnboundIpv6Feature', 'errorMessage' => 'The region does not support creating IPv6 addresses that are not bound to any resources.', 'description' => 'The region does not support creating IPv6 address instances that are not bound to resources.'], ['errorCode' => 'OperationUnsupported.FreePrivateIpv6', 'errorMessage' => 'This operation does not support free private IPv6 addresses.', 'description' => 'This operation does not support free private IPv6 addresses.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.VSwitch', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The specified vSwitch does not exist, please check your input is correct'], ['errorCode' => 'ResourceNotFound.VSwitchCidrReservation', 'errorMessage' => 'The dependent vswitch cidr reservation is not found.', 'description' => 'Dependent resource vSwitchCidrReservation does not exist'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeIpv6Addresses', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'Create an iPv6 address', 'summary' => 'Invokes the AllocateIpv6Address operation to allocate a free IPv6 address or IPv6 prefix CIDR block. The address is not associated with any resource instance (such as an elastic network interface (ENI) or Network Load Balancer (NLB) instance) and exists as an independent IPv6 address in a virtual private cloud (VPC).', 'description' => 'Scenarios: After you enable Internet bandwidth for a free IPv6 address, configure an inbound routing rule in the IPv6 gateway route table to direct public IPv6 traffic to an Internet Data Center (IDC) through an Express Connect circuit. This way, IDC resources can provide services over the Internet by using an Alibaba Cloud IPv6 address.'."\n" ."\n" .'> To allocate an IPv6 address to an elastic network interface (ENI) of an ECS instance, invoke the [AssignIpv6Addresses](https://www.alibabacloud.com/help/en/ecs/developer-reference/api-ecs-2014-05-26-assignipv6addresses) operation of ECS.', 'changeSet' => [ ['createdAt' => '2024-08-08T09:26:08.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-06-28T01:52:08.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AllocateIpv6Address'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AllocateIpv6Address', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6address/*'], ], ], ], ], '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"}]', ], 'AllocateIpv6InternetBandwidth' => [ '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' => 'The region ID of the IPv6 gateway. You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-huhehaote', 'title' => ''], ], [ 'name' => 'Ipv6GatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 gateway.', 'type' => 'string', 'required' => false, 'example' => 'ipv6gw-uf6hcyzu65v98v3du****', 'title' => ''], ], [ 'name' => 'Ipv6AddressId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 address.', 'type' => 'string', 'required' => true, 'example' => 'ipv6-2zen5j4axcp5l5qyy****', 'title' => ''], ], [ 'name' => 'InternetChargeType', 'in' => 'query', 'schema' => ['description' => 'The billable methods for IPv6 Internet bandwidth. Valid values:'."\n" ."\n" .''."\n" ."\n" .'- **PayByTraffic**: pay-by-data-transfer.'."\n" .'- **PayByBandwidth** (default): pay-by-bandwidth.'."\n" .'- **PayByOld95**: traditional 95th percentile billing. IPv6 Internet bandwidth does not support traditional 95th percentile billing by default. To use this billing method, contact your account manager.'."\n" ."\n" .''."\n" .''."\n" ."\n" .'- **PayByTraffic**: pay-by-data-transfer.'."\n" .'- **PayByBandwidth** (default): pay-by-bandwidth.'."\n" ."\n" .'', 'type' => 'string', 'required' => false, 'example' => 'PayByBandwidth', 'title' => ''], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The Internet bandwidth of the IPv6 address. Unit: Mbit/s.'."\n" ."\n" .''."\n" ."\n" .'- If **InternetChargeType** is set to **PayByTraffic**, the valid values are **1** to **1000**.'."\n" .'- If **InternetChargeType** is set to **PayByBandwidth**, the valid values are **1** to **2000**.'."\n" .'- If **InternetChargeType** is set to **PayByOld95**, the valid values are **1** to **2000**.'."\n" ."\n" .''."\n" .''."\n" .' '."\n" .'- If **InternetChargeType** is set to **PayByTraffic**, the valid values are **1** to **1000**.'."\n" .'- If **InternetChargeType** is set to **PayByBandwidth**, the valid values are **1** to **2000**.'."\n" ."\n" .'', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '200', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run without associating the route table. The system checks the AccessKey pair, the authorization of the Resource Access Management (RAM) user, and the required parameters. If the check fails, the corresponding error is returned. If the check succeeds, the error code `DryRunOperation` is returned.'."\n" ."\n" .'- **false** (default): sends a Normal request, and after the check succeeds, a 2xx HTTP status code is returned and the routing associate a prefix list with a route table is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Ipv6AddressId' => ['description' => 'The ID of the IPv6 address.', 'type' => 'string', 'example' => 'ipv6-2zen5j4axcp5l5qyy****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6972A26E-99B1-4367-9890-FBDEBB0F5E7D', 'title' => ''], 'InternetBandwidthId' => ['description' => 'The instance ID of the Internet bandwidth associated with the IPv6 gateway after Internet bandwidth is allocated.', 'type' => 'string', 'example' => 'ipv6bw-uf6hcyzu65v98v3du****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.Bandwidth', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'Invalid Bandwidth value. See the API reference and specify a valid value.'], ['errorCode' => 'MissingParam.Ipv6InstanceId', 'errorMessage' => 'The param of Ipv6InstanceId is missing.', 'description' => 'The error message returned because Ipv6InstanceId is not set.'], ['errorCode' => 'InvalidIpv6Instance.NotFound', 'errorMessage' => 'The specified Ipv6AddressId or Ipv6InternetBandwidthId is not found.', 'description' => ''], ['errorCode' => 'IllegalParam.ChargeType', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'Invalid ChargeType value. See the API reference and specify a valid value.'], ['errorCode' => 'IllegalParam.InternetChargeType', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'Invalid InternetChargeType value. See the API reference and specify a valid value.'], ['errorCode' => 'OperationUnsupported.PrePaid', 'errorMessage' => '%s is unsupported.', 'description' => 'IPv6 Internet bandwidth does not support the subscription billing method. Change the billing method.'], ['errorCode' => 'OperationFailed.Ipv6GatewayDisMatchIpv6Address', 'errorMessage' => 'The operation is failed because of %s.', 'description' => 'The IPv6 address and IPv6 gateway do not belong to the same VPC.'], ['errorCode' => 'OperationFailed.InternetBandwidthAlreadyExisted', 'errorMessage' => 'The operation is failed because of %s.', 'description' => 'Internet bandwidth is already enabled for the IPv6 address.'], ['errorCode' => 'OperationFailed.Ipv6GatewayNotExist', 'errorMessage' => 'The operation is failed because of %s.', 'description' => 'No IPv6 gateway exists in the VPC to which the IPv6 address belongs. Create an IPv6 gateway and try again.'], ['errorCode' => 'IncorrectStatus.Ipv6Instance', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The IPv6 address is in an unstable state. Try again later.'], ['errorCode' => 'IllegalParam.Ipv6Address', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The IPv6 address is invalid.'], ['errorCode' => 'UnsupportedFeature.InternetChargeTypeOnFreeIpv6Address', 'errorMessage' => 'The feature of %s is not supported.', 'description' => 'The status of the IPv6 address does not support the billing method. For more information, see the API reference.'], ['errorCode' => 'UnsupportedFeature.InternetChargeTypeOnStaticIsp', 'errorMessage' => 'The feature of %s is not supported.', 'description' => 'The IPv6 address is of the single ISP type and does not support the billing method.'], ['errorCode' => 'OperationUnsupported.ULA', 'errorMessage' => '%s is unsupported.', 'description' => 'This operation does not support ULA addresses.'], ['errorCode' => 'OperationFailed.OpenCdtServiceFirst', 'errorMessage' => 'The operation is failed because of %s.', 'description' => 'The billing method requires CDT billing enabled. Enable CDT billing and try again.'], ['errorCode' => 'OperationFailed.UpgradeCdtServiceFirst', 'errorMessage' => 'The operation is failed because of cdt is not upgraded.', 'description' => 'The instance type you specified to purchase needs to be upgraded to CDT billing. Upgrade CDT and try again'], ['errorCode' => 'OperationUnsupported.PrivateGUA', 'errorMessage' => 'This operation does not support private GUA addresses.', 'description' => '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.', 'description' => 'the ipv6 ip address associated with the cloud service instance cannot be used for internet bandwidth.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.Ipv6Address', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The IPv6 address is not found.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeIpv6Addresses', 'callbackInterval' => 3, 'maxCallbackTimes' => 10], 'title' => 'Allocate internet bandwidth for an iPv6 address', 'summary' => 'Allocates Internet bandwidth to an IPv6 address in a VPC to enable Internet communication. After the bandwidth is allocated, the IPv6 address can both initiate outbound connections to the Internet and receive inbound connections from the Internet.', 'description' => '- You can allocate Internet bandwidth for the following types of IPv6 addresses:'."\n" .' - IPv6 addresses assigned to elastic network interfaces (ENIs) of ECS instances.'."\n" .' - Unassociated IPv6 addresses that are not attached to any resource instance.'."\n" .'- Before you call this operation, make sure that the target IPv6 address already exists. This means that an ECS instance in the VPC has been assigned an IPv6 address, or an unassociated IPv6 address has been created by calling [AllocateIpv6Address](https://www.alibabacloud.com/help/en/vpc/developer-reference/api-vpc-2016-04-28-allocateipv6address).'."\n" .'- After the bandwidth is allocated, the IPv6 address can both initiate outbound connections to the Internet and receive inbound connections from the Internet. To allow only outbound Internet access, call [CreateIpv6EgressOnlyRule](https://www.alibabacloud.com/help/en/ipv6-gateway/developer-reference/api-vpc-2016-04-28-createipv6egressonlyrule-ipv6s)'."\n" .' to configure an IPv6 egress-only rule.'."\n" .'- The **AllocateIpv6InternetBandwidth** operation does not support concurrent purchases of Internet bandwidth for the same IPv6 address.'."\n" .'- Scenarios:'."\n" .' - Public network access for ECS instances: Enables ECS instances to access the Internet or provide services over IPv6.'."\n" .' - Unassociated Public network access: Works with IPv6 gateway route tables to route Internet traffic to on-premises IDCs.'."\n" .' - Outbound-only communication: Works with CreateIpv6EgressOnlyRule to allow only outbound access and reject inbound connections from the Internet.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-04-29T08:20:51.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-07-24T09:40:23.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-12-08T08:53:53.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-30T03:22:02.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-03T05:30:57.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AllocateIpv6InternetBandwidth'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AllocateIpv6InternetBandwidth', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6InternetBandwidth', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6bandwidth/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Ipv6AddressId\\": \\"ipv6-2zen5j4axcp5l5qyy****\\",\\n \\"RequestId\\": \\"6972A26E-99B1-4367-9890-FBDEBB0F5E7D\\",\\n \\"InternetBandwidthId\\": \\"ipv6bw-uf6hcyzu65v98v3du****\\"\\n}","type":"json"}]', ], 'AllocateVpcIpv6Cidr' => [ 'summary' => 'Reserves an IPv6 CIDR block.', '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' => 'The region ID of the VPC.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'Ipv6Isp', 'in' => 'query', 'schema' => ['description' => 'The type of IPv6 CIDR block. Valid values:'."\n" ."\n" .'* **BGP** (default)'."\n" .'* **ChinaMobile**'."\n" .'* **ChinaUnicom**'."\n" .'* **ChinaTelecom**'."\n" ."\n" .'> '."\n" ."\n" .'* If your Alibaba Cloud account is allowed to use single-ISP bandwidth, valid values are: **ChinaTelecom**, **ChinaUnicom**, and **ChinaMobile**.'."\n" ."\n" .'* You can reserve only one IPv6 CIDR block of each type. After a reserved IPv6 CIDR block of a type is allocated to a VPC, you can reserve another IPv6 CIDR of the type.'."\n", 'type' => 'string', 'required' => false, 'example' => 'BGP', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPC.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'AddressPoolType', 'in' => 'query', 'schema' => ['description' => 'The type of the IPv6 address pool. Set the value to **custom**.'."\n" ."\n" .'> This parameter is required.'."\n", 'type' => 'string', 'required' => false, 'example' => 'custom', 'title' => ''], ], [ 'name' => 'Ipv6CidrBlock', 'in' => 'query', 'schema' => ['description' => 'The IPv6 CIDR block that you want to reserve.'."\n", 'type' => 'string', 'required' => false, 'example' => '2408:XXXX:0:a600::/56', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Ipv6CidrBlock' => ['description' => 'The IPv6 CIDR block that is reserved.'."\n", 'type' => 'string', 'example' => '2408:XXXX:0:a600::/56', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'D20C13EA-2584-53BC-8393-69DE6D98EFF1', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationUnsupported.Ipv6Feature', 'errorMessage' => 'The IPv6 feature is not supported in the region.', 'description' => 'This region does not support IPv6.'], ['errorCode' => 'UnsupportedFeature.Ipv6Isp', 'errorMessage' => 'The Ipv6Isp feature is not supported.', 'description' => 'The specified IPv6 ISP is not supported.'], ['errorCode' => 'IllegalParam.AddressPoolType', 'errorMessage' => 'The specified addressPoolType is invalid.', 'description' => 'The specified address pool type is invalid.'], ['errorCode' => 'ResourceNotEnough.Ipv6Cidr', 'errorMessage' => 'The specified resource ipv6 cidr is not enough.', 'description' => 'Insufficient IPv6 CIDR block resources.'], ['errorCode' => 'IllegalParam.Ipv6Cidr', 'errorMessage' => 'The specified Ipv6CidrBlock is invalid.', 'description' => 'Ipv6CidrBlock is set to an invalid value.'], ['errorCode' => 'Unavailable.Ipv6Cidr', 'errorMessage' => 'The specified resource ipv6 cidr is not available.', 'description' => 'The specified IPv6 CIDR block is unavailable.'], ['errorCode' => 'IllegalParam.CidrBlock', 'errorMessage' => 'The param of cidrBlock is illegal.', 'description' => 'The error message returned because the value of the cidrBlock parameter is invalid.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'AllocateVpcIpv6Cidr', 'description' => '# [](#)'."\n" ."\n" .'The following section describes how to allocate an IPv6 CIDR block to a virtual private cloud (VPC):'."\n" ."\n" .'1. Call the AllocateVpcIpv6Cidr operation to reserve the IPv6 CIDR block.'."\n" .'2. To allocate an IPv6 CIDR block to an existing VPC, call the [AssociateVpcCidrBlock](~~146745~~) operation. Set **RegionId**, **VpcId**, and **IPv6CidrBlock** to the IPv6 CIDR bock, and set **IpVersion** to **ipv6**. To allocate an IPv6 CIDR block when you create a VPC, call the [CreateVpc](~~35737~~) operation. Set **RegionId** and **Ipv6CidrBlock** to the IPv6 CIDR block, and set **EnableIpv6** to **true**.'."\n", 'changeSet' => [ ['createdAt' => '2023-07-20T03:51:36.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'ApplyPhysicalConnectionLOA' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the Express Connect circuit.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The bandwidth of the Express Connect circuit. Unit: Mbit/s.'."\n" ."\n" .'Valid values: **2** to **10240**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'default' => '100', 'title' => ''], ], [ 'name' => 'PeerLocation', 'in' => 'query', 'schema' => ['description' => 'The geographic location where the Express Connect circuit is deployed.'."\n", 'type' => 'string', 'required' => false, 'example' => '杭州', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Express Connect circuit.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'pc-bp1qrb3044eqi****', 'title' => ''], ], [ 'name' => 'CompanyName', 'in' => 'query', 'schema' => ['description' => 'The name of the customer company that requires the Express Connect circuit.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'company', 'title' => ''], ], [ 'name' => 'LineType', 'in' => 'query', 'schema' => ['description' => 'The type of the Express Connect circuit. Valid values:'."\n" ."\n" .'* **MSTP**: MSTP line'."\n" .'* **MPLSVPN**: MPLSVPN line'."\n" .'* **FIBRE**: fiber line'."\n" .'* **Other**: other types'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FIBRE', 'title' => ''], ], [ 'name' => 'Si', 'in' => 'query', 'schema' => ['description' => 'The construction company.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '阿里', 'title' => ''], ], [ 'name' => 'ConstructionTime', 'in' => 'query', 'schema' => ['description' => 'The time when construction started. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2022-02-28T16:00:00Z', 'title' => ''], ], [ 'name' => 'PMInfo', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The information about the construction engineer.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'PMCertificateNo' => ['description' => 'The ID number of the construction engineer. You can specify the ID number of an ID card or an international passport.'."\n" ."\n" .'You can configure information for up to 16 construction engineers.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '5****************9', 'title' => ''], 'PMName' => ['description' => 'The name of the construction engineer.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '张三', 'title' => ''], 'PMCertificateType' => ['description' => 'The type of the identity document of the construction engineer. Valid values:'."\n" ."\n" .'* **IDCard**'."\n" .'* **Passport**'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'IDCard', 'title' => ''], 'PMGender' => ['description' => 'The gender of the construction engineer.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'Male', 'title' => ''], 'PMContactInfo' => ['description' => 'The contact information about the construction engineer.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '1390000****', 'title' => ''], ], 'required' => false, 'docRequired' => true, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 16, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'A47BD386-7FDE-42C4-8D22-C6223D18AA1C', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParam.AliUid', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'MissingParam.InstanceId', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'MissingParam.RegionNo', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'MissingParam.PMInfo', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.LineOperator', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.LineType', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.PeerLocation', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.PmCertificateType', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.PmCertificateNo', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.PmContactInfo', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.PmGender', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.PmName', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.Si', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidConstructionTime.Malformed', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IncorrectStatus.PhysicalConnectionLOA', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IncorrectStatus.PhysicalConnection', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.CompanyName', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationFailed.PconnTrafficNotEnable', 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', 'description' => 'Billing for outbound data transfer is disabled.'], ['errorCode' => 'IllegalParam.Bandwidth', 'errorMessage' => 'The param of bandwidth is illegal.', 'description' => 'The Bandwidth parameter is set to an invalid value.'], ], ], 'title' => 'ApplyPhysicalConnectionLOA', 'summary' => 'Applies for a Letter of Authorization (LOA) for an Express Connect circuit.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2021-11-17T10:03:13.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A47BD386-7FDE-42C4-8D22-C6223D18AA1C\\"\\n}","errorExample":""},{"type":"xml","example":"\\n A47BD386-7FDE-42C4-8D22-C6223D18AA1C\\n","errorExample":""}]', ], 'AssociateEipAddress' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'paid'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the EIP to be associated with a cloud resource instance.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'AllocationId', 'in' => 'query', 'schema' => ['description' => 'The ID of the EIP to be associated with a cloud resource instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eip-2zeerraiwb7ujsxdc****', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the instance to be associated with the EIP.'."\n" ."\n" .'You can enter the instance ID of an Internet NAT gateway, a Classic Load Balancer (CLB) instance, an ECS instance, a secondary elastic network interface (ENI), a high-availability virtual IP address (HAVIP), or an IP address.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'i-2zebb08phyczzawe****', 'title' => ''], ], [ 'name' => 'InstanceType', 'in' => 'query', 'schema' => ['description' => 'The type of the instance to be associated with the EIP. Valid values:'."\n" ."\n" .'- **Nat**: Internet NAT gateway.'."\n" ."\n" .'- **SlbInstance**: Classic Load Balancer (CLB).'."\n" ."\n" .'- **EcsInstance** (default): Elastic Compute Service (ECS).'."\n" ."\n" .'- **NetworkInterface**: secondary elastic network interface (ENI).'."\n" ."\n" .'- **HaVip**: high-availability virtual IP address.'."\n" ."\n" .'- **IpAddress**: IP address.'."\n" ."\n" .'> The default instance type is **EcsInstance**. If the instance type is not **EcsInstance**, this parameter is required.', 'type' => 'string', 'required' => false, 'example' => 'EcsInstance', 'title' => ''], ], [ 'name' => 'InstanceRegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the instance to be associated with the EIP.'."\n" ."\n" .'> This parameter is required only after the EIP is added to a shared-bandwidth Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'PrivateIpAddress', 'in' => 'query', 'schema' => ['description' => 'An IP address in the vSwitch CIDR block.'."\n" ."\n" .'If you do not specify this parameter, the system automatically assigns a private IP address based on the VPC ID and vSwitch ID.'."\n" .'> If **InstanceType** is set to **NetworkInterface**, this parameter is required. Enter the private IP address to be associated.', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''], ], [ 'name' => 'Mode', 'in' => 'query', 'schema' => ['description' => 'The association mode. Valid values:'."\n" ."\n" .'- **NAT** (default): NAT mode (standard mode).'."\n" ."\n" .'- **MULTI_BINDED**: multi-EIP-to-ENI mode.'."\n" ."\n" .'- **BINDED**: EIP-to-ENI mode.'."\n" ."\n\n" .'> This parameter is required only when **InstanceType** is set to **NetworkInterface**.', 'type' => 'string', 'required' => false, 'example' => 'NAT', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC that has the IPv4 gateway feature enabled and is in the same region as the EIP.'."\n" ."\n" .'When the EIP is associated with an IP address, the system uses the routing configuration of this VPC to enable public network access for the associated IP address.'."\n" ."\n" .'> This parameter is required when **InstanceType** is set to **IpAddress**.', 'type' => 'string', 'required' => false, 'example' => 'vpc-257gqcdfvx6n****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidAssociation.Duplicated', 'errorMessage' => 'Specified instance already is associated.', 'description' => ''], ['errorCode' => 'OperationDenied', 'errorMessage' => 'Specified instance is not in VPC.', 'description' => ''], ['errorCode' => 'InvalidParameter.Mismatch', 'errorMessage' => 'Specified elastic IP address and ECS instance are not in the same region.', 'description' => ''], ['errorCode' => 'IncorrectEipStatus', 'errorMessage' => 'Current elastic IP status does not support this operation', 'description' => ''], ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'Current instance status does not support this operation.', 'description' => ''], ['errorCode' => 'InvalidInstanceType.ValueNotSupported', 'errorMessage' => 'The specified value of InstanceType is not supported.', 'description' => ''], ['errorCode' => 'IncorrectHaVipStatus', 'errorMessage' => 'HaVip can be operated by this action only when it\'s status is Available or InUse.', 'description' => 'The operation supports only HAVIPs in the Available or InUse state.'], ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is not valid.', 'description' => ''], ['errorCode' => 'InvalidBindingStatus', 'errorMessage' => 'The eip binding status invalid.', 'description' => ''], ['errorCode' => 'BIND_INSTANCE_HAVE_PORTMAP_OR_BIND_EIP', 'errorMessage' => 'The instance may have portMap or already bind eip.', 'description' => 'The ECS instance already has a port forwarding rule (DNAT). Delete the corresponding port forwarding rule before performing the operation.'], ['errorCode' => 'EIP_CAN_NOT_ASSOCIATE_WITH_PUBLIC_IP', 'errorMessage' => 'instance already bind natpublicip,cannot bind eip.', 'description' => ''], ['errorCode' => 'BIND_INSTANCE_OWENER_ERROR', 'errorMessage' => 'Cannot operate the eip.', 'description' => ''], ['errorCode' => 'NATGATEWAY_FINANCIALLOCKED', 'errorMessage' => 'The NatGateway has expire, cannot do bind operation.', 'description' => ''], ['errorCode' => 'InvalidParameter.InstanceTypeNotSupport', 'errorMessage' => 'The specified instance type is not support.', 'description' => ''], ['errorCode' => 'QuotaExceeded.NumberOfTrafficEip', 'errorMessage' => 'The number of traffic eip on natgw exceed limitation.', 'description' => ''], ['errorCode' => 'QuotaExceeded.NumberOfEip', 'errorMessage' => 'Binded eip Quota exceed on this NatGw.', 'description' => 'The number of EIPs associated with the NAT gateway exceeds the upper limit.'], ['errorCode' => 'Forbidden.EipCanNotBindGatgw', 'errorMessage' => 'Eip can not bind on natgw.', 'description' => ''], ['errorCode' => 'InvalidAction.Denied', 'errorMessage' => 'Action is denied due to unfinished Eip configuration modification.', 'description' => 'The EIP configurations are not complete and the operation is denied.'], ['errorCode' => 'InstanceType.NotSupport', 'errorMessage' => 'The instance type is invalid.', 'description' => ''], ['errorCode' => 'InvalidParams.NotFound', 'errorMessage' => 'instance not found', 'description' => ''], ['errorCode' => 'BindInstance.NotSupported', 'errorMessage' => 'bind instance type %s is not supported.', 'description' => ''], ['errorCode' => 'Forbidden.InstanceBandwidthNotZero', 'errorMessage' => 'Eip can not bind with instance when it\'s bandwidth is not zero.', 'description' => ''], ['errorCode' => 'INSTANCE_TYPE_NOT_SUPPORT', 'errorMessage' => 'The instance type is invalid.', 'description' => ''], ['errorCode' => 'ServerRegion.Invalid', 'errorMessage' => 'Eip bind remote server region invalid.', 'description' => ''], ['errorCode' => 'Eni.Attached', 'errorMessage' => 'The eni should be detached from ecs when associating with direct eip.', 'description' => 'If the ENI is associated with an EIP in cut-through mode, you must disassociate the ENI from the ECS instance.'], ['errorCode' => 'Eni.HasSubIp', 'errorMessage' => 'Eni has sub ip can not bind direct eip.', 'description' => ''], ['errorCode' => 'Invalid.DirectEip.BindType', 'errorMessage' => 'The direct eip can be only associated with eni.', 'description' => ''], ['errorCode' => 'InvalidStatus.EcsStatusNotSupport', 'errorMessage' => 'The special instance status is not support operate', 'description' => ''], ['errorCode' => 'Invalid.Function.NotSupported', 'errorMessage' => 'Multi-IP function is under test, the region or uid is not supported.', 'description' => ''], ['errorCode' => 'InvalidStatus.EniStatusNotSupport', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidParameter.EniInstanceId', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidNexthop.DirectEni', 'errorMessage' => 'The direct Eni cannot be nexthop.', 'description' => 'An ENI in cut-through mode cannot be specified as a next hop.'], ['errorCode' => 'Mode.Conflict', 'errorMessage' => 'The eni can bind only one mode of eip.', 'description' => ''], ['errorCode' => 'Mode.NotSupport', 'errorMessage' => 'The user cannot use multi direct eip.', 'description' => ''], ['errorCode' => 'QuotaExceed.MultiBindedEip', 'errorMessage' => 'The number of multi binded eip is over limit.', 'description' => 'the number of multi-passthrough mode eips that can be bound exceeds the limit.'], ['errorCode' => 'InvalidEIPStatus.BizDisabled', 'errorMessage' => 'The EIP has been locked.', 'description' => 'The error message returned because the EIP is locked.'], ['errorCode' => 'OperationFailed.EniSubIp', 'errorMessage' => 'Eni has sub ip can not bind direct eip.', 'description' => ''], ['errorCode' => 'InvalidEip.EipQuotaExceeded', 'errorMessage' => 'The specified eni assigned eip is more than privateIp.', 'description' => ''], ['errorCode' => 'OperationUnsupported.MultiIp', 'errorMessage' => 'Multi ip function is not support.', 'description' => ''], ['errorCode' => 'InvalidNicOrVm.NotFound', 'errorMessage' => 'Bind nic or vm not exist.', 'description' => 'The bound NIC or VM does not exist.'], ['errorCode' => 'OperationUnsupported.EipBindModel', 'errorMessage' => 'The instance type of ecs does not support MULTI_BINDED model Eip.', 'description' => ''], ['errorCode' => 'IncorrectStatus.NatGateway', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'EipBindRemote.BackendRegionMustBeSingle', 'errorMessage' => 'eip bind remote instance, backend region must be single', 'description' => ''], ['errorCode' => 'InvalidParameter.BindingInstanceRegion', 'errorMessage' => 'The specified BindingInstanceRegion is not supported.', 'description' => ''], ['errorCode' => 'OperationFailed.HavipBoundPortmap', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.Mode', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidStatus.NotAllow', 'errorMessage' => 'Bind instance status invalid', 'description' => 'The status of the associated instance is invalid.'], ['errorCode' => 'InvalidInstance.NotExist', 'errorMessage' => 'Bind instance data not exist', 'description' => ''], ['errorCode' => 'InvalidBandwidthPackageId.NotFound', 'errorMessage' => 'The specified BandwidthPackageId not exist.', 'description' => ''], ['errorCode' => 'InvalidStatus.InstanceHasBandWidth', 'errorMessage' => 'The specified instance bandwidth invalid.', 'description' => ''], ['errorCode' => 'OperationDenied.CloudBoxResourceExist', 'errorMessage' => 'The operation is not allowed because there are resources related to the cloud box in VPC.', 'description' => 'The operation is not allowed because CloudBox-related resources exist in the VPC.'], ['errorCode' => 'OperationDenied.CloudBoxVSwitchExist', 'errorMessage' => 'The operation is not allowed because a cloud box type vSwitch exists in VPC.', 'description' => 'The operation is not allowed because vSwitches of the CloudBox type exist in the VPC.'], ['errorCode' => 'OperationDenied.NoAvailablePrivateIp', 'errorMessage' => 'The operation is failed because of vSwitch has not availalbe private ip', 'description' => 'The vSwitch does not have sufficient private IP addresses.'], ['errorCode' => 'ResourceAlreadyAssociated.IpAddress', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationFailed.Ipv4GatewayNotOpenedInVpc', 'errorMessage' => 'The operation is failed because Ipv4Gateway is not opened in Vpc.', 'description' => 'The error message returned because the VPC does not have IPv4 gateways enabled and the IP address failed to be associated with the EIP.'], ['errorCode' => 'OperationFailed.Ipv4GatewayNotActivatedInVpc', 'errorMessage' => 'The operation is failed because Ipv4Gateway is not activated in Vpc.', 'description' => ''], ['errorCode' => 'OperationDenied.L2EipBindIpAddress', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'The eip instance owner error', 'description' => 'The EIP does not belong to your account. Check whether you are authorized to perform the operation on the EIP.'], ['errorCode' => 'Forbidden.FinancialLocked', 'errorMessage' => 'The ip business status is invalid.', 'description' => 'The error message returned because the instance has overdue payments.'], ['errorCode' => 'UnsupportedFeature.EipBindIpAddress', 'errorMessage' => 'The feature of EipBindIpAddress is not supported.', 'description' => 'The error message returned because the EIP does not support the IpAddress parameter.'], ['errorCode' => 'OperationFailed.InstanceNotExist', 'errorMessage' => 'The ECS instance does not exist, or is not a VPC VM.', 'description' => 'The EIP failed to be associated with the ECS instance because the ECS instance does not exist or is not a VPC virtual machine.'], ['errorCode' => 'OperationDenied.Ipv4GatewayExist', 'errorMessage' => 'The operation is not allowed because of Ipv4GatewayExist.', 'description' => ''], ['errorCode' => 'OperationFailed.EipBindModeConflict', 'errorMessage' => 'Eips can not bind Eni with NAT mode and MULTI_BINDED mode at the same time.', 'description' => ''], ['errorCode' => 'OperationFailed.EcsMigrating', 'errorMessage' => 'The operation is failed because of ECS is migrating.', 'description' => ''], ['errorCode' => 'OperationFailed.IpPrefixConflict', 'errorMessage' => 'The operation failed due to the IP prefix of the ENI.', 'description' => 'The operation conflicts with the IP address prefix of the ENI.'], ['errorCode' => 'UnsupportedFeature.EipBindPrefixIp', 'errorMessage' => 'The feature of EipBindPrefixIp is not supported.', 'description' => 'You cannot associate an EIP with a prefix list in the current region.'], ['errorCode' => 'OperationDenied.UnsupportedEipBindMode', 'errorMessage' => 'The operation is not supported for the NAT gateway due to its EIP binding mode.', 'description' => 'The operation is not supported by the EIP binding mode of the NAT gateway.'], ['errorCode' => 'OperationDenied.Unauthorized', 'errorMessage' => 'The operation is not allowed because the user is not in the whitelist.', 'description' => 'The operation is not allowed because you are not in the whitelist.'], ['errorCode' => 'OperationFailed.SystemBusy', 'errorMessage' => 'Operation failed because system is busy.', 'description' => 'The error message returned because the system is busy. Try again later.'], ['errorCode' => 'OperationFailed.PrivateIpAddressNotExist', 'errorMessage' => 'The operation failed because the PrivateIpAddress is not found.', 'description' => 'The specified private IP address is invalid.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'The parameter mode is invalid.'], ['errorCode' => 'MissingParam.InstanceId', 'errorMessage' => 'The param of InstanceId can\'t be null or empty.', 'description' => 'InstanceId cannot be empty'], ['errorCode' => 'InvalidEniType.SlaveEni', 'errorMessage' => 'The eni type cannot be slave eni.', 'description' => 'The ENI type cannot be a secondary ENI.'], ['errorCode' => 'IllegalParam.PrivateIpAddress', 'errorMessage' => 'The specified PrivateIpAddress is illegal.', 'description' => 'The specified PrivateIpAddress is invalid. Check the parameter constraints and try again after modification.'], ['errorCode' => 'OperationFailed.Ipv4GatewayNotAssociatedWithGatewayRouteTable', 'errorMessage' => 'The operation failed because the specified IPv4 gateway of the VPC is not associated with any gateway route table.', 'description' => 'The operation failed because the specified IPv4 gateway of the VPC is not associated with any gateway route table.'], ], 404 => [ ['errorCode' => 'InvalidAllocationId.NotFound', 'errorMessage' => 'Specified allocation ID is not found.', 'description' => ''], ['errorCode' => 'InvalidInstanId.NotFound', 'errorMessage' => 'Specified instance does not exist.', 'description' => ''], ['errorCode' => 'Forbidden.RegionNotFound', 'errorMessage' => 'Specified instance is not found during access authentication.', 'description' => 'The error message returned because the region is not supported.'], ['errorCode' => 'OperationDenied.VpcIpv4GatewayEnabled', 'errorMessage' => 'The operation is not allowed because of the VPC of the NAT gateway has opened IPv4 Gateway.', 'description' => 'IPv4 gateways are enabled for the VPC where the NAT gateway resides and the operation is denied.'], ], ], 'title' => 'Associate an EIP with a cloud resource instance', 'summary' => 'Associates an elastic IP address (EIP) with a cloud resource instance in the same region.', 'description' => '- An EIP can be associated with a virtual private cloud (VPC)-type ECS instance, a VPC-type CLB instance, a secondary elastic network interface (ENI), an Internet NAT gateway, or a high-availability virtual IP address (HAVIP) in the same region.'."\n" ."\n" .'- The **AssociateEipAddress** operation is asynchronous. After you send a request, the system returns a request ID, but the association between the EIP and the cloud resource instance is not yet complete. The association task continues to run in the background. You can invoke [DescribeEipAddresses](~~120193~~) to query the status of the EIP:'."\n" .' - If the EIP is in the **Associating** state, the EIP is being associated. In this state, you can only execute query operations.'."\n" .' - If the EIP is in the **InUse** state, the EIP is associated.'."\n" .'- The **AssociateEipAddress** operation does not support concurrent requests to associate the same EIP with cloud resource instances.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-11-18T12:37:19.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-09-25T09:29:56.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-12-13T12:53:05.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-24T02:14:03.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-26T06:23:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-23T06:18:19.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2022-12-05T09:33:00.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-05T06:59:06.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-29T10:25:33.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-17T11:38:45.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-14T06:28:04.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2022-08-29T01:43:30.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-01-12T03:51:55.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateEipAddress'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:AssociateEipAddress', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Instance', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:instance/{#InstanceId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Association', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/{#HaVipId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]', ], 'AssociateEipAddressBatch' => [ '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' => 'The region ID of the EIPs to associate with the cloud service instance.'."\n" ."\n" .'You can call [DescribeRegions](~~36063~~) to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'BindedInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the cloud service instance to attach the EIPs to.'."\n" ."\n" .'You can specify the instance ID of an Internet NAT gateway instance or a secondary network interface controller (NIC) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ngw-hp3akk9irtd69jad****', 'title' => ''], ], [ 'name' => 'BindedInstanceType', 'in' => 'query', 'schema' => ['description' => 'The type of the instance to attach the EIPs to. Valid values:'."\n" .'- **Nat**: Internet NAT gateway.'."\n" .'- **NetworkInterface**: secondary network interface controller (NIC).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Nat', 'title' => ''], ], [ 'name' => 'Mode', 'in' => 'query', 'schema' => ['description' => 'The association mode. Set the value to **MULTI_BINDED**, which specifies the multi-EIP-to-ENI mode.'."\n" ."\n" .'This parameter is required only when **InstanceType** is set to **NetworkInterface**.', 'type' => 'string', 'required' => false, 'example' => 'MULTI_BINDED', 'title' => ''], ], [ 'name' => 'InstanceIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of EIPs to associate with the cloud service instance.'."\n" ."\n" .'You must specify at least 1 EIP and can specify up to 50 EIPs.', 'type' => 'array', 'items' => ['description' => 'The ID of the EIP instance to associate with the cloud service instance.'."\n" ."\n" .'You must specify at least 1 EIP instance ID and can specify up to 50 EIP instance IDs.', 'type' => 'string', 'required' => false, 'example' => 'eip-2zeerraiwb7ujsxdc**** ', 'title' => ''], 'required' => true, 'maxItems' => 50, 'title' => '', 'example' => '', ], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidAssociation.Duplicated', 'errorMessage' => 'Specified instance already is associated.', 'description' => ''], ['errorCode' => 'OperationDenied', 'errorMessage' => 'Specified instance is not in VPC.', 'description' => ''], ['errorCode' => 'InvalidParameter.Mismatch', 'errorMessage' => 'Specified elastic IP address and ECS instance are not in the same region.', 'description' => ''], ['errorCode' => 'IncorrectEipStatus', 'errorMessage' => 'Current elastic IP status does not support this operation', 'description' => ''], ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'Current instance status does not support this operation.', 'description' => ''], ['errorCode' => 'InvalidInstanceType.ValueNotSupported', 'errorMessage' => 'The specified value of InstanceType is not supported.', 'description' => ''], ['errorCode' => 'IncorrectHaVipStatus', 'errorMessage' => 'HaVip can be operated by this action only when it\'s status is Available or InUse.', 'description' => 'The operation supports only HAVIPs in the Available or InUse state.'], ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is not valid.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'The eip instance owener error', 'description' => 'The EIP does not belong to your account. Check whether you have the permissions to perform the operation on the EIP.'], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The eip operate too frequent, TaskConflict.', 'description' => 'Operations are too frequent and tasks conflict with each other.'], ['errorCode' => 'InvalidBindingStatus', 'errorMessage' => 'The eip binding status invalid.', 'description' => ''], ['errorCode' => 'BIND_INSTANCE_HAVE_PORTMAP_OR_BIND_EIP', 'errorMessage' => 'The instance may have portMap or already bind eip.', 'description' => 'The ECS instance already has a port forwarding rule (DNAT). Delete the corresponding port forwarding rule before performing the operation.'], ['errorCode' => 'EIP_CAN_NOT_ASSOCIATE_WITH_PUBLIC_IP', 'errorMessage' => 'instance already bind natpublicip,cannot bind eip.', 'description' => ''], ['errorCode' => 'BIND_INSTANCE_OWENER_ERROR', 'errorMessage' => 'Cannot operate the eip.', 'description' => ''], ['errorCode' => 'NATGATEWAY_FINANCIALLOCKED', 'errorMessage' => 'The NatGateway has expire, cannot do bind operation.', 'description' => ''], ['errorCode' => 'InvalidParameter.InstanceTypeNotSupport', 'errorMessage' => 'The specified instance type is not support.', 'description' => ''], ['errorCode' => 'QuotaExceeded.NumberOfTrafficEip', 'errorMessage' => 'The number of traffic eip on natgw exceed limitation.', 'description' => ''], ['errorCode' => 'QuotaExceeded.NumberOfEip', 'errorMessage' => 'Binded eip Quota exceed on this NatGw.', 'description' => 'The number of EIPs associated with the NAT gateway exceeds the upper limit.'], ['errorCode' => 'InvalidEipBandwidth.OutOfMaxValue', 'errorMessage' => 'The Eip Bandwidth is invalid.', 'description' => ''], ['errorCode' => 'Forbidden.EipCanNotBindGatgw', 'errorMessage' => 'Eip can not bind on natgw.', 'description' => ''], ['errorCode' => 'InvalidAction.Denied', 'errorMessage' => 'Action is denied due to unfinished Eip configuration modification.', 'description' => 'The EIP configurations are not complete and the operation is denied.'], ['errorCode' => 'InstanceType.NotSupport', 'errorMessage' => 'The instance type is invalid.', 'description' => ''], ['errorCode' => 'InvalidParams.NotFound', 'errorMessage' => 'instance not found', 'description' => ''], ['errorCode' => 'BindInstance.NotSupported', 'errorMessage' => 'bind instance type %s is not supported.', 'description' => ''], ['errorCode' => 'Forbidden.InstanceBandwidthNotZero', 'errorMessage' => 'Eip can not bind with instance when it\'s bandwidth is not zero.', 'description' => ''], ['errorCode' => 'INSTANCE_TYPE_NOT_SUPPORT', 'errorMessage' => 'The instance type is invalid.', 'description' => ''], ['errorCode' => 'ServerRegion.Invalid', 'errorMessage' => 'Eip bind remote server region invalid.', 'description' => ''], ['errorCode' => 'Eni.Attached', 'errorMessage' => 'The eni should be detached from ecs when associating with direct eip.', 'description' => 'If the ENI is associated with an EIP in cut-through mode, you must disassociate the ENI from the ECS instance.'], ['errorCode' => 'Invalid.DirectEip.BindType', 'errorMessage' => 'The direct eip can be only associated with eni.', 'description' => ''], ['errorCode' => 'Invalid.Function.NotSupported', 'errorMessage' => 'Multi-IP function is under test, the region or uid is not supported.', 'description' => ''], ['errorCode' => 'InvalidStatus.EniStatusNotSupport', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidParameter.EniInstanceId', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => '%s', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'EipBatchBind.TypeNotSupport', 'errorMessage' => 'eip batch bind type not support', 'description' => ''], ['errorCode' => 'OperationFailed.RegionNotMatch', 'errorMessage' => 'The specified eip is not in this region', 'description' => ''], ['errorCode' => 'InvalidEIPStatus.BizDisabled', 'errorMessage' => 'The EIP has been locked.', 'description' => 'The error message returned because the EIP is locked.'], ['errorCode' => 'Forbidden.FinancialLocked', 'errorMessage' => 'The ip business status is invalid.', 'description' => 'The error message returned because the instance has overdue payments.'], ['errorCode' => 'OperationDenied.Unauthorized', 'errorMessage' => 'The operation is not allowed because the user is not in the whitelist.', 'description' => 'The operation is not allowed because you are not in the whitelist.'], ['errorCode' => 'OperationDenied.UnsupportedEipBindMode', 'errorMessage' => 'The operation is not supported for the NAT gateway due to its EIP binding mode.', 'description' => 'The operation is not supported by the EIP binding mode of the NAT gateway.'], ['errorCode' => 'OperationDenied.Ipv4GatewayExist', 'errorMessage' => 'The operation is not allowed because of Ipv4GatewayExist.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidAllocationId.NotFound', 'errorMessage' => 'Specified allocation ID is not found.', 'description' => ''], ['errorCode' => 'InvalidInstanId.NotFound', 'errorMessage' => 'Specified instance does not exist.', 'description' => ''], ['errorCode' => 'Forbidden.RegionNotFound', 'errorMessage' => 'Specified instance is not found during access authentication.', 'description' => 'The error message returned because the region is not supported.'], ['errorCode' => 'OperationDenied.VpcIpv4GatewayEnabled', 'errorMessage' => 'The operation is not allowed because of the VPC of the NAT gateway has opened IPv4 Gateway.', 'description' => 'IPv4 gateways are enabled for the VPC where the NAT gateway resides and the operation is denied.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeEipAddresses', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'Associate multiple eIPs with a cloud service instance in a batch', 'summary' => 'Associates multiple elastic IP addresses (EIPs) with a cloud service instance in the same region in a batch.', 'description' => '- **AssociateEipAddressBatch** associates multiple EIPs with a cloud service instance in a batch. This operation supports only batch attachment of EIPs to an Internet NAT gateway instance or a secondary network interface controller (NIC) instance in the same region. To associate an EIP with other cloud service instances, call [AssociateEipAddress](~~120195~~).'."\n" .'- **AssociateEipAddressBatch** is an asynchronous operation. After you invoke this operation, the system returns a request ID, but the EIP instances are not yet attached to the cloud service instance. The attachment task continues to run in the background. You can invoke [DescribeEipAddresses](~~120193~~) to query the status of an EIP instance:'."\n" .' - If the EIP instance is in the **Associating** state, the EIP instance is being attached. In this state, you can only execute query operations.'."\n" .' - If the EIP instance is in the **InUse** state, the EIP instance is attached.'."\n" .'- **AssociateEipAddressBatch** does not support concurrent attachment of the same EIP instance with cloud service instances.', 'changeSet' => [ ['createdAt' => '2023-06-26T06:23:09.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-05-15T06:29:29.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-23T06:18:19.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateEipAddressBatch'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:AssociateEipAddressBatch', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Instance', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:instance/{#InstanceId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","type":"json"}]', ], 'AssociateHaVip' => [ 'summary' => 'Invokes the AssociateHaVip operation to attach an HaVip to an ECS instance or a network interface controller (NIC) in a virtual private cloud (VPC).', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request may be different.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the HaVip.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'HaVipId', 'in' => 'query', 'schema' => ['description' => 'The ID of the HaVip to be associated.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'havip-2zeo05qre24nhrqpy****', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the ECS instance to attach to the HaVip.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'i-faf344422ffsfad****', 'title' => ''], ], [ 'name' => 'InstanceType', 'in' => 'query', 'schema' => ['description' => 'The type of the instance to attach to the HaVip. Valid values:'."\n" ."\n" .'- **EcsInstance**: ECS instance.'."\n" ."\n" .'- **NetworkInterface**: network interface controller (NIC) instance. If the instance to attach to the HaVip is a network interface controller (NIC), this parameter is required.', 'type' => 'string', 'required' => false, 'example' => 'EcsInstance', 'title' => ''], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationUnsupported.BindOnFreeNetworkInterface', 'errorMessage' => 'The network interface must be attached to an ECS instance.', 'description' => 'The ENI must be associated with an ECS instance.'], ['errorCode' => 'OperationUnsupported.BindMultipleType', 'errorMessage' => 'You cannot bind HaVip to multiple instance types.', 'description' => 'You cannot associate the ECS instance and the ENI at the same time.'], ['errorCode' => 'OperationUnsupported.BindOnMultipleVswitch', 'errorMessage' => 'The bound instance and HaVip must be on the same vSwitch.', 'description' => 'The instance to be associated and the HAVIP must belong to the same vSwitch.'], ['errorCode' => 'InvalidVip.Status', 'errorMessage' => 'vip invalid status', 'description' => ''], ['errorCode' => 'IncorrectHaVipStatus', 'errorMessage' => 'HaVip can be operated by this action only when it\'s status is Available or InUse.', 'description' => 'The operation supports only HAVIPs in the Available or InUse state.'], ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'ECS instance can be operated by this action only when it?s status is Running or Stopped.', 'description' => ''], ['errorCode' => 'CountLimitExceed.HaVipOnInstance', 'errorMessage' => 'The amount of HaVip associated with the specified Instance reach its limits.', 'description' => 'The number of HAVIPs has reached the upper limit.'], ['errorCode' => 'CountLimitExceeded.HaVipOnECSInstance', 'errorMessage' => 'The amount of Instance associated with the specified HaVip reach its limits.', 'description' => 'The number of HAVIPs has reached the upper limit.'], ['errorCode' => 'OperationFailed.DistibuteLock', 'errorMessage' => 'Distibute lock fail.', 'description' => 'The operation is locked by another request;'], ['errorCode' => 'InvalidNetworkInterfaceId.NotFound', 'errorMessage' => 'The network interface is not found.', 'description' => 'The ENI does not exist.'], ['errorCode' => 'OperationFailed.QueryNetworkInterfaceInfo', 'errorMessage' => 'Failed to query network interface information.', 'description' => 'The system failed to query ENI information.'], ['errorCode' => 'IllegalParam.InstanceType', 'errorMessage' => 'The specified instance type is invalid. Only ECS instances and network interface are allowed.', 'description' => 'The type of the associated instance does not support this operation.'], ['errorCode' => 'OperationUnsupported.BindOnSameEcs', 'errorMessage' => 'You cannot bind two network interfaces on the same ECS instance.', 'description' => 'You are not allowed to associate two ENIs of the same ECS instance.'], ['errorCode' => 'OperationUnsupported.HavipBindType', 'errorMessage' => 'You cannot bind HAVIP to network interface in the specified region.', 'description' => 'You are not allowed to associate ENIs 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', 'description' => ''], ['errorCode' => 'OperationDenied.BindOnSameEcs', 'errorMessage' => 'The operation is not allowed because networkinterface bind on same instance.', 'description' => ''], ['errorCode' => 'Forbidden.HaVip', 'errorMessage' => 'No permissions to perform operations on HAVIPs. Please apply for privilege--vpc_privilege_allow_buy_havip_instance.', 'description' => 'The error message returned because you do not have the permissions to manage the HAVIP. Go to the Quota Center page to acquire the permissions.'], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The specified Instance does not exist in the specified region.', 'description' => ''], ['errorCode' => 'ResourceNotFound.EcsInstance', 'errorMessage' => 'The specified resource of ECS instance is not found.', 'description' => ''], ['errorCode' => 'InvalidStatus.NotAllow', 'errorMessage' => 'Bind instance status invalid', 'description' => 'The status of the associated instance is invalid.'], ['errorCode' => 'InvalidHaVip.Exist', 'errorMessage' => 'haVip already bind exist.', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'QuotaExceeded.HaVipBindInstance', 'errorMessage' => 'The amount of instance associated with the specified haVip reach its limits.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidHaVipId.NotFound', 'errorMessage' => 'The specified HaVip does not exist in the specified region.', 'description' => 'The specified HAVIP does not exist in the specified region. Check whether the specified region is correct.'], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The specified Instance does not exist in the specified region.', 'description' => ''], ], ], 'title' => 'Attach an HaVip to a VPC-connected ECS instance', 'description' => 'When you call this operation to associate an HaVip, take note of the following items:'."\n" ."\n" .'- The HaVip takes effect immediately after it is attached without the need to restart the ECS instance. However, you must configure the HaVip on the elastic network interfaces (ENIs) of the ECS instance.'."\n" ."\n" .'- The HaVip and the ECS instance to be associated must belong to the same vSwitch.'."\n" ."\n" .'- An HaVip can be attached to up to 10 ECS instances or up to 10 network interface controllers (NICs) at the same time. However, an HaVip cannot be associated with ECS instances and network interface controllers (NICs) simultaneously.'."\n" ."\n" .'- The ECS instance to be associated must be in the **Running** or **Stopped** state.'."\n" ."\n" .'- The HaVip instance must be in the **Available** or **InUse** state.'."\n" ."\n" .'- The **AssociateHaVip** operation is asynchronous. After you send a request, the system returns a request ID, but the HaVip association has not been completed. The association task is still running in the background. You can call [DescribeHaVips](~~114611~~) to query the association status of the HaVip:'."\n" .' - If the HaVip is in the **Associating** state, the HaVip is being associated.'."\n" .' - If the HaVip is in the **InUse** state, the HaVip is associated.'."\n" .'- The **AssociateHaVip** operation does not support concurrent association of the same HaVip.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-11-20T01:46:34.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-09-25T07:38:52.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-10T01:47:38.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-01-11T06:07:05.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-01-10T15:26:10.000Z', 'description' => 'Error codes changed, Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateHaVip'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AssociateHaVip', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Instance', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:instance/{#InstanceId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'HaVip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/{#HaVipId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\"\\n}","type":"json"}]', ], 'AssociateMacSecKey' => [ 'summary' => 'This operation associates a MacSec key with a port on a dedicated physical connection. It uses dedicated encryption hardware, such as a NIC or switch, to perform low-latency encryption and decryption. It directly encrypts the physical link, such as a fiber optic or Ethernet cable, to protect all traffic from the sender to the receiver.', 'methods' => ['post', 'get'], 'schemes' => ['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' => 'The region ID of the Express Connect physical connection.'."\n" ."\n" .'You can call the [DescribeRegions](~~448570~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'PhysicalConnectionId', 'in' => 'query', 'schema' => ['title' => 'Express Connect circuit ID.', 'description' => 'The ID of the Express Connect physical connection.', 'type' => 'string', 'required' => true, 'example' => 'pc-bp1hp0wr072f6****'], ], [ 'name' => 'CipherSuite', 'in' => 'query', 'schema' => ['title' => 'Encryption algorithm type. Valid values:'."\n" .'● GCM-AES-128'."\n" .'● GCM-AES-XPN-128'."\n" .'● GCM-AES-256'."\n" .'● GCM-AES-XPN-256', 'description' => 'The cipher suite. Valid values:'."\n" ."\n" .'- GCM-AES-128'."\n" ."\n" .'- GCM-AES-XPN-128'."\n" ."\n" .'- GCM-AES-256'."\n" ."\n" .'- GCM-AES-XPN-256', 'type' => 'string', 'required' => true, 'example' => 'GCM-AES-128'], ], [ 'name' => 'Ckn', 'in' => 'query', 'schema' => ['title' => 'Key name. Only hexadecimal characters are supported. Lowercase characters are automatically converted to uppercase. When the encryption algorithm type is GCM-AES-128 or GCM-AES-XPN-128, the length must be 32 characters. When the encryption algorithm type is GCM-AES-256 or GCM-AES-XPN-256, the length must be 64 characters.', 'description' => 'The key name. This parameter accepts only hexadecimal characters. Lowercase letters are automatically converted to uppercase. The cipher suite determines the required length of the key name: 32 hexadecimal characters for GCM-AES-128 or GCM-AES-XPN-128, and 64 hexadecimal characters for GCM-AES-256 or GCM-AES-XPN-256.', 'type' => 'string', 'required' => true, 'example' => '0123456789ABCDEF0123456789ABCDEF'], ], [ 'name' => 'Cak', 'in' => 'query', 'schema' => ['title' => 'Passphrase. Only hexadecimal characters are supported. Lowercase characters are automatically converted to uppercase. When the encryption algorithm type is GCM-AES-128 or GCM-AES-XPN-128, the length must be 32 characters. When the encryption algorithm type is GCM-AES-256 or GCM-AES-XPN-256, the length must be 64 characters.', 'description' => 'The key secret. This parameter accepts only hexadecimal characters. Lowercase letters are automatically converted to uppercase. The cipher suite determines the required length of the key secret: 32 hexadecimal characters for GCM-AES-128 or GCM-AES-XPN-128, and 64 hexadecimal characters for GCM-AES-256 or GCM-AES-XPN-256.', 'type' => 'string', 'required' => true, 'example' => '0123456789ABCDEF0123456789ABCDEF'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D32B3C26-6C6C-4988-93E9-D2A6444CE6AE', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter is invalid.'], ['errorCode' => 'ResourceNotFound.PhysicalConnectionId', 'errorMessage' => 'The specified resource of [%s] is not found.', 'description' => 'The Express Connect circuit does not exist.'], ['errorCode' => 'IncorrectStatus.PhysicalConnection', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The status of the physical connection does not support this operation.'], ['errorCode' => 'UnsupportedFeature.Macsec', 'errorMessage' => 'The feature of Macsec is not supported.', 'description' => 'The current physical connection does not support the MACSec feature.'], ['errorCode' => 'IncorrectStatus.PconnMacsec', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The operation is not allowed because the MACSec key is in an unstable state.'], ['errorCode' => 'QuotaExceeded.PconnMacsec', 'errorMessage' => 'The quota of PconnMacsec is exceeded, usage 3/3.', 'description' => 'A physical connection supports binding up to three sets of MACSec keys.'], ['errorCode' => 'UnsupportedFeature.Macsec.CipherSuite', 'errorMessage' => 'The feature of Macsec.CipherSuite is not supported.', 'description' => 'The current physical connection supports MACSec, but does not support the selected encryption algorithm.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribePhysicalConnections', 'callbackInterval' => 5, 'maxCallbackTimes' => 50], 'title' => 'Associate MacSec Key', 'description' => 'This operation has the following prerequisites:'."\n" ."\n" .'- The device that hosts the Express Connect physical connection supports the MacSec feature.'."\n" ."\n" .'- The Express Connect physical connection must be fully paid.'."\n" ."\n" .'- MacSec can be configured only on a dedicated physical connection.'."\n" ."\n" .'Note the following:'."\n" ."\n" .'- You can configure a maximum of three sets of Ckn and Cak.'."\n" ."\n" .'- If you associate a key that is in the Disassociated state, the system disassociates the previously active key.'."\n" ."\n" .'- If you associate a key that is in the AssociatedFailed state, the device renegotiates the session.', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D32B3C26-6C6C-4988-93E9-D2A6444CE6AE\\"\\n}","type":"json"}]', ], 'AssociateNetworkAcl' => [ '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' => 'The information about the associated resources.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'ResourceType' => ['description' => 'The type of resource with which you want to associate the network ACL. Set the value to **VSwitch**.'."\n" ."\n" .'Valid values of **N**: **0** to **29**. You can associate a network ACL with up to 30 vSwitches.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'VSwitch', 'title' => ''], 'ResourceId' => ['description' => 'The ID of the associated resource.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vsw-bp1de348lntdw****', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 100, 'title' => '', 'example' => '', ], ], [ 'name' => 'NetworkAclId', 'in' => 'query', 'schema' => ['description' => 'The ID of the network ACL.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'nacl-a2do9e413e0sp****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the network ACL. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the network ACL. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4CF20CC7-D1FC-425B-A15B-DF7C8E2131A7', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ParameterMissing.AliUid', 'errorMessage' => 'ParameterMissing.AliUid', 'description' => ''], ['errorCode' => 'ParameterMissing.Bid', 'errorMessage' => 'ParameterMissing.Bid', 'description' => ''], ['errorCode' => 'ParameterMissing.RegionId', 'errorMessage' => 'ParameterMissing.RegionId', 'description' => ''], ['errorCode' => 'ParameterEmpty.RegionId', 'errorMessage' => 'ParameterEmpty.RegionId', 'description' => ''], ['errorCode' => 'ParameterMissing.NetworkAclId', 'errorMessage' => 'ParameterMissing.NetworkAclId', 'description' => ''], ['errorCode' => 'ParameterEmpty.NetworkAclId', 'errorMessage' => 'ParameterEmpty.NetworkAclId', 'description' => ''], ['errorCode' => 'ParameterMissing.Resources', 'errorMessage' => 'ParameterMissing.Resources', 'description' => ''], ['errorCode' => 'ParameterEmpty.Resources', 'errorMessage' => 'ParameterEmpty.Resources', 'description' => ''], ['errorCode' => 'InvalidNetworkAcl.NotFound', 'errorMessage' => 'The special Network Acl is not found.', 'description' => 'The network ACL is not found.'], ['errorCode' => 'NetworkStatus.Modifying', 'errorMessage' => 'The special Network Acl is in modifying.', 'description' => 'The network ACL is being modified.'], ['errorCode' => 'ResourceStatus.Error', 'errorMessage' => 'The binding instance is in middle status.', 'description' => 'The status of the instance is invalid.'], ['errorCode' => 'InvalidResource.NotFound', 'errorMessage' => 'The binding instance is not found.', 'description' => ''], ['errorCode' => 'InvalidResource.VpcError', 'errorMessage' => 'The network acl and resource not in same vpc.', 'description' => ''], ['errorCode' => 'InvalidResource.BindingExist', 'errorMessage' => 'The binding instance has been binded.', 'description' => 'The instance is already in the Associated state.'], ['errorCode' => 'NotSupport.NetworkAcl', 'errorMessage' => 'Network acl is not support now.', 'description' => ''], ['errorCode' => 'ParameterIllegal.ResourceType', 'errorMessage' => 'The specified resource type is illegal.', 'description' => ''], ['errorCode' => 'MissingParam.Resource', 'errorMessage' => 'Missing parameter Resource.', 'description' => 'Missing parameter Resource'], ['errorCode' => 'OperationDenied.NetworkAclAttachmentInMiddleStatus', 'errorMessage' => 'The network ACL is being bound to or unbound from the switch.', 'description' => '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.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeNetworkAcls', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'AssociateNetworkAcl', 'summary' => 'Associates a network access control list (ACL) with a vSwitch.', 'description' => '## [](#)Description'."\n" ."\n" .'* **AssociateNetworkAcl** 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 [DescribeNetworkAclAttributes](~~116542~~) operation to query the status of the task.'."\n" ."\n" .' * If the network ACL is in the **BINDING** state, the network ACL is being associated.'."\n" .' * If the network ACL is in the **BINDED** state, the network ACL is associated.'."\n" ."\n" .'* You cannot repeatedly call the **AssociateNetworkAcl** operation to associate a network ACL within the specified period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-11-14T07:59:30.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-11-24T05:37:30.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2022-07-12T08:35:37.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4CF20CC7-D1FC-425B-A15B-DF7C8E2131A7\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4CF20CC7-D1FC-425B-A15B-DF7C8E2131A7\\n","errorExample":""}]', ], 'AssociatePhysicalConnectionToVirtualBorderRouter' => [ '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' => 'The region ID of the Express Connect circuit.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VbrId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VBR.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vbr-bp186tnz6rijyhj******', 'title' => ''], ], [ 'name' => 'PhysicalConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Express Connect circuit.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'pc-bp1qrb3044eqixog****', 'title' => ''], ], [ 'name' => 'VlanId', 'in' => 'query', 'schema' => ['description' => 'The VLAN ID of the VBR. Valid values: **0 to 2999**.'."\n" ."\n" .'> Only the Express Connect circuit owner can specify this parameter. Two VBRs associated with the same Express Connect circuit cannot use the same VLAN ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '123', 'title' => ''], ], [ 'name' => 'CircuitCode', 'in' => 'query', 'schema' => ['description' => 'The circuit code of the Express Connect circuit. The circuit code is provided by the connectivity provider.'."\n" ."\n" .'> Only the Express Connect circuit owner can specify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'longtel001', 'title' => ''], ], [ 'name' => 'LocalGatewayIp', 'in' => 'query', 'schema' => ['description' => 'The IP address of the gateway device on the Alibaba Cloud side.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''], ], [ 'name' => 'PeerGatewayIp', 'in' => 'query', 'schema' => ['description' => 'The IP address of the gateway device on the user side.'."\n" ."\n" .'* Only the owner of the VBR can set or modify this parameter.'."\n" .'* When you create a VBR for the owner of the Express Connect circuit, this parameter is required.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''], ], [ 'name' => 'PeeringSubnetMask', 'in' => 'query', 'schema' => ['description' => 'The subnet mask of the IP addresses of the VBR and the gateway device in the data center.'."\n" ."\n" .'The two IP addresses must fall within the same subnet.'."\n", 'type' => 'string', 'required' => false, 'example' => '255.255.255.0', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'LocalIpv6GatewayIp', 'in' => 'query', 'schema' => ['description' => 'The IPv6 address of the gateway device on the Alibaba Cloud side.'."\n", 'type' => 'string', 'required' => false, 'example' => '2001:XXXX:3c4d:0015:0000:0000:0000:1a2b', 'title' => ''], ], [ 'name' => 'PeerIpv6GatewayIp', 'in' => 'query', 'schema' => ['description' => 'The IPv6 address of the gateway device in the data center.'."\n" ."\n" .'* Only the owner of the VBR can specify or modify this parameter.'."\n" .'* When you create a VBR for the owner of the Express Connect circuit, this parameter is required.'."\n", 'type' => 'string', 'required' => false, 'example' => '2001:XXXX:4:4:4:4:4:4', 'title' => ''], ], [ 'name' => 'PeeringIpv6SubnetMask', 'in' => 'query', 'schema' => ['description' => 'The subnet mask of the IPv6 addresses of the gateway devices on the user side and Alibaba Cloud side.'."\n" ."\n" .'The two IPv6 addresses must fall within the same subnet.'."\n", 'type' => 'string', 'required' => false, 'example' => '2408:4004:cc:400::/56', 'title' => ''], ], [ 'name' => 'EnableIpv6', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable IPv6. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false** (default)'."\n", 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '980960B0-2969-40BF-8542-EBB34FD358AB', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidOperation.RouterInterfaceNotDeleted', 'errorMessage' => 'The specified VirutalBorderRouter still has routerInterface.', 'description' => ''], ['errorCode' => 'InvalidOperation.OperationNotAllowedInState', 'errorMessage' => 'The specified VirutalBorderRouter is in invalid state.', 'description' => ''], ['errorCode' => 'InvalidStatus.NotAllowed', 'errorMessage' => 'Invalid virtual border router status.', 'description' => ''], ['errorCode' => 'InvalidPhysicalConnectionId.NotFound', 'errorMessage' => 'The specified PhysicalConnectionId is not found.', 'description' => 'The specified Express Connect circuit ID does not exist.'], ['errorCode' => 'InvalidVlanId.Used', 'errorMessage' => 'The specified VlanId has been used.', 'description' => ''], ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter \'PhysicalConnectionId\' that is mandatory for processing this request is not supplied.', 'description' => ''], ['errorCode' => 'InvalidPhysicalConnectionId.NotEnabled', 'errorMessage' => 'The specified PhysicalConnectionId is not in Enabled state.', 'description' => ''], ['errorCode' => 'InvalidVlanId.Malformed', 'errorMessage' => 'The specified VlanId is not valid.', 'description' => ''], ['errorCode' => 'InvalidCircuitCode.Malformed', 'errorMessage' => 'The specified CircuitCode is not valid.', 'description' => ''], ['errorCode' => 'InvalidLocalGatewayIp.Malformed', 'errorMessage' => 'The specified LocalGatewayIp is not valid.', 'description' => ''], ['errorCode' => 'InvalidPeerGatewayIp.Malformed', 'errorMessage' => 'The specified PeerGatewayIp is not valid.', 'description' => ''], ['errorCode' => 'InvalidPeeringSubnetMask.Malformed', 'errorMessage' => 'The specified PeeringSubnetMask is not valid.', 'description' => 'PeeringSubnetMask is set to an invalid value.'], ['errorCode' => 'InvalidName.Malformed', 'errorMessage' => 'The specified ?Name? is not valid.', 'description' => ''], ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'The specifid ?Description? is not valid.', 'description' => 'The error message returned because the specified resource description is invalid. The description must be 2 to 256 characters in length and cannot start with http:// or https://.'], ['errorCode' => 'QuotaExceeded.vbrPerpConn', 'errorMessage' => 'Virtual boarder router per PhysicalConnection quota exceed.', 'description' => ''], ['errorCode' => 'EXCEED_ASSOCIATE_MAX_NUM', 'errorMessage' => 'assocaite virtual boarder num too many.', 'description' => ''], ['errorCode' => 'InvalidIP.Malformed', 'errorMessage' => 'Ip malformed.', 'description' => ''], ['errorCode' => 'InvalidIp.NotSameSubnet', 'errorMessage' => 'Local gateway ip and peer gateway ip are not in the same subnet.', 'description' => 'The IP addresses of the local gateway and the peer gateway do not fall within the same subnet.'], ['errorCode' => 'InvalidStatus.StatusNotEnabled', 'errorMessage' => 'The physical connection status is invalid.', 'description' => ''], ['errorCode' => 'InvalidParams.AlreadyExists', 'errorMessage' => 'physical connection has already associated with vbr.', 'description' => ''], ['errorCode' => 'PHYSICAL_NOT_ALLOW_ASSOCIATE_VBR', 'errorMessage' => 'The specified operation not allow.', 'description' => ''], ['errorCode' => 'Forbidden.OperationNotAllowed', 'errorMessage' => 'The caller must be PhysicalConnection or VirtualBorderRouter\'s owner.', 'description' => ''], ['errorCode' => 'Forbidden.NotSameAccessDevice', 'errorMessage' => 'Vbr and physicalConnection are not on the same accessDevice.', 'description' => 'The VBR and Express Connect circuit do not belong to the same device.'], ['errorCode' => 'Duplicated.LocalGatewayIp', 'errorMessage' => 'Vbr has conflict local gateway ip.', 'description' => ''], ['errorCode' => 'OperationFailed.VlanIdInUse', 'errorMessage' => 'Operation failed because vlanId is in use.', 'description' => 'The VLAN ID is already used.'], ['errorCode' => 'OperationFailed.PconnTrafficNotEnable', 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', 'description' => 'Billing for outbound data transfer is disabled.'], ['errorCode' => 'DuplicatedParam.LocalGatewayIp', 'errorMessage' => 'Duplicated LocalGatewayIp values.', 'description' => 'The local IP address already exists.'], ['errorCode' => 'DuplicatedParam.PeerGatewayIp', 'errorMessage' => 'Duplicated PeerGatewayIp values.', 'description' => 'The peer IP address already exists.'], ['errorCode' => 'DuplicatedParam.LocalIpv6GatewayIp', 'errorMessage' => 'Duplicated LocalIpv6GatewayIp values.', 'description' => 'The local IP address already exists.'], ['errorCode' => 'DuplicatedParam.PeerIpv6GatewayIp', 'errorMessage' => 'Duplicated PeerIpv6GatewayIp values.', 'description' => 'The peer IP address already exists.'], ['errorCode' => 'EcPconnVbrMustContainsAll', 'errorMessage' => 'In the single VBR with multiple Pconn scene, all Pconn must be associated with the same Qos.', 'description' => 'In a single VBR and multiple Pconn scenarios, all Pconn must be bound to a QoS policy.'], ['errorCode' => 'IllegalParam.LocalGatewayIpAndMask', 'errorMessage' => 'The LocalGatewayIpAndMask value is invalid.', 'description' => 'The error message returned because the IP address of the local gateway and the subnet mask are invalid. Specify a valid IP address and subnet mask and try again.'], ['errorCode' => 'IllegalParam.PeeringIpv6SubnetMask', 'errorMessage' => 'The PeeringIpv6SubnetMask value is invalid.', 'description' => 'The error message returned because the subnet mask is invalid. Specify a valid subnet mask and try again.'], ], 403 => [ ['errorCode' => 'Forbidden.OperationNotAllowedByUser', 'errorMessage' => 'The caller is not allowed to delete the specified VirtualBorderRouter.', 'description' => ''], ['errorCode' => 'Forbidden.MultiVlanRi', 'errorMessage' => 'Multiple vlan router interfaces are found.', 'description' => ''], ['errorCode' => 'Forbidden.NoRiFound', 'errorMessage' => 'No vlan router interfaces are found.', 'description' => ''], ['errorCode' => 'Forbidden.LocalGatewayIpNotAllowedByCaller', 'errorMessage' => 'The caller is not allowed to specify the LocalGatewayIp parameter.', 'description' => ''], ['errorCode' => 'Forbidden.PeerGatewayIpNotAllowedByCaller', 'errorMessage' => 'The caller is not allowed to specify the PeerGatewayIp parameter.', 'description' => ''], ['errorCode' => 'Forbidden.PeeringSubnetMaskNotAllowedByCaller', 'errorMessage' => 'The caller is not allowed to specify the PeeringSubnetMask parameter.', 'description' => ''], ['errorCode' => 'Forbidden.NameNotAllowedByCaller', 'errorMessage' => 'The caller is not allowed to specify the Name parameter.', 'description' => ''], ['errorCode' => 'Forbidden.DescriptionNotAllowedByCaller', 'errorMessage' => 'The caller is not allowed to specify the Description parameter.', 'description' => ''], ], [ ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The specified Instance does not exist in the specified region.', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidVbrId.NotFound', 'errorMessage' => 'The specified VirutalBorderRouter does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidVbrOwnerId.NotFound', 'errorMessage' => 'The specified VbrOwnerId is not valid.', 'description' => ''], ], ], 'title' => 'AssociatePhysicalConnectionToVirtualBorderRouter', 'summary' => 'Associates a virtual border router (VBR) with a specified Express Connect circuit.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-03-19T10:32:29.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-06-28T02:56:12.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-02-01T03:33:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-04-10T03:22:23.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"980960B0-2969-40BF-8542-EBB34FD358AB\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 980960B0-2969-40BF-8542-EBB34FD358AB\\n","errorExample":""}]', ], 'AssociateRouteTable' => [ 'summary' => 'Associates a custom route table with a vSwitch in the same VPC.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPC to which the route table belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RouteTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the route table.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-bp145q7glnuzdvzu2****', 'title' => ''], ], [ 'name' => 'VSwitchId', 'in' => 'query', 'schema' => ['description' => 'The ID of the vSwitch.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vsw-25ncdvfaue4****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPC to which the route table belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'DC668356-BCB4-42FD-9BC3-FA2B2E04B634', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], '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.', 'description' => ''], ['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.', 'description' => ''], ['errorCode' => 'ResourceAlreadyAssociated.RouteTable', 'errorMessage' => 'The resource has already associated with a routetable.', 'description' => ''], ['errorCode' => 'OperationDenied.AssociateGatewayRouteTable', 'errorMessage' => 'The operation is not allowed because gateway route tables cannot be bound to a vSwitch.', 'description' => 'The vSwitch cannot be associated with a gateway route table.'], ['errorCode' => 'OperationDenied.SwitchToSystemRouteTable', 'errorMessage' => 'The associated route tables cannot be directly changed to system route tables.', 'description' => 'Failed to switch from the associated route table to the system route table.'], ['errorCode' => 'ResourceNotFound.VSwitch', 'errorMessage' => 'The specified resource of VSwitch is not found.', 'description' => 'The specified vSwitch does not exist.'], ['errorCode' => 'InvalidRouteTableId.NotFound', 'errorMessage' => 'Specified route table does not exist.', 'description' => ''], ['errorCode' => 'OperationDenied.LocalRouteEntryModified', 'errorMessage' => 'The next hop of a local route is modified.', 'description' => 'The next hop of the local type route has been modified.'], ['errorCode' => 'MissingParam.VSwitchId', 'errorMessage' => 'The parameter VSwitchId is missing.', 'description' => 'The parameter VSwitchId is missing.'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'Specified value of RegionId is not supported.', 'description' => ''], ['errorCode' => 'InvalidParameter.Action', 'errorMessage' => 'This vpc feature is not supported in this region', 'description' => ''], ['errorCode' => 'IncorrectVSwitchStatus', 'errorMessage' => 'The current status of the virtual switch does not support this operation.', 'description' => ''], ['errorCode' => 'Forbidden.VSwitchAlreadyAssociatedRouteTable', 'errorMessage' => 'The specified virtual switch already associates route table.', 'description' => ''], ['errorCode' => 'Forbidden.NotInSameVpc', 'errorMessage' => 'The specified virtual switch and route table are not in the same VPC.', 'description' => ''], ['errorCode' => 'IncorrectStatus.RouteTable', 'errorMessage' => 'The status of the specified route table is incorrect.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidRouteTableId.NotFound', 'errorMessage' => 'Specified route table does not exist.', 'description' => ''], ['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'Specified VSwitch does not exist.', 'description' => ''], ], ], 'title' => 'AssociateRouteTable', 'description' => '**AssociateRouteTable** 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 [DescribeVSwitchAttributes](~~94567~~) operation to query the status of the task:'."\n" ."\n" .'* If the vSwitch is in the **Pending** state, the route table is being associated with the vSwitch.'."\n" .'* If the vSwitch is in the **Available** state, the route table is associated with the vSwitch.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-12-31T01:51:54.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-09-06T06:04:22.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-18T04:04:41.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-03T07:35:14.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-21T07:30:18.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-09T08:58:31.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-01-21T06:22:28.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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"}]', ], 'AssociateRouteTableWithGateway' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPv4 gateway with which you want to associate the gateway route table.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-southeast-6'], ], [ 'name' => 'RouteTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the gateway route table.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-5ts0ohchwkp3dydt2****'], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" ."\n" .'> If you do not set this parameter, the system automatically uses **RequestId** as **ClientToken**. **RequestId** of each API request may be different.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to check the request without performing the operation. Valid values:'."\n" ."\n" .'* **true**: prechecks the request without performing the operation. The system prechecks the required parameters, request syntax, and limits. If the request fails the precheck, an error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): sends the request. After the request passes the precheck, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'GatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv4 gateway.'."\n" ."\n" .'The IPv4 gateway must be in the **Activated** state.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****'], ], [ 'name' => 'GatewayType', 'in' => 'query', 'schema' => ['description' => 'The type of a gateway to be associated with a route table.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Ipv4Gateway'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPv4 gateway with which you want to associate the gateway route table.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-southeast-6'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'F89C2176-8F10-55EF-90CF-CF99D1E3F816'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.Ipv4Gateway', 'errorMessage' => 'The specified resource ipv4Gateway is not found.', 'description' => 'The IPv4 gateway is not found and cannot be deleted.'], ['errorCode' => 'IncorrectStatus.Ipv4Gateway', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The IPv4 gateway is in an invalid state. Try again later.'], ['errorCode' => 'ResourceAlreadyAssociated.Ipv4Gateway', 'errorMessage' => 'The specified resource %s is already associated.', 'description' => 'The IPv4 gateway is already associated.'], ['errorCode' => 'ResourceNotFound.GatewayRouteTable', 'errorMessage' => 'The specified resource GatewayRouteTable is not found.', 'description' => 'The gateway route table cannot be found.'], ['errorCode' => 'IncorrectStatus.GatewayRouteTable', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The gateway route table is in an invalid state. Try again later.'], ['errorCode' => 'ResourceAlreadyAssociated.GatewayRouteTable', 'errorMessage' => 'The specified resource %s is already associated.', 'description' => 'The gateway route table is already associated with a gateway of the same type.'], ['errorCode' => 'OperationDenied.Ipv4GatewayNotActive', 'errorMessage' => 'The operation is not allowed because of ipv4Gateway [%s] is not active.', 'description' => 'The operation is not allowed because the IPv4 gateway is not activated.'], ['errorCode' => 'OperationDenied.RouteTableTypeIncorrect', 'errorMessage' => 'The operation is not allowed because of routeTableType is incorrect.', 'description' => 'The operation is not allowed because the type of route table is not supported.'], ['errorCode' => 'ResourceNotFound.RouteTable', 'errorMessage' => 'The specified resource gatewayRouteTable is not found.', 'description' => 'The gateway route table does not exist.'], ['errorCode' => 'OperationDenied.GatewayAndTableNotInOneVpc', 'errorMessage' => 'The operation is not allowed because of GatewayAndTableNotInOneVpc.', 'description' => 'The gateway route table and gateway do not belong to the same VPC.'], ['errorCode' => 'IncorrectStatus.RouteTable', 'errorMessage' => 'The status of the specified route table is incorrect.', 'description' => ''], ['errorCode' => 'IllegalParam.GatewayType', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'Invalid GatewayType value.'], ['errorCode' => 'UnsupportedFeature.Ipv6GatewayRouteTable', 'errorMessage' => 'The feature of %s is not supported.', 'description' => 'The border gateway route table cannot be associated with the gateway.'], ['errorCode' => 'OperationDenied.IngressRoutingNotSupportAnycast', 'errorMessage' => 'The operation is not allowed because ingress routing not support anycast.', 'description' => 'The operation is not allowed because ingress routing not support anycast.'], ['errorCode' => 'OperationDenied.ExistPublicIpv6IpInVpc', 'errorMessage' => 'Operation denied because IPV6 public ip exists in VPC.', 'description' => 'The operation failed because the ipv6 public IP exists in the 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' => 'AssociateRouteTableWithGateway', 'summary' => 'Associates a gateway route table with an IPv4 gateway in the same virtual private cloud (VPC).', 'changeSet' => [ ['createdAt' => '2025-03-20T02:56:45.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-12-31T01:51:54.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-30T03:22:01.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-06-30T05:52:49.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-17T10:03:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-02T02:19:49.000Z', 'description' => 'OpenAPI offline'], ], 'ramActions' => [], ], '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' => '', 'description' => 'The ID of the gateway endpoint instance with which you want to associate route tables.', 'type' => 'string', 'required' => true, 'example' => 'vpce-m5e371h5clm3uadih****'], ], [ 'name' => 'RouteTableIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'title' => '', 'description' => 'The ID of the route table to associate. Valid values of **N**: **1** to **20**. You can associate up to 20 route tables at a time.', 'type' => 'array', 'items' => ['description' => 'The ID of the route table to associate. Valid values of **N**: **1** to **20**. You can associate up to 20 route tables at a time.', 'type' => 'string', 'required' => false, 'example' => 'vtb-m5elgtm3aj586iitr****', 'title' => ''], 'required' => true, 'example' => 'vtb-m5elgtm3aj586iitr****', 'maxItems' => 20, ], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The **ClientToken** value can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: sends a dry run request without associating route tables with the gateway endpoint. The system checks the AccessKey pair, the authorization of the Resource Access Management (RAM) user, and the required parameters. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" ."\n" .'- **false** (default): sends a normal request. After the request passes the dry run, a 2xx HTTP status code is returned and the route tables are associated.', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The region ID of the gateway endpoint with which you want to associate route tables.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '59BDDA2D-FB52-59F9-9DC5-5EA7D6808B8E'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.ConcurrentOperation', 'errorMessage' => 'The operation is failed because of concurrent operation.', 'description' => ''], ['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.', 'description' => ''], ['errorCode' => 'ResourceNotFound.GatewayEndpoint', 'errorMessage' => 'The specified resource gateway endpoint is not found.', 'description' => 'The error message returned because the specified gateway endpoint does not exist.'], ['errorCode' => 'IncorrectStatus.GatewayEndpoint', 'errorMessage' => 'The status of GatewayEndpoint [%s] is incorrect.', 'description' => ''], ['errorCode' => 'ResourceNotFound.ServiceName', 'errorMessage' => 'The specified resource service name is not found.', 'description' => ''], ['errorCode' => 'ResourceNotFound.PrefixList', 'errorMessage' => 'The specified resource prefixList is not found.', 'description' => ''], ['errorCode' => 'ResourceNotFound.RouteTable', 'errorMessage' => 'The specified resource routetable is not found.', 'description' => ''], ['errorCode' => 'Mismatch.VpcAndRouteTable', 'errorMessage' => 'The vpc and routetable are mismatched.', 'description' => ''], ['errorCode' => 'IncorrectStatus.RouteTable', 'errorMessage' => 'The status of route table [%s] is incorrect.', 'description' => ''], ['errorCode' => 'ResourceAlreadyExist.Association', 'errorMessage' => 'The specified resource of [%s] is already exist.', 'description' => ''], ['errorCode' => 'VPC_ROUTE_ENTRY_CIDR_BLOCK_DUPLICATE', 'errorMessage' => 'Specified CIDR block is already exists.', 'description' => ''], ['errorCode' => 'VPC_SWITCH_STATUS_ERROR', 'errorMessage' => 'vSwitch status error, %s', 'description' => ''], ['errorCode' => 'QuotaExceeded.VpcRouteEntryNum', 'errorMessage' => 'The quota of vpc route entry num is exceeded, usage %s/%s.', 'description' => ''], ['errorCode' => 'OperationUnsupported.DestinationCidrBlockOverlapWithVSwitch', 'errorMessage' => 'The operation is failed because of destination CIDR block is in the CIDR of the VSwitch.', 'description' => ''], ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => ''], ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The regionId provided does not exist in our records.', 'description' => 'The RegionId parameter is set to an invalid value. Specify a valid value and try again.'], ['errorCode' => 'IncorrectStatus.Vpc', 'errorMessage' => 'The status of vpc [%s] is incorrect.', 'description' => ''], ['errorCode' => 'IncorrectStatus.CenStatus', 'errorMessage' => 'The status of vpc cenStatus [%s] is incorrect.', 'description' => ''], ['errorCode' => 'UnsupportedFeature.RouterTableType', 'errorMessage' => 'The type of router table is not supported.', 'description' => 'The specified route table type is not supported.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::ListVpcGatewayEndpoints', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'Associate route tables with a VPC gateway endpoint', 'summary' => 'Calls the AssociateRouteTablesWithVpcGatewayEndpoint operation to associate route tables with a gateway endpoint.', 'description' => 'Before you call this operation to associate route tables with a gateway endpoint, take note of the following information:'."\n" ."\n" .'- The gateway endpoint instance with which you want to associate route tables cannot be in a transient state, such as **Creating**, **Modifying**, **Associating** (attaching), **Dissociating** (detaching), or **Deleting** (deleting).'."\n" .'- The route tables that you want to associate cannot be in a transient state, such as **Creating**, **Modifying**, **Associating** (attaching), **Dissociating** (detaching), or **Deleting** (deleting).'."\n" .'- The route tables and the gateway endpoint must belong to the same VPC.'."\n" .'- The route tables to be associated cannot be shared route tables.'."\n" .'- Virtual Border Router (VBR) route tables are not supported.'."\n" .'- You can associate up to 20 route tables at a time.'."\n" .'- The **AssociateRouteTablesWithVpcGatewayEndpoint** operation is asynchronous. After you send a request, the system returns an endpoint instance ID, but the route tables have not been associated with the gateway endpoint yet. The association task is still running in the background. You can call [GetVpcGatewayEndpointAttribute](~~311017~~) to query the association status of the route tables and the gateway endpoint:'."\n" .' - If the route tables and the gateway endpoint are in the **Associating** state, the route tables are being associated with the gateway endpoint.'."\n" .' - If the route tables and the gateway endpoint are in the **Created** state, the route tables have been associated with the gateway endpoint.'."\n" .'- The **AssociateRouteTablesWithVpcGatewayEndpoint** operation does not support concurrent association of the same route table with a gateway endpoint.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-12-07T09:32:08.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateRouteTablesWithVpcGatewayEndpoint'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AssociateRouteTablesWithVpcGatewayEndpoint', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'GatewayEndpoint', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:gatewayendpoint/{#GatewayEndpointId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"59BDDA2D-FB52-59F9-9DC5-5EA7D6808B8E\\"\\n}","type":"json"}]', ], 'AssociateVpcCidrBlock' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPC to which you want to add a secondary CIDR block. '."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ch-hangzhou', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC to which you want to add a secondary CIDR block.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-o6wrloqsdqc9io3mg****', 'title' => ''], ], [ 'name' => 'SecondaryCidrBlock', 'in' => 'query', 'schema' => ['description' => 'The secondary IPv4 CIDR block to add. The CIDR block must meet the following requirements:'."\n" ."\n" .'- Use a private IPv4 address specified in RFC 1918 as the secondary IPv4 CIDR block of the virtual private cloud (VPC). The subnet mask must be 16 to 28 bits in length. Examples: 10.0.0.0/16, 172.16.0.0/16, and 192.168.0.0/16.'."\n" .'- You can use a custom CIDR block other than 100.64.0.0/10, 224.0.0.0/4, 127.0.0.0/8, 169.254.0.0/16, or their subnets as the secondary IPv4 CIDR block of the virtual private cloud (VPC).'."\n" ."\n" .'Configuration limits:'."\n" .'- The CIDR block cannot start with 0. The subnet mask must be 16 to 28 bits in length.'."\n" ."\n" .'- The secondary CIDR block cannot overlap with the primary CIDR block or existing secondary CIDR blocks of the VPC.'."\n" ."\n" .'> If you do not use an IPAM pool to add a secondary CIDR block to the VPC, you must specify either the **SecondaryCidrBlock** parameter or the **Ipv6CidrBlock** parameter, but not both.', 'type' => 'string', 'required' => false, 'example' => '192.168.0.0/16', 'title' => ''], ], [ 'name' => 'SecondaryCidrMask', 'in' => 'query', 'schema' => ['description' => 'The subnet mask used to add a secondary IPv4 CIDR block from an IPAM pool to the VPC.'."\n" ."\n" .'> When you use an IPAM pool to add a secondary IPv4 CIDR block to the VPC, you must specify at least one of SecondaryCidrBlock and SecondaryCidrMask.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '16', 'title' => ''], ], [ 'name' => 'IPv6CidrBlock', 'in' => 'query', 'schema' => ['description' => 'The specified IPv6 CIDR block of the VPC.'."\n" ."\n" .'> You cannot specify both **SecondaryCidrBlock** and **Ipv6CidrBlock**.', 'type' => 'string', 'required' => false, 'example' => '2408:XXXX:0:6a::/56', 'title' => ''], ], [ 'name' => 'Ipv6Isp', 'in' => 'query', 'schema' => ['description' => 'The type of the IPv6 CIDR block of the VPC. Valid values:'."\n" ."\n" .'- **BGP** (default): Alibaba Cloud BGP IPv6.'."\n" .'- **ChinaMobile**: China Mobile (single ISP).'."\n" .'- **ChinaUnicom**: China Unicom (single ISP).'."\n" .'- **ChinaTelecom**: China Telecom (single ISP).'."\n" ."\n" .'> If your account is included in the China single-ISP bandwidth whitelist, you can set this parameter to **ChinaTelecom** (China Telecom), **ChinaUnicom** (China Unicom), or **ChinaMobile** (China Mobile).', 'type' => 'string', 'required' => false, 'example' => 'BGP', 'title' => ''], ], [ 'name' => 'IpVersion', 'in' => 'query', 'schema' => ['description' => 'The version of the IP address. Valid values:'."\n" ."\n" .'- **IPV4**: IPv4 address.'."\n" .'- **IPV6**: IPv6 address. When **IpVersion** is set to **IPV6** and **SecondaryCidrBlock** is not specified, a secondary IPv6 CIDR block is added to the VPC.', 'type' => 'string', 'required' => false, 'example' => 'IPV4', 'title' => ''], ], [ 'name' => 'IpamPoolId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the IPAM pool.', 'type' => 'string', 'required' => false, 'example' => 'ipam-pool-sycmt3p2a9v63i****', 'title' => ''], ], [ 'name' => 'Ipv6CidrMask', 'in' => 'query', 'schema' => ['description' => 'The subnet mask used to add an IPv6 CIDR block from an IPAM pool to the VPC.'."\n" ."\n" .'> When you use an IPAM pool to add a secondary IPv6 CIDR block to the VPC, you must specify at least one of IPv6CidrBlock and Ipv6CidrMask.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '56', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPC to which you want to add a secondary CIDR block. '."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ch-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C1221A1F-2ACD-4592-8F27-474E02883159', 'title' => ''], 'CidrBlock' => ['description' => 'The secondary CIDR block added to the VPC.', 'type' => 'string', 'example' => '192.168.0.0/16', 'title' => ''], 'IpVersion' => ['description' => 'The IP address version of the secondary CIDR block.', 'type' => 'string', 'example' => 'IPV4', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidVpc.NotFound', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IncorrectStatus.Vpc', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'ParamExclusive.SecondaryCidrAndIpv6Cidr', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationUnsupported.VpcMultiCidr', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'MissingParam.SecondaryCidrOrIpv6Cidr', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationUnsupported.IPv6ULA', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationFailed.Ipv6CidrBlockExisted', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidIpv6ULACidrBlock.Malformed', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'QuotaExceeded.GUAIpv6CidrBlock', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.Ipv6CidrType', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationUnsupported.OnlyULA', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidCidrBlock.Malformed', 'errorMessage' => 'Specified CIDR block is not valid.', 'description' => ''], ['errorCode' => 'IllegalParam.SecondaryCidrBlock', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'Duplicated.SecondaryCidrBlock', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationFailed.ConflictWithEntry', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'QuotaExceeded.VpcMultiCidr', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'MissingParam.SecondaryCidrBlockOrIpv6CidrBlock', 'errorMessage' => 'Either SecondaryCidrBlock or Ipv6CidrBlock must be specified.', 'description' => 'The secondary CIDR block or the IPv6 CIDR block is not specified.'], ['errorCode' => 'MissingParam.VpcId', 'errorMessage' => 'You must specify VpcId.', 'description' => 'You must specify VpcId.'], ['errorCode' => 'UnsupportedFeature.Ipv6Isp', 'errorMessage' => 'The Ipv6Isp feature is not supported.', 'description' => 'The specified IPv6 ISP is not supported.'], ['errorCode' => 'IllegalParam.IpVersion', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationDenied.GUAIpv6CidrBlock', 'errorMessage' => 'The operation is not allowed because this ipv6 CIDR is not reserved.', 'description' => ''], ['errorCode' => 'OperationFailed.IPv6CidrNotReserved', 'errorMessage' => 'Operation failed because this ipv6 cidr is not reserved.', 'description' => ''], ['errorCode' => 'InvalidCidrBlock', 'errorMessage' => 'Specified CIDR block is already exists.', 'description' => ''], ['errorCode' => 'IllegalParam.IpamPool', 'errorMessage' => 'The specified IPAM pool cannot be empty.', 'description' => 'The IPAM pool cannot be empty.'], ['errorCode' => 'MissingParam.SecondaryCidrMask', 'errorMessage' => 'The parameter SecondaryCidrMask must be input.', 'description' => 'SecondaryCidrMask is required.'], ['errorCode' => 'IllegalParam.SecondaryCidrMask', 'errorMessage' => 'The specified Secondary CIDR Mask is illegal.', 'description' => 'Invalid SecondaryCidrMask.'], ['errorCode' => 'OperationDenied.RequestRegionInvalid', 'errorMessage' => 'The operation is not allowed because the request is not invoked in the region of the IPAM pool.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => 'The operation is not allowed because the input CIDR is within the illegal CIDRs.'."\n"], ['errorCode' => 'OperationDenied.AvailableCidrInsufficient', 'errorMessage' => 'The operation is not allowed because available CIDR is insufficient.', 'description' => 'The operation is not allowed because available CIDR is insufficient.'], ['errorCode' => 'UnsupportedFeature.Ipam', 'errorMessage' => 'IPAM is not supported in this region.', 'description' => 'The IPAM feature is not supported in this region.'], ['errorCode' => 'UnsupportedFeature.VpcIpamIpv6', 'errorMessage' => 'The specified IPAM pool does not support the IPv6 feature.', 'description' => '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.', 'description' => 'The operation is not allowed because the CIDR is unavailable in the IPAM pool.'], ['errorCode' => 'InvalidIpv6CidrBlock.Malformed', 'errorMessage' => 'Param Ipv6CidrBlock is malformed.', 'description' => 'IPv6 network segment is illegal'], ['errorCode' => 'MissingParam.IpVersion', 'errorMessage' => 'The parameter IpVersion is missing.', 'description' => 'The parameter IpVersion is missing.'], ['errorCode' => 'Mismatch.IpVersionAndIpamPoolIpVersion', 'errorMessage' => 'The input IpVersion is inconsistent with the IpVersion of the input IPAM pool.', 'description' => 'The input IpVersion is inconsistent with the IpVersion of the input IPAM pool.'], ['errorCode' => 'IllegalParam.Ipv6CidrBlock', 'errorMessage' => 'The parameter of Ipv6CidrBlock is illegal.', 'description' => 'The Ipv6CidrBlock parameter is invalid.'], ['errorCode' => 'OperationFailed.Ipv6CidrBlockOverLapped', 'errorMessage' => 'The input IPv6 CIDR block overlaps with the existing ones.', 'description' => '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.', 'description' => '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.', 'description' => 'The input mask or mask of the input CIDR is not allowed.'], ['errorCode' => 'IllegalParam.Ipv6Isp', 'errorMessage' => 'The specified Ipv6Isp is illegal.', 'description' => 'The specified Ipv6Isp is illegal.'], ['errorCode' => 'IllegalParam.CidrMask', 'errorMessage' => 'The input CIDR mask is illegal.', 'description' => 'The input CIDR mask is illegal.'], ], 403 => [ ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'User not authorized to operate on the specified resource.'], ], [ ['errorCode' => 'ResourceNotFound.IpamPool', 'errorMessage' => 'The dependent IPAM pool is not found.', 'description' => 'The dependent IPAM pool is not found.'], ], 500 => [ ['errorCode' => 'OperationFailed.ResourceNotEnough', 'errorMessage' => 'Insufficient resources.', 'description' => 'The resources that you request are insufficient. If you still want to request the resources, submit a ticket.'], ], ], 'title' => 'Add a secondary CIDR block to a VPC', 'summary' => 'Adds a secondary CIDR block to a VPC.', 'description' => '- The maximum number of secondary CIDR blocks that can be added to a VPC is as follows:'."\n" .' - A maximum of 5 secondary IPv4 CIDR blocks can be added to a VPC.'."\n" .' - A maximum of 5 secondary IPv6 CIDR blocks can be added to a VPC.'."\n" ."\n" .'- The **AssociateVpcCidrBlock** operation does not support concurrently adding secondary CIDR blocks to the same VPC.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-01-16T06:58:55.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-12-30T01:56:22.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-12-18T11:29:07.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-08-28T05:52:46.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-05-21T03:43:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-04-25T12:15:52.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2023-08-24T07:18:02.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-04-14T10:13:04.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-04-13T11:16:21.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2021-11-17T10:03:13.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateVpcCidrBlock'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AssociateVpcCidrBlock', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C1221A1F-2ACD-4592-8F27-474E02883159\\",\\n \\"CidrBlock\\": \\"192.168.0.0/16\\",\\n \\"IpVersion\\": \\"IPV4\\"\\n}","type":"json"}]', ], 'AssociateVpnGatewayWithCertificate' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'autoTest' => true, 'tenantRelevance' => 'tenant'], 'parameters' => [ [ '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-hangzhou', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPN gateway.'."\n" ."\n" .'> You can associate only VPN gateways of the SM type with certificates.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', 'title' => ''], ], [ 'name' => 'CertificateType', 'in' => 'query', 'schema' => ['description' => 'The type of the certificate. Valid values:'."\n" ."\n" .'* **Encryption**'."\n" .'* **Signature**'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Signature', 'title' => ''], ], [ 'name' => 'CertificateId', 'in' => 'query', 'schema' => ['description' => 'The ID of the certificate.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '6bfe4218-ea1d****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request passes the dry run, a request ID is returned. Otherwise, an error message is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.CertificateType', 'errorMessage' => 'The specified certificate type (%s) is invalid.', 'description' => ''], ['errorCode' => 'OperationFailed.NotNationalStandard', 'errorMessage' => 'The VPN gateway is not national standard.', 'description' => ''], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'OperationFailed.NoRamPermission', 'errorMessage' => 'VPN service has no permission to operate your KMS instances.', 'description' => ''], ['errorCode' => 'OperationFailed.AssociationExist', 'errorMessage' => 'The association already exists.', 'description' => 'Operation is failed because the current resource is associated.'], ['errorCode' => 'OperationFailed.AnotherAssociationExist', 'errorMessage' => 'The VPN gateway has associated with %s.', 'description' => 'The VPN gateway is already associated with a certificate of the same type.'], ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy. Please try again later.', 'description' => ''], ['errorCode' => 'OperationFailed.InvalidCertificate', 'errorMessage' => 'The specified certificate is invalid.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ['errorCode' => 'Forbidden.NoSlrPermission', 'errorMessage' => 'User not authorized to create service linked role.', 'description' => ''], ], [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ['errorCode' => 'InvalidCertificateId.NotFound', 'errorMessage' => 'The specified certificate ID (%s) does not exist.', 'description' => ''], ], 409 => [ ['errorCode' => 'OperationConflict', 'errorMessage' => 'The operation against this instance is too frequent, please try again later.', 'description' => 'Operations are too frequently performed on the instance. Try again later.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 1000, 'maxCallbackTimes' => 30], 'title' => 'AssociateVpnGatewayWithCertificate', 'summary' => 'Associates a VPN gateway with a certificate.', 'description' => 'Before you associate a VPN gateway with an SSL certificate, take note of the following items:'."\n" ."\n" .'* You can associate only VPN gateways of the ShangMi (SM) type with SSL certificates. You need to associate a VPN gateway of the SM type with two SSL certificates, one as the encryption certificate and the other as the signature certificate.'."\n" ."\n" .'* The SSL certificates must use the SM algorithm.'."\n" ."\n" .'* You cannot specify one SSL certificate as both the encryption certificate and signature certificate for one VPN gateway.'."\n" ."\n" .'* **AssociateVpnGatewayWithCertificate** 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](~~73720~~) operation to query the status of the task.'."\n" ."\n" .' * If the VPN gateway is in the **updating** state, the SSL certificate is being associated.'."\n" .' * If the VPN gateway is in the **active** state, the SSL certificate is being associated.'."\n" ."\n" .'* You cannot call **AssociateVpnGatewayWithCertificate** within a specific period of time.'."\n" ."\n" .'### [](#)Prerequisites'."\n" ."\n" .'Make sure that you have two SSL certificates that use the SM algorithm in the Certificate Management Service console. For more information about SSL certificates, see [What is Certificate Management Service?](~~28535~~).'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2021-10-12T12:15:02.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', ], 'AttachDhcpOptionsSetToVpc' => [ 'summary' => 'Associates a DHCP options set with a virtual private cloud (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' => 'The region to which the DHCP options set belongs. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'DhcpOptionsSetId', 'in' => 'query', 'schema' => ['description' => 'The ID of the DHCP options set.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dopt-o6w0df4epg9zo8isy****', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC to be associated with the DHCP options set.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-sfdkfdjkdf****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not set this parameter, the system uses **RequestId** as **ClientToken**. **RequestId** may be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to check the request without performing the operation. Valid values:'."\n" ."\n" .'**true**: checks the request without performing the operation. The system checks whether your AccessKey pair is valid, whether the Resource Access Management (RAM) user is authorized, and whether the required parameters are set. If the request fails to pass the check, the corresponding error message is returned. If the request passes the check, the `DryRunOperation` error code is returned.'."\n" ."\n" .'**false** (default): sends the request. If the request passes the check, a 2XX HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Forbidden.OperateShareResource', 'errorMessage' => 'You cannot operate shared resources.', 'description' => 'Shared resources do not support this operation.'], ['errorCode' => 'InvalidDhcpOptionsSetId.NotFound', 'errorMessage' => 'The specified dhcpOptionsSetId does not exist.', 'description' => 'The DHCP options set does not exist. Check whether the parameter is set to a valid value.'], ['errorCode' => 'IncorrectStatus.DhcpOptionsSet', 'errorMessage' => 'The DhcpOptionsSet status does not support this operation.', 'description' => 'The DHCP options set that is associated with the VPC is being configured. As a result, the DHCP options set does not support this operation. You can perform the operation after the status of the DHCP options set is stable.'], ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'Specified value of VpcId is not found in our record.', 'description' => ''], ['errorCode' => 'IncorrectStatus.VpcDhcpOptionsSet', 'errorMessage' => 'The dhcpOptionsSet status of VPC does not support this operation.', 'description' => 'The DHCP options set that is associated with the VPC is being configured. As a result, the DHCP options set does not support this operation.'], ['errorCode' => 'OperationFailed.AttachmentExist', 'errorMessage' => 'The current VPC is already attached to a DHCP options set.', 'description' => 'The VPC is associated with a DHCP options set. You can associate a VPC with only one DHCP options set.'], ['errorCode' => 'QuotaExceeded.AttachVpcNumber', 'errorMessage' => 'The maximum number of VPCs that can be attached to a DHCP options set is exceeded.', 'description' => 'The number of VPCs that can be associated with a DHCP options set reaches the upper limit.'], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent. Please wait a moment and try again.', 'description' => 'The system is unavailable. Try again later.'], ['errorCode' => 'MissingParam.VpcId', 'errorMessage' => 'You must specify VpcId.', 'description' => 'You must specify VpcId.'], ['errorCode' => 'MissingParam.DhcpOptionsSetId', 'errorMessage' => 'Missing parameter DhcpOptionsSetId.', 'description' => 'Missing parameter DhcpOptionsSetId'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist.', 'description' => 'The specified region does not exist.'], ], ], 'title' => 'AttachDhcpOptionsSetToVpc', 'description' => '* The **AttachDhcpOptionsSetToVpc** operation is asynchronous. After you send the request, the system returns a request ID. However, the operation is still being performed in the system background. You can call the [DescribeVpcAttribute](~~94565~~) operation to query the status of a DHCP options set:'."\n" ."\n" .' * If the DHCP options set is in the **Pending** state, the DHCP options set is being associated.'."\n" .' * If the DHCP options set is in the **InUse** state, the DHCP options set is associated.'."\n" ."\n" .'* You cannot repeatedly call the **AttachDhcpOptionsSetToVpc** operation to associate DHCP options sets with a VPC within the specified period of time.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', ], 'AttachVbrToVpconn' => [ 'summary' => 'Associates a virtual border router (VBR) with a hosted connection.', 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'VpconnId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the hosted connection.'."\n", 'type' => 'string', 'required' => true, 'example' => 'pc-bp1mrgfbtmc9brre7****'], ], [ 'name' => 'VbrId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the VBR.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vbr-bp133sn3nwjvu7twc****'], ], [ 'name' => 'Token', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must ensure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CBCE910E-D396-4944-8****'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['title' => 'DryRun', 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including required parameters, request syntax, and instance status. If the request fails the dry run, an error message is returned. If the request passes the dry run, the request ID is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the hosted connection.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '5356F028-0F5C-56FC-8574-897D24379041'], 'VirtualPhysicalConnection' => ['title' => '', 'description' => 'The ID of the hosted connection.'."\n", 'type' => 'string', 'example' => 'pc-bp1mrgfbtmc9brre7****'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'QuotaExceeded.VPCONN', 'errorMessage' => 'The quota of VBR_COUNT_PER_VPCONN is exceeded, usage 1/1.', 'description' => ''], ['errorCode' => 'OperationFailed.VbrBindedPconn', 'errorMessage' => 'The operation is failed because of VbrBindedPconn.', 'description' => 'A hosted connection is created for the VBR.'], ['errorCode' => 'ResourceNotFound.PhysicalConnectionId', 'errorMessage' => 'PhysicalConnection is not found. ', 'description' => ''], ['errorCode' => 'IncorrectStatus.PhysicalConnection', 'errorMessage' => 'The specified PhysicalConnectionId [%s] is not in Enabled state.', 'description' => ''], ['errorCode' => 'ResourceNotFound.VirtualBorderRouter', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'Virtual Border Router does not exist'], ], ], 'title' => 'AttachVbrToVpconn', 'changeSet' => [ ['createdAt' => '2024-06-28T02:56:12.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-09-27T03:23:37.000Z', 'description' => 'OpenAPI offline'], ], 'ramActions' => [], '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":""}]', ], 'CancelCommonBandwidthPackageIpBandwidth' => [ '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' => 'The region ID of the Internet Shared Bandwidth instance. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'BandwidthPackageId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet Shared Bandwidth instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cbwp-bp13d0m4e2qv8xxxxxxxx', 'title' => ''], ], [ 'name' => 'EipId', 'in' => 'query', 'schema' => ['description' => 'The ID of the EIP that is associated with the Internet Shared Bandwidth instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eip-2zewysoansu0sxxxxxxxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '63D187BF-A30A-4DD6-B68D-FF182C96D8A2', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => '%s', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidEIPStatus.BizDisabled', 'errorMessage' => 'The EIP has been locked.', 'description' => 'The error message returned because the EIP is locked.'], ['errorCode' => 'Forbidden.FinancialLocked', 'errorMessage' => 'The ip business status is invalid.', 'description' => 'The error message returned because the instance has overdue payments.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => '%s', 'errorMessage' => '%s', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeEipAddresses', 'callbackInterval' => 3, 'maxCallbackTimes' => 10], 'title' => 'CancelCommonBandwidthPackageIpBandwidth', 'summary' => 'Cancels the maximum bandwidth configured for an elastic IP address (EIP) that is associated with an Internet Shared Bandwidth instance.', 'description' => 'Before you call this operation, take note of the following items:'."\n" ."\n" .'* After this operation is performed, the maximum bandwidth of the EIP equals that of the Internet Shared Bandwidth instance.'."\n" .'* You cannot repeatedly call the **CancelCommonBandwidthPackageIpBandwidth** operation within a specific time period.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2022-11-29T10:25:34.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"63D187BF-A30A-4DD6-B68D-FF182C96D8A2\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 63D187BF-A30A-4DD6-B68D-FF182C96D8A2\\n","errorExample":""}]', ], 'CancelPhysicalConnection' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the Express Connect circuit. '."\n" ."\n" .'You can call [DescribeRegions](~~36063~~) to query region IDs.', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'PhysicalConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Express Connect circuit.', 'type' => 'string', 'required' => true, 'example' => 'pc-119mfjzm7****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'The client generates the value of this parameter. Make sure that the value is unique among different requests. The value can be up to 64 ASCII characters in length.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Forbidden.NotAllowedInState', 'errorMessage' => 'The request does not allow in this state.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidPhysicalConnectionId.NotFound', 'errorMessage' => 'The PhysicalConnectionId provided does not exist in our records.', 'description' => ''], ], ], 'title' => 'Cancel express connect circuit access', 'summary' => 'Cancels access to an Express Connect circuit. After the cancellation, the Express Connect circuit enters the Canceled state.', 'description' => 'You can cancel access only for Express Connect circuits that are in the **Initial**, **Approved**, **Allocated**, or **Confirmed** state (not yet activated).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelPhysicalConnection'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:CancelPhysicalConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","type":"json"}]', ], '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' => 'The ID of the new resource group.'."\n" ."\n" .'> You can use resource groups to manage resources within your Alibaba Cloud account by group. This helps you resolve issues such as resource grouping and permission management for your Alibaba Cloud account. For more information, see [What is Resource Management?](~~94475~~)'."\n", 'type' => 'string', 'required' => true, 'example' => 'rg-bp1drpcfz9srr393h****', 'enum' => [], ], ], [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => [ 'description' => 'The type of the resource. Valid values:'."\n" ."\n" .'* **PHYSICALCONNECTION**: Express Connect circuit.'."\n" .'* **VIRTUALBORDERROUTER**: virtual border router (VBR).'."\n" .'* **ROUTERINTERFACE**: router interface.'."\n", 'type' => 'string', 'required' => true, 'example' => 'PHYSICALCONNECTION', 'enum' => [], 'title' => '', ], ], [ 'name' => 'ResourceId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the Express Connect circuit whose resource group you want to modify.'."\n", 'type' => 'string', 'required' => true, 'example' => 'pc-bp16qjewdsunr41m1****'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region to which the new resource group belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceType.Unknown', 'errorMessage' => 'Unknown ResourceType.', 'description' => 'The resource type is invalid.'], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The specified instance id does not exist.', 'description' => 'The specified instance ID does not exist.'], ['errorCode' => 'InvalidResourceId.NotFound', 'errorMessage' => 'This resourceId already has flowlog instance existed.', 'description' => 'A flow log is already enabled for the resource.'], ['errorCode' => 'IllegalParam.ResourceType', 'errorMessage' => 'Invalid Resource Type value.', 'description' => 'The ResourceType parameter is not supported or set to an invalid value.'], ['errorCode' => 'IllegalParam.ResourceGroupId', 'errorMessage' => 'Invalid ResourceGroupld value.', 'description' => 'The specified resource group is invalid or does not exist.'], ], ], 'title' => 'ChangeResourceGroup', 'summary' => 'Moves an Express Connect circuit to a new resource group.', 'description' => '## [](#)'."\n" ."\n" .'You cannot repeatedly call the **ChangeResourceGroup** operation to modify the resource group of the same Express Connect circuit.'."\n", 'changeSet' => [ ['createdAt' => '2025-03-03T02:31:33.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-06-13T08:13:19.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-05-08T02:53:52.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-25T08:46:26.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-20T11:21:53.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', ], 'CheckCanAllocateVpcPrivateIpAddress' => [ 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['title' => 'RegionId', 'description' => 'The region ID of the vSwitch to which the private IP address that you want to query belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'], ], [ 'name' => 'VSwitchId', 'in' => 'query', 'schema' => ['title' => 'VSwitchId', 'description' => 'The ID of the vSwitch to which the private IP address to be queried belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vsw-m5ew3t46z2drmifnt****'], ], [ 'name' => 'PrivateIpAddress', 'in' => 'query', 'schema' => ['title' => 'PrivateIpAddress', 'description' => 'To query whether a private IP address is available, the private IP address must belong to the vSwitch specified by the **VSwitchId** parameter.'."\n", 'type' => 'string', 'required' => true, 'example' => '10.0.0.7'], ], [ 'name' => 'IpVersion', 'in' => 'query', 'schema' => ['title' => 'IpVersion', 'description' => 'The version of the private IP address. Valid values:'."\n" ."\n" .'* **ipv4** If you want to query an IPv4 address, this parameter is optional.'."\n" .'* **ipv6** If you want to query an IPv6 address, this parameter is required.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ipv4'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema object', 'description' => 'Schema object'."\n", 'type' => 'object', 'properties' => [ 'CanAllocate' => ['description' => 'Indicates whether the private IP address is available. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true'], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '93360B0-2969-40BF-8542-EBB34FD358AB'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'PARAMETER_ILLEGAL', 'errorMessage' => 'Parameter illegal.Parameter is ipVersion', 'description' => ''], ['errorCode' => 'ResourceNotFound.VSwitchId', 'errorMessage' => 'The specified resource vswitch is not found.', 'description' => ''], ['errorCode' => 'Mismatch.VSwitchAndPrivateIpAddress', 'errorMessage' => 'The vswitch and privateIpAddress are mismatched.', 'description' => 'The specified private IP address does not match the vSwitch.'], ['errorCode' => 'IllegalParam.PrivateIpAddress', 'errorMessage' => 'The specified PrivateIpAddress is illegal.', 'description' => 'The specified PrivateIpAddress is invalid. Check the parameter constraints and try again after modification.'], ], ], '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' => 'CheckCanAllocateVpcPrivateIpAddress', 'summary' => 'Checks whether a private IP address in a specified vSwitch is available.', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'vpc:CheckCanAllocateVpcPrivateIpAddress', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], ], ], 'CheckVpnBgpEnabled' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'autoTest' => true, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPsec-VPN connection.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'DF448D2E-215D-334F-B10D-7C3B087EF996'], 'BgpEnabled' => ['description' => 'Indicates whether the region supports BGP.'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'CheckVpnBgpEnabled', 'summary' => 'Checks whether the region of an IPsec-VPN connection supports BGP.', 'changeSet' => [ ['createdAt' => '2023-06-12T09:40:13.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'CompletePhysicalConnectionLOA' => [ 'summary' => 'Generates a report for an installed Express Connect circuit.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must ensure that it is unique among different requests.'."\n" ."\n" .'> If you do not set this parameter, the system automatically uses **RequestId** as **ClientToken**. **RequestId** of each API request may be different.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-230e-11e9-8e44-0016e04115b', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must ensure that it is unique among different requests.'."\n" ."\n" .'> If you do not set this parameter, the system automatically uses **RequestId** as **ClientToken**. **RequestId** of each API request may be different.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-230e-11e9-8e44-0016e04115b', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the Express Connect circuit.'."\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', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Express Connect circuit.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'pc-bp10tvlhnwkw****', 'title' => ''], ], [ 'name' => 'LineCode', 'in' => 'query', 'schema' => ['description' => 'The circuit code provided by the connectivity provider.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'aaa111****', 'title' => ''], ], [ 'name' => 'LineLabel', 'in' => 'query', 'schema' => ['description' => 'The label of the cable in the data center.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'bbb222****', 'title' => ''], ], [ 'name' => 'LineServiceProvider', 'in' => 'query', 'schema' => ['description' => 'The ISP. Valid values:'."\n" ."\n" .'* **China Telecom**'."\n" .'* **China Unicom**'."\n" .'* **China Mobile**'."\n" .'* **Other ISPs in China**'."\n", 'type' => 'string', 'required' => false, 'example' => '中国其他', 'title' => ''], ], [ 'name' => 'LineSPContactInfo', 'in' => 'query', 'schema' => ['description' => 'The contact information about line O\\&M.'."\n", 'type' => 'string', 'required' => false, 'example' => '1388888****', 'title' => ''], ], [ 'name' => 'FinishWork', 'in' => 'query', 'schema' => ['description' => 'Specifies whether the construction is completed. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'F8983C74-E068-4509-B442-89BD82C8F43B', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParam.AliUid', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'MissingParam.InstanceId', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'MissingParam.RegionNo', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IncorrectStatus.PhysicalConnectionLOA', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.LineCode', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.LineLabel', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationDenied.LOAStatusNotAllowComplete', 'errorMessage' => 'The operation is not allowed because of LOAStatusNotAllowComplete.', 'description' => 'The LOA status of the port does not allow completion reporting or line O&M.'], ['errorCode' => 'IllegalParam.LineSPContactInfo', 'errorMessage' => 'LineSPContactInfo is illegal.', 'description' => 'The contact information of the operator\'s line operation and maintenance is illegal.'], ], ], 'title' => 'CompletePhysicalConnectionLOA', 'changeSet' => [ ['createdAt' => '2023-11-07T09:57:25.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-09-08T05:34:39.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-09-07T11:50:19.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2021-11-17T10:03:13.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F8983C74-E068-4509-B442-89BD82C8F43B\\"\\n}","errorExample":""},{"type":"xml","example":"\\n F8983C74-E068-4509-B442-89BD82C8F43B\\n","errorExample":""}]', ], 'ConfirmPhysicalConnection' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the Express Connect circuit.'."\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', 'title' => ''], ], [ 'name' => 'PhysicalConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Express Connect circuit.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'pc-119mf****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e0****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'API-20365164-5b0d-460a-83c2-2189972b****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.PconnTrafficNotEnable', 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', 'description' => 'Billing for outbound data transfer is disabled.'], ['errorCode' => 'ResourceNotFound.PhysicalConnectionId', 'errorMessage' => 'PhysicalConnection is not found.', 'description' => 'PhysicalConnectionId is set to an invalid value.'], ['errorCode' => 'MissingParam.RegionNo', 'errorMessage' => 'RegionNo is missing.', 'description' => 'The RegionNo parameter is not set.'], ['errorCode' => 'MissingParam.AliUid', 'errorMessage' => 'AliUid is missing.', 'description' => 'The AliUid parameter is not set.'], ['errorCode' => 'MissingParam.PhysicalConnectionId', 'errorMessage' => 'PhysicalConnectionId is missing.', 'description' => 'The PhysicalConnectionId is not set.'], ['errorCode' => 'InvalidPhysicalConnectionId.NotFound', 'errorMessage' => 'The specified physicalConnection is not found', 'description' => 'The PhysicalConnectionId parameter is set to an invalid value.'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId is not found.', 'description' => 'The specified region ID is invalid. Check whether the service is available in the specified region.'], ['errorCode' => 'IncorrectStatus.PhysicalConnection', 'errorMessage' => 'The specified PhysicalConnectionId is not in Allocated state.', 'description' => 'The PhysicalConnectionId parameter is not in the Allocated state.'], ['errorCode' => 'OperationUnsupported.SkipConstruction', 'errorMessage' => 'You can not skip construction.', 'description' => 'You cannot skip the construction step.'], ['errorCode' => 'ResourceNotFound.PhysicalConnection', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The PhysicalConnection does not exist.'], ], ], 'title' => 'ConfirmPhysicalConnection', 'summary' => 'Changes the status of an Express Connect circuit to Confirmed.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-06-28T02:56:12.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-09-27T03:23:37.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'ConnectRouterInterface' => [ 'summary' => 'Initiates a connection from the router interface of an initiator to the router interface of an accepter.', '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' => 'The ID of the region where the router interface is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RouterInterfaceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the initiator router interface.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ri-2zeo3xzyf38r4urzd****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectRole.NotInitiatingSide', 'errorMessage' => 'The specified RouterInterface is not InitiatingSide.', 'description' => ''], ['errorCode' => 'IncorrectRIStatus', 'errorMessage' => 'RouterInterface can be operated by this action only when it\'s status is Idle.', 'description' => 'You can perform the operation only when the router interface is in the Idle state.'], ['errorCode' => 'IncorrectOppositeInterfaceInfo.NotSet', 'errorMessage' => 'OppositeInterfaceId/OppositeRouterId/OppositeRouterType/OppositeInterfaceOwnerId must be all set.', 'description' => 'You must specify OppositeInterfaceId, OppositeRouterId, OppositeRouterType, and OppositeInterfaceOwnerId.'], ['errorCode' => 'IncorrectOppositeInterfaceInfo', 'errorMessage' => 'Cannot connect on the same router', 'description' => ''], ['errorCode' => 'Forbidden.OnlyOneConnection', 'errorMessage' => 'The Specified routers have a connection already', 'description' => ''], ['errorCode' => 'Forbidden.BillsOutstanding', 'errorMessage' => 'You cannot use this action because you have bills outstanding.', 'description' => ''], ['errorCode' => 'InvalidAccount.NotFound', 'errorMessage' => 'The specified account is not exists.', 'description' => ''], ['errorCode' => 'ErrCode.Invalid', 'errorMessage' => 'got error', 'description' => ''], ['errorCode' => 'AttrMismatching.AcceptingSideRole', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'AttrMismatching.AcceptingSideInstanceId', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'AttrMismatching.AcceptingSideRegionNo', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'AttrMismatching.AcceptingSideRouterId', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'AttrMismatching.AcceptingSideRouterType', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'AttrMismatching.AcceptingSideAliUid', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'AttrMismatching.AcceptingSideOppositeInterfaceOwnerId', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'AttrMismatching.AcceptingSideOppositeRegionNo', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'AttrMismatching.AcceptingSideOppositeInterfaceId', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'AttrMismatching.AcceptingSideOppositeRouterId', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'AttrMismatching.AcceptingSideOppositeRouterType', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.InstanceOwner', 'errorMessage' => 'The router instance owener error.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidRouterInterfaceId.NotFound', 'errorMessage' => 'The specified RouterInterfaceId does not exist in our record.', 'description' => ''], ['errorCode' => 'CROSS_BID.FORBIDDEN', 'errorMessage' => 'Connect RouterInterface across bid is illegal', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ConnectRouterInterface', 'description' => 'After you call this operation, the router interface enters the **Connecting** state. When the connection is established, it enters the **Active** state.'."\n" ."\n" .'When you call this operation, take note of the following items:'."\n" ."\n" .'* Only an initiator router interface in the **Idle** state can initiate a connection.'."\n" .'* You can create only one pair of connected router interfaces between two routers.'."\n" .'* You cannot initiate a connection if your Alibaba Cloud account has a router interface with overdue payments.', 'changeSet' => [ ['createdAt' => '2023-07-21T03:54:45.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\"\\n}","errorExample":""},{"type":"xml","example":"\\n DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\n","errorExample":""}]', ], 'ConvertBandwidthPackage' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => true, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'BandwidthPackageId', 'in' => 'query', 'schema' => ['description' => 'The ID of the NAT service plan.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bwp-bp1xea10o8qxw4f****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region where the NAT gateway resides. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region where the NAT gateway resides. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotency of the request. You can use the client to generate a client token. Make sure that a unique client token is used for each request. The **token** can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~36569~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'ConvertInstanceId' => ['description' => 'The ID of the Internet Shared Bandwidth instance.'."\n", 'type' => 'string', 'example' => 'bwp-s6lmotmkkf567b****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '455AC20C-7061-446A-BDBD-B3BEE0856304', 'title' => ''], ], 'description' => '', 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'NotOpen.Api', 'errorMessage' => 'The api is not open.', 'description' => ''], ['errorCode' => 'NotFound.BandwidthPackage', 'errorMessage' => 'BandwidthPackage is not exist', 'description' => ''], ['errorCode' => 'ORDER.QUOTA_EXCEEDED', 'errorMessage' => 'The EIP quota is exceeded', 'description' => ''], ['errorCode' => 'ORDER.ERROR', 'errorMessage' => 'Create order failed.Commodity configuration does not support.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。'], 'title' => 'ConvertBandwidthPackage', 'summary' => 'Converts a NAT service plan to an Internet Shared Bandwidth instance.', 'description' => 'Before you convert a NAT service plan to an Internet Shared Bandwidth instance, take note of the following limits:'."\n" ."\n" .'* You are not charged for the conversion.'."\n" .'* When you convert a NAT service plan to an Internet Shared Bandwidth instance, you can continue to use the SNAT and DNAT features of the NAT gateway, and your workloads are not affected. However, we recommend that you convert your NAT service plan during off-peak hours.'."\n" .'* After the NAT service plan is converted to an Internet Shared Bandwidth instance, the public IP addresses in the NAT service plan are converted to elastic IP addresses (EIPs). The maximum bandwidth and billing method of the Internet Shared Bandwidth instance are the same as those of the NAT service plan.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ConvertBandwidthPackage', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"ConvertInstanceId\\": \\"bwp-s6lmotmkkf567b****\\",\\n \\"RequestId\\": \\"455AC20C-7061-446A-BDBD-B3BEE0856304\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\t0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\r\\n\\tbwp-s6lmotmkkf567b****\\r\\n","errorExample":""}]', ], 'CopyNetworkAclEntries' => [ 'summary' => 'Copies network ACL rules by calling the CopyNetworkAclEntries operation.', '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' => 'The region ID of the network ACL. You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'NetworkAclId', 'in' => 'query', 'schema' => ['description' => 'The ID of the network ACL.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'nacl-a2do9e413e0spxxxxxxxx', 'title' => ''], ], [ 'name' => 'SourceNetworkAclId', 'in' => 'query', 'schema' => ['description' => 'The ID of the source network ACL from which rules are copied.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'nacl-ghuo9ehg3e0spxxxxxxxx', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '123', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" .'* **true**: performs a dry run. The system checks the request for potential issues without performing the actual operation.'."\n" .'* **false** (default): performs the actual request.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the network ACL. You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6608E72F-F276-440F-ABEF-419971CEC4D1', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ParameterMissing.AliUid', 'errorMessage' => 'ParameterMissing.AliUid', 'description' => ''], ['errorCode' => 'ParameterMissing.Bid', 'errorMessage' => 'ParameterMissing.Bid', 'description' => ''], ['errorCode' => 'ParameterMissing.RegionId', 'errorMessage' => 'ParameterMissing.RegionId', 'description' => ''], ['errorCode' => 'ParameterEmpty.RegionId', 'errorMessage' => 'ParameterEmpty.RegionId', 'description' => ''], ['errorCode' => 'ParameterMissing.NetworkAclId', 'errorMessage' => 'ParameterMissing.NetworkAclId', 'description' => ''], ['errorCode' => 'ParameterEmpty.NetworkAclId', 'errorMessage' => 'ParameterEmpty.NetworkAclId', 'description' => ''], ['errorCode' => 'ParameterMissing.SourceNetworkAclId', 'errorMessage' => 'ParameterMissing.SourceNetworkAclId', 'description' => ''], ['errorCode' => 'ParameterEmpty.SourceNetworkAclId', 'errorMessage' => 'ParameterEmpty.SourceNetworkAclId', 'description' => ''], ['errorCode' => 'InvalidNetworkAcl.NotFound', 'errorMessage' => 'The special Network Acl is not found.', 'description' => 'The network ACL is not found.'], ['errorCode' => 'InvalidSourceNetworkAcl.NotFound', 'errorMessage' => 'The special source network Acl is not found.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeNetworkAcls', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'Copy network ACL rules', 'description' => '- **CopyNetworkAclEntries** is an asynchronous operation. After you invoke this operation, the system returns a request ID, but the network ACL rules have not been replicated yet. The replication node continues to run in the background. You can invoke [DescribeNetworkAclAttributes](~~116542~~) to query the replication status of the network ACL rules:'."\n" .' - If the network ACL rules are in the **Modifying** state, the network ACL rules are being replicated.'."\n" .' - If the network ACL rules are in the **Available** state, the network ACL rules have been replicated. Copy succeeded.'."\n" .'- **CopyNetworkAclEntries** does not support concurrent replication of the same network ACL rules.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-11-24T05:37:30.000Z', 'description' => 'Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CopyNetworkAclEntries'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:CopyNetworkAclEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NetworkAcl', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:networkacl/{#NetworkAclId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6608E72F-F276-440F-ABEF-419971CEC4D1\\"\\n}","type":"json"}]', ], 'CreateBgpGroup' => [ 'summary' => 'Creates a BGP group for a virtual border router (VBR).', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VBR.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'RouterId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VBR.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vbr-bp1ctxy813985gkuk****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the BGP group.'."\n" ."\n" .'The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the BGP group.'."\n" ."\n" .'The description must be 2 to 256 characters in length. It must start with a letter and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'BGP', 'title' => ''], ], [ 'name' => 'LocalAsn', 'in' => 'query', 'schema' => ['description' => 'The custom ASN on the Alibaba Cloud side. Valid values:'."\n" ."\n" .'* **45104**'."\n" .'* **64512~65534**'."\n" .'* **4200000000~4294967294**'."\n" ."\n" .'> **65025** is reserved by Alibaba Cloud. By default, Alibaba Cloud uses **45104** as **LocalAsn**. If you use custom **LocalAsn** in multi-line access scenarios, loops in BGP may occur.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '45104', 'title' => ''], ], [ 'name' => 'PeerAsn', 'in' => 'query', 'schema' => ['description' => 'The ASN of the gateway device in the data center.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1****', 'title' => ''], ], [ 'name' => 'AuthKey', 'in' => 'query', 'schema' => ['description' => 'The authentication key of the BGP group.'."\n", 'type' => 'string', 'required' => false, 'example' => '!PWZ2****', 'title' => ''], ], [ 'name' => 'IsFakeAsn', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to use a fake ASN. Valid values:'."\n" ."\n" .'* **false** (default)'."\n" .'* **true**'."\n" ."\n" .'> A router that runs BGP typically belongs to only one AS. If you need to replace an existing AS with a new AS and you cannot immediately modify BGP configurations, you can use fake ASNs to ensure service continuity.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'true', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'IpVersion', 'in' => 'query', 'schema' => ['description' => 'The IP version. Valid values:'."\n" ."\n" .'* **IPv4**: This is the default value.'."\n" .'* **IPv6**: IPv6 is supported only if the VBR for which you want to create the BGP group has IPv6 enabled.'."\n", 'type' => 'string', 'required' => false, 'example' => 'IPv4', 'title' => ''], ], [ 'name' => 'RouteQuota', 'in' => 'query', 'schema' => ['description' => 'The maximum number of routes supported by a BGP peer. Default value: **110**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '110', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The ID of the BGP group.'."\n", 'type' => 'object', 'properties' => [ 'BgpGroupId' => ['description' => 'The ID of the BGP group.'."\n", 'type' => 'string', 'example' => 'bgpg-bp1k25cyp26cllath****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'C1221A1F-2ACD-4592-8F27-474E02883159', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'QuotaExceeded.Bgp', 'errorMessage' => 'bgp peer count per vbr quota exceed.', 'description' => 'The number of BGP peers in the VBR has reached the upper limit.'], ['errorCode' => 'QuotaExceeded.Nqa', 'errorMessage' => 'nqa count per vbr quota exceed.', 'description' => ''], ['errorCode' => 'QuotaExceeded.BgpNetwork', 'errorMessage' => 'bgp network count per vbr quota exceed.', 'description' => ''], ['errorCode' => 'InvalidPeerIpAddress', 'errorMessage' => 'multi pconn peer ip can not be null.', 'description' => ''], ['errorCode' => 'InvalidVbrNetwork', 'errorMessage' => 'vbr netowrk not exists', 'description' => ''], ['errorCode' => 'InvalidBgpGroup', 'errorMessage' => 'bgp group not exists', 'description' => ''], ['errorCode' => 'InvalidBgpName.Malformed', 'errorMessage' => 'Specified Bgp Group name is not valid.', 'description' => ''], ['errorCode' => 'InvalidBgpDescription.Malformed', 'errorMessage' => 'Specified Bgp Group description is not valid.', 'description' => ''], ['errorCode' => 'InvalidBgpAuthkey.Malformed', 'errorMessage' => 'Specified Bgp Group authkey is not valid.', 'description' => ''], ['errorCode' => 'InvalidIP.Malformed', 'errorMessage' => 'Ip malformed.', 'description' => ''], ['errorCode' => 'InvalidPeerAsn.Malformed', 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', 'description' => ''], ['errorCode' => 'InvalidParams.NotNull', 'errorMessage' => 'params must not null.', 'description' => 'The parameter is required.'], ['errorCode' => 'InvalidBgpGroup.LocalAsnInvalid', 'errorMessage' => 'The specified BgpGroup LocalAsn is invalid, only support 64512 to 65534 or 4200000000 to 4294967294, but cannot be 65025.', 'description' => 'The local ASN of the BGP group is invalid. You must set a value from 64512 to 65534 or from 420000000 to 429496729.'], ['errorCode' => 'InvalidParams.NotFound', 'errorMessage' => 'instance not found', 'description' => ''], ['errorCode' => 'InvalidParams.AlreadyExists', 'errorMessage' => 'bgp network already exists', 'description' => 'The BGP network already exists.'], ['errorCode' => 'InvalidStatus.CannotOperate', 'errorMessage' => 'invalid status cannot operate', 'description' => ''], ['errorCode' => 'InvalidParams.PeerIpAddressMustPointOut', 'errorMessage' => 'vbr has 0 or more than 1 subif ,point out peerIpAddress.', 'description' => 'You must set the PeerIpAddress parameter.'], ['errorCode' => 'InvalidParams.PeerIpAddressInUse', 'errorMessage' => 'peer ip address in use ,cannot create bgp peer.', 'description' => 'The peer IP address is being used. Therefore, you cannot use it to create a BGP peer.'], ['errorCode' => 'IllegalParam.PeerAsn', 'errorMessage' => 'The param of PeerAsn is illegal', 'description' => 'The PeerAsn parameter is set to an invalid value.'], ['errorCode' => 'IllegalParam.LocalAsn', 'errorMessage' => 'The param of LocalAsn is illegal', 'description' => 'The LocalAsn parameter is set to an invalid value.'], ['errorCode' => 'OperationFailed.PconnTrafficNotEnable', 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', 'description' => 'Billing for outbound data transfer is disabled.'], ['errorCode' => 'OperationUnsupport', 'errorMessage' => 'Operation is unsupport, not in vbr support custom local asn white list.', 'description' => 'The operation is not supported.'], ['errorCode' => 'IllegalParam.RouteLimit', 'errorMessage' => 'The operation is failed because of bgp group max route entry num quota exceed.', 'description' => 'The number of routes that can be received by each BGP peer in the BGP group exceeds the upper limit.'], ['errorCode' => 'IllegalParam.BgpGroupLocalAsn', 'errorMessage' => 'VBR BgpGroup localAsn must same with ECR asn.', 'description' => 'The LocalAsn of the VBR must be the same as the ASN of the ECR.'], ['errorCode' => 'OperationDenied.VbrAttachEcrInMiddleStatus', 'errorMessage' => 'The operation is not allowed because of VBR attach or detach ECR in middle status.', 'description' => 'The current operation cannot be performed because the VBR is in the process of loading or unloading the leased line gateway. Please wait a moment and try again.'], ['errorCode' => 'OperationFailed.BgpPeerConflictWithECR', 'errorMessage' => 'The BGP neighbor created by the previous VBR conflicts with the ECR configuration.', 'description' => 'The BGP neighbor created by the current VBR conflicts with the ECR configuration. Delete the BGP configuration and try again.'], ['errorCode' => 'OperationFailed.PeerAsnCannotEqualsLocalAsn', 'errorMessage' => 'Peer ASN is illegal, peer ASN cannot equals to local ASN.', 'description' => 'When adding a BGPGroup, the peer autonomous system number cannot be the same as the local autonomous system number. Please check the parameters and try again.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId is not found.', 'description' => 'The specified region ID is invalid. Check whether the service is available in the specified region.'], ], ], 'title' => 'CreateBgpGroup', 'description' => 'You can connect a VBR to a data center through BGP. Each BGP group is associated with a VBR. You can add a BGP peer that needs to communicate with a VBR to a BGP group and advertise the BGP network in the VBR.'."\n" ."\n" .'BGP groups are used to simplify BGP configurations. You can add BGP peers that use the same configurations to one BGP group. Before you start, you must create a BGP group with the requested autonomous system number (ASN).'."\n" ."\n" .'When you call this operation, take note of the following limits:'."\n" ."\n" .'* You can specify only the data center that is connected to the VBR through an Express Connect circuit as a BGP peer.'."\n" .'* VBRs support only BGP-4.'."\n" .'* You can create at most eight BGP peers for each VBR.'."\n" .'* Each BGP peer supports at most 110 dynamic routes.'."\n" .'* The ASN of Alibaba Cloud is 45104. You can specify a 2-byte or 4-byte ASN for the data center.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-08-16T02:04:29.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-06-19T02:32:26.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2024-06-13T08:13:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-04-19T07:23:36.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-06T07:52:31.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-17T09:56:47.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], 'ramActions' => [], '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":""}]', ], 'CreateBgpPeer' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the BGP group.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) API to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'BgpGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the BGP group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bgpg-wz9f62v4fbg****', 'title' => ''], ], [ 'name' => 'PeerIpAddress', 'in' => 'query', 'schema' => ['description' => 'The IP address of the BGP peer.', 'type' => 'string', 'required' => false, 'example' => '116.62.XX.XX', 'title' => ''], ], [ 'name' => 'EnableBfd', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable Bidirectional Forwarding Detection (BFD). Valid values:'."\n" ."\n" .'- **true**: enables BFD.'."\n" ."\n" .'- **false**: disables BFD.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'true', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'The client generates the value of this parameter. Make sure that the value is unique among different requests. The maximum length is 64 ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request is different.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'IpVersion', 'in' => 'query', 'schema' => ['description' => 'The IP version. Valid values:'."\n" ."\n" .'- **IPv4** (default): IPv4.'."\n" .'- **IPv6**: IPv6. IPv6 is supported only when the VBR on which the BGP group is created has IPv6 enabled.', 'type' => 'string', 'required' => false, 'example' => 'IPv4', 'title' => ''], ], [ 'name' => 'BfdMultiHop', 'in' => 'query', 'schema' => ['description' => 'The BFD hop count. Valid values: **1** to **255**.'."\n" ."\n" .'This parameter is required when BFD is enabled.'."\n" .'Specify the BFD hop count, which is the maximum number of devices that data passes through from the source to the destination. You can configure different hop counts based on actual physical link factors.'."\n" ."\n" .'> When you use BFD in a multi-cloud environment or a fiber direct connect network without any bridging devices in between, you need to change the default BFD hop count from **255** to **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'BgpPeerId' => ['description' => 'The ID of the BGP peer.', 'type' => 'string', 'example' => 'bgp-m5eoyp2mwegk8ce9v****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D4B7649A-61BB-4C64-A586-1DFF1EDA6A42', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'QuotaExceeded.Bgp', 'errorMessage' => 'bgp peer count per vbr quota exceed.', 'description' => 'The number of BGP peers in the VBR has reached the upper limit.'], ['errorCode' => 'QuotaExceeded.Nqa', 'errorMessage' => 'nqa count per vbr quota exceed.', 'description' => ''], ['errorCode' => 'InvalidAccessDeviceId.NotFound', 'errorMessage' => 'There is no Access_Device_Id in our records', 'description' => ''], ['errorCode' => 'QuotaExceeded.BfdSession', 'errorMessage' => 'Your Bfd Session number reaches the upper limit.', 'description' => ''], ['errorCode' => 'QuotaExceeded.BgpNetwork', 'errorMessage' => 'bgp network count per vbr quota exceed.', 'description' => ''], ['errorCode' => 'InvalidPeerIpAddress', 'errorMessage' => 'multi pconn peer ip can not be null.', 'description' => ''], ['errorCode' => 'InvalidVbrNetwork', 'errorMessage' => 'vbr netowrk not exists', 'description' => ''], ['errorCode' => 'InvalidBgpGroup', 'errorMessage' => 'bgp group not exists', 'description' => ''], ['errorCode' => 'InvalidBgpName.Malformed', 'errorMessage' => 'Specified Bgp Group name is not valid.', 'description' => ''], ['errorCode' => 'InvalidBgpDiscription.Malformed', 'errorMessage' => 'Specified Bgp Group description is not valid.', 'description' => ''], ['errorCode' => 'InvalidBgpAuthkey.Malformed', 'errorMessage' => 'Specified Bgp Group authkey is not valid.', 'description' => ''], ['errorCode' => 'InvalidIP.Malformed', 'errorMessage' => 'Ip malformed.', 'description' => ''], ['errorCode' => 'InvalidPeerAsn.Malformed', 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', 'description' => ''], ['errorCode' => 'InvalidParams.NotNull', 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', 'description' => ''], ['errorCode' => 'InvalidParams.NotFound', 'errorMessage' => 'instance not found', 'description' => ''], ['errorCode' => 'InvalidParams.AlreadyExists', 'errorMessage' => 'bgp network already exists', 'description' => 'The BGP network already exists.'], ['errorCode' => 'InvalidStatus.CannotOperate', 'errorMessage' => 'invalid status cannot operate', 'description' => ''], ['errorCode' => 'InvalidParams.PeerIpAddressMustPointOut', 'errorMessage' => 'vbr has 0 or more than 1 subif ,point out peerIpAddress.', 'description' => 'You must set the PeerIpAddress parameter.'], ['errorCode' => 'InvalidParams.PeerIpAddressInUse', 'errorMessage' => 'peer ip address in use ,cannot create bgp peer.', 'description' => 'The peer IP address is being used. Therefore, you cannot use it to create a BGP peer.'], ['errorCode' => 'BgpPeer.Already.Exists', 'errorMessage' => 'bgp peer already exists.', 'description' => ''], ['errorCode' => 'MissingParam.EnableBfd', 'errorMessage' => 'The parameter EnableBfd is missing.', 'description' => ''], ['errorCode' => 'OperationUnsupported.IPV6ForThisRegion', 'errorMessage' => 'This Region is unsupported IPV6.', 'description' => ''], ['errorCode' => 'IllegalParam.BfdMultiHop', 'errorMessage' => 'BfdMultiHop is illegal.', 'description' => ''], ['errorCode' => 'OperationFailed.PconnTrafficNotEnable', 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', 'description' => 'Billing for outbound data transfer is disabled.'], ['errorCode' => 'UnsupportedFeature.Vpconn', 'errorMessage' => 'The feature of Vpconn is not supported.', 'description' => 'The Express Connect circuit type is not supported.'], ['errorCode' => 'DuplicatedParam.PeerIpAddress', 'errorMessage' => 'The param of PeerIpAddress is duplicated.', 'description' => 'Duplicate IP addresses of BGP peers exist.'], ['errorCode' => 'DuplicatedParam.LocalIpAddress', 'errorMessage' => 'The LocalIpAddress already exists.', 'description' => 'The error message returned because you specified a duplicate local IP address. Change the local IP address and try again.'], ['errorCode' => 'DuplicatedParam.PeerIpv6Address', 'errorMessage' => 'The PeerIpv6Address already exists.', 'description' => 'The error message returned because you specified a duplicate peer IP address. Change the peer IP address and try again.'], ['errorCode' => 'DuplicatedParam.LocalIpv6Address', 'errorMessage' => 'The LocalIpv6Address already exists.', 'description' => 'The error message returned because you specified a duplicate local IP address. Change the local IP address and try again.'], ['errorCode' => 'IllegalParam.LocalGatewayIpAndMask', 'errorMessage' => 'The LocalGatewayIpAndMask value is invalid.', 'description' => 'The error message returned because the IP address of the local gateway and the subnet mask are invalid. Specify a valid IP address and subnet mask and try again.'], ['errorCode' => 'IllegalParam.PeeringIpv6SubnetMask', 'errorMessage' => 'The PeeringIpv6SubnetMask value is invalid.', 'description' => 'The error message returned because the subnet mask is invalid. Specify a valid subnet mask and try again.'], ['errorCode' => 'IllegalParam.IpVersion', 'errorMessage' => 'The param of IPV6 is illegal.', 'description' => 'The parameter IpVersion is abnormal. Please check the parameter and try again.'], ['errorCode' => 'IllegalParam.PeerIpAddress', 'errorMessage' => 'The param of PeerIpAddress is illegal.', 'description' => 'The peer IP address is invalid.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'Specified value of "regionId" is not supported.', 'description' => ''], ], ], 'title' => 'Add a BGP peer to the specified BGP group', 'summary' => 'Calls the CreateBgpPeer API to add a BGP peer to the specified BGP group.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-03-19T10:32:30.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2024-08-16T02:04:29.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-06-09T02:27:47.000Z', 'description' => 'Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateBgpPeer'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateBgpPeer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"BgpPeerId\\": \\"bgp-m5eoyp2mwegk8ce9v****\\",\\n \\"RequestId\\": \\"D4B7649A-61BB-4C64-A586-1DFF1EDA6A42\\"\\n}","type":"json"}]', ], 'CreateCommonBandwidthPackage' => [ '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' => 'The region ID of the Internet Shared Bandwidth instance.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Zone', 'in' => 'query', 'schema' => ['description' => 'The zone of the Internet Shared Bandwidth instance.'."\n" .'This parameter is required when you create an Internet Shared Bandwidth instance for a CloudBox.', 'type' => 'string', 'required' => false, 'example' => 'ap-southeast-1-lzdvn-cb', 'title' => ''], ], [ 'name' => 'ISP', 'in' => 'query', 'schema' => ['description' => 'The line type. Valid values:'."\n" .'- **BGP** (default): BGP (multi-ISP) lines. All regions support BGP (multi-ISP) lines.'."\n" .'- **BGP_PRO**: BGP (multi-ISP) premium lines. Currently, only the Hong Kong (China), Singapore, Japan (Tokyo), Philippines (Manila), Malaysia (Kuala Lumpur), Indonesia (Jakarta), and Thailand (Bangkok) regions support BGP (multi-ISP) premium Internet Shared Bandwidth instances.'."\n" ."\n" .'If you are a single-ISP bandwidth whitelist user, you can also select the following types:'."\n" .'- **ChinaTelecom**: China Telecom'."\n" .'- **ChinaUnicom**: China Unicom'."\n" .'- **ChinaMobile**: China Mobile'."\n" .'- **ChinaTelecom_L2**: China Telecom L2'."\n" .'- **ChinaUnicom_L2**: China Unicom L2'."\n" .'- **ChinaMobile_L2**: China Mobile L2'."\n" ."\n" .'If you are a Finance Cloud user in the China (Hangzhou) region, this parameter is required. Set the value to **BGP_FinanceCloud**.', 'type' => 'string', 'required' => false, 'example' => 'BGP', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the Internet Shared Bandwidth instance.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'test123', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the Internet Shared Bandwidth instance.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'abc', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazdjdhd****', 'title' => ''], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The peak bandwidth of the Internet Shared Bandwidth instance. Unit: Mbit/s. '."\n" ."\n" .'Default value range: **1** to **1000**. Default value: **1**.'."\n" ."\n" .''."\n" ."\n" .'- If **InternetChargeType** is set to **PayByBandwidth**, which indicates that the billable method of the Internet Shared Bandwidth instance is pay-by-bandwidth, the default value range of **Bandwidth** is **2** to **20000**.'."\n" .'- If **InternetChargeType** is set to **PayBy95**, which indicates that the billable method of the Internet Shared Bandwidth instance is pay-by-enhanced-95th-percentile, the default value range of **Bandwidth** is **200** to **20000**.'."\n" .'- If **InternetChargeType** is set to **PayByDominantTraffic**, which indicates that the billable method of the Internet Shared Bandwidth instance is pay-by-dominant-traffic, the default value range of **Bandwidth** is **1** to **2000**.'."\n" ."\n" .' Default value: **1000**.'."\n" .'.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '1000', 'title' => ''], ], [ 'name' => 'Ratio', 'in' => 'query', 'schema' => ['description' => 'The minimum bandwidth commitment percentage of the Internet Shared Bandwidth instance. Set the value to **20**.'."\n" ."\n" .' This parameter is required when **InternetChargeType** is set to **PayBy95**.'."\n" .'>This parameter is supported only on the China site.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '0', 'example' => '20', 'title' => ''], ], [ 'name' => 'InternetChargeType', 'in' => 'query', 'schema' => ['description' => 'The billable method of the Internet Shared Bandwidth instance. Valid values:'."\n" .'**PayByTraffic** (pay-by-data-transfer).'."\n" ."\n" .''."\n" ."\n" .'- **PayByBandwidth** (default): pay-by-bandwidth.'."\n" .'- **PayBy95**: pay-by-enhanced-95th-percentile.'."\n" .'- **PayByDominantTraffic**: pay-by-dominant-traffic.'."\n" .'.', 'type' => 'string', 'required' => false, 'default' => 'PayByBandwidth', 'example' => '中国站示例值:PayByBandwidth,国际站示例值:PayByTraffic', 'title' => ''], ], [ 'name' => 'SecurityProtectionTypes', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The security protection level.'."\n" ."\n" .'- If you do not set this parameter, Anti-DDoS Origin Basic is used by default.'."\n" ."\n" .'- If you set this parameter to **AntiDDoS_Enhanced**, Anti-DDoS Origin Enhanced is used.'."\n" ."\n" .'You can set this parameter when **InternetChargeType** is set to **PayBy95**.'."\n" ."\n" .'You can specify up to 10 security protection levels.'."\n" ."\n" .'> This parameter is deprecated.', 'type' => 'array', 'items' => ['description' => 'The security protection level.'."\n" ."\n" .'- If you do not set this parameter, Anti-DDoS Origin Basic is used by default.'."\n" ."\n" .'- If you set this parameter to **AntiDDoS_Enhanced**, Anti-DDoS Origin Enhanced is used.'."\n" ."\n" .'You can set this parameter when **InternetChargeType** is set to **PayBy95**.'."\n" ."\n" .'Valid values of **N**: **1** to **10**. Currently, only one security protection level can be specified. If you specify multiple levels, you may fail to invoke the operation.'."\n" ."\n" .'> This parameter is deprecated.', 'type' => 'string', 'required' => false, 'example' => 'AntiDDoS_Enhanced', 'title' => ''], 'required' => false, 'example' => 'AntiDDoS_Enhanced', 'maxItems' => 10, 'title' => '', ], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tags for the Internet Shared Bandwidth instance.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'BandwidthPackageId' => ['description' => 'The ID of the Internet Shared Bandwidth instance.', 'type' => 'string', 'example' => 'cbwp-bp1vevu8h3ieh****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'FF39F653-033E-4CD9-9EDF-3CCA5A71FBC3', 'title' => ''], 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-acfmxazdjdhd****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotEnough.Bandwidth', 'errorMessage' => 'The specified resource of Bandwidth is not enough.', 'description' => 'The specified resource of Bandwidth is insufficient.'], ['errorCode' => 'MissingParameter', 'errorMessage' => 'Miss mandatory parameter.', 'description' => ''], ['errorCode' => 'InvalidParameter.Name.Malformed', 'errorMessage' => 'The specified Name is not valid.', 'description' => ''], ['errorCode' => 'InvalidParameter.Description.Malformed', 'errorMessage' => 'The specified Description is not valid.', 'description' => ''], ['errorCode' => 'BandwidthPackageOperation.conflict', 'errorMessage' => 'BandwidthPackage operation conflict, please wait a moment and try again.', 'description' => ''], ['errorCode' => 'InvalidParameter.Bandwidth', 'errorMessage' => 'The specified bandwidth is not valid.', 'description' => ''], ['errorCode' => 'BandwidthPackage.QuotaExceeded', 'errorMessage' => 'Create BandwidthPackage has exceeded quota.', 'description' => ''], ['errorCode' => 'IllegalParam.Zone', 'errorMessage' => 'Zone is illegal.', 'description' => ''], ['errorCode' => 'InvalidParameter.InvalidChargeType', 'errorMessage' => 'The specified chargeType is not valid.', 'description' => ''], ['errorCode' => 'InvalidResourceGroupId', 'errorMessage' => 'The specified ResourceGroupId does not exist.', 'description' => 'The specified resource group ID does not exist.'], ['errorCode' => 'OperationFailed.SaleValidate', 'errorMessage' => 'Validate sale condition with subArticle failed.', 'description' => 'Failed to validate the sales condition with a subproject.'], ['errorCode' => 'OperationFailed.SyncOrderToSub', 'errorMessage' => 'SyncOrderToSub error.', 'description' => 'The operation failed.'], ['errorCode' => 'IllegalParam.Ratio', 'errorMessage' => 'The specified ratio is not valid.', 'description' => ''], ['errorCode' => 'OperationUnsupported.InvalidZone', 'errorMessage' => 'It is not allowed to create CBWP in the specified zone.', 'description' => ''], ['errorCode' => 'IllegalParam.AvailableZone', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'MissingParam.NameOrDescription', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'UnsupportedRegion.CloudBoxInternet', 'errorMessage' => 'The region does not support cloud box public network.', 'description' => 'The region does not support cloud box public network.'], ['errorCode' => 'ResourceNotEnough.CommonBandWidthPackage', 'errorMessage' => 'The specified resource commonBandWidthPackage is not enough.', 'description' => 'The specified resource commonBandWidthPackage is not enough.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'Specified value of VpcId is not found in our record.', 'description' => 'The VPC does not exist. Check whether the specified VPC is valid.'], ['errorCode' => 'InvalidZoneId.NotFound', 'errorMessage' => 'Specified value of ZoneId is not exists.', 'description' => ''], ], ], 'title' => 'Create an internet shared bandwidth instance', 'summary' => 'Creates an Internet Shared Bandwidth instance by calling the CreateCommonBandwidthPackage operation.', 'description' => 'This operation supports only the creation of pay-as-you-go Internet Shared Bandwidth instances. To create a subscription Internet Shared Bandwidth instance, see [Create an Internet Shared Bandwidth instance](~~65223~~)..', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-03-26T08:11:23.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-02-23T08:26:24.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-11-06T04:01:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-26T06:23:12.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-09-27T07:25:24.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-22T09:41:14.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCommonBandwidthPackage'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateCommonBandwidthPackage', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'CommonBandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"BandwidthPackageId\\": \\"cbwp-bp1vevu8h3ieh****\\",\\n \\"RequestId\\": \\"FF39F653-033E-4CD9-9EDF-3CCA5A71FBC3\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazdjdhd****\\"\\n}","type":"json"}]', ], 'CreateCustomerGateway' => [ 'summary' => 'Creates a customer gateway.', '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' => 'The region ID of the customer gateway.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44****', 'title' => ''], ], [ 'name' => 'IpAddress', 'in' => 'query', 'schema' => ['description' => 'The static IP address of the gateway device in the data center.'."\n" ."\n" .'* If you want to create a public IPsec-VPN connection, enter a public IP address.'."\n" .'* If you want to create a private IPsec-VPN connection, enter a private IP address.'."\n" ."\n" .'You cannot use the following IP addresses. Otherwise, a IPsec-VPN connection cannot be established:'."\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", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '101.12.XX.XX', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the customer gateway.'."\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' => 'nametest', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the customer gateway.'."\n" ."\n" .'The description must be 1 to 100 characters in length, and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'desctest', 'title' => ''], ], [ 'name' => 'Asn', 'in' => 'query', 'schema' => ['description' => 'The autonomous system number (ASN) of the gateway device in your data center. This parameter is required If you want to use Border Gateway Protocol (BGP) for the IPsec-VPN connection. Valid values: 1 to 4294967295. 45104 is not supported.'."\n" ."\n" .'**Asn** is a 4-byte number. You can enter it in two segments and separate the first 16 bits from the following 16 bits with a period (.). Enter the number in each segment in decimal format.'."\n" ."\n" .'For example, if you enter 123.456, the ASN is 8061384. The ASN is calculated by using the following formula: 123 × 65536 + 456 = 8061384.'."\n" ."\n" .'> - We recommend that you use a private ASN to establish BGP connections to Alibaba Cloud. For information about the range of private ASNs, see the relevant documentation.'."\n" .'> - 45104 is a unique identifier assigned by IANA to Alibaba Cloud. It is used to identify Alibaba Cloud during route selection and data transmission over the Internet.', 'type' => 'string', 'required' => false, 'example' => '65530', 'title' => ''], ], [ 'name' => 'AuthKey', 'in' => 'query', 'schema' => ['description' => 'The authentication key of the BGP routing protocol for the gateway device in the data center.'."\n" ."\n" .'The key must be 1 to 64 characters in length. It can contain only ASCII characters and cannot contain spaces or question marks (?).'."\n", 'type' => 'string', 'required' => false, 'example' => 'AuthKey****', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag value.'."\n" ."\n" .'The tag value can be an empty string and cannot exceed 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n" ."\n" .'Each tag key corresponds to one tag value. You can specify up to 20 tag values in each call.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. The tag key cannot be an empty string.'."\n" ."\n" .'It can be at most 64 characters in length, and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" ."\n" .'You can specify at most 20 tag keys in each call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TagKey', 'title' => ''], 'Value' => ['description' => 'The tag value.'."\n" ."\n" .'The tag value can be an empty string and cannot exceed 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n" ."\n" .'Each tag key corresponds to one tag value. You can specify at most 20 tag values in each call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TagValue', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the customer gateway belongs.'."\n" ."\n" .'- You can call the [ListResourceGroups](~~158855~~) operation to query the resource group list.'."\n" ."\n" .'- If you do not specify a resource group, the customer gateway will belong to the default resource group after being created.', 'type' => 'string', 'required' => false, 'example' => 'rg-aek2qo2h4jy****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'D32B3C26-6C6C-4988-93E9-D2A6444CE6AE', 'title' => ''], 'IpAddress' => ['description' => 'The static IP address of the gateway device in the on-premises data center.', 'type' => 'string', 'example' => '101.12.XX.XX', 'title' => ''], 'Description' => ['description' => 'The description of the customer gateway.'."\n", 'type' => 'string', 'example' => 'desctest', 'title' => ''], 'CustomerGatewayId' => ['description' => 'The ID of the customer gateway.'."\n", 'type' => 'string', 'example' => 'cgw-bp1jrawp82av6bws9****', 'title' => ''], 'CreateTime' => ['description' => 'The timestamp generated when the customer gateway was created. Unit: milliseconds.'."\n" ."\n" .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1493363486000', 'title' => ''], 'Name' => ['description' => 'The name of the customer gateway.'."\n", 'type' => 'string', 'example' => 'nametest', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidAuthkey.Malformed', 'errorMessage' => 'The specified BGP authentication key (%s) is malformed.', 'description' => 'The BGP authentication key is invalid.'], ['errorCode' => 'InvalidIpAddress.AlreadyExist', 'errorMessage' => 'Specified IpAddress is already exist.', 'description' => 'The IP address already exists. You cannot specify duplicate IP addresses by using the same account in the same region.'], ['errorCode' => 'InvalidIpAddress.WrongFormat', 'errorMessage' => 'Specified IpAddress is invalid.', 'description' => ''], ['errorCode' => 'InvalidName', 'errorMessage' => 'The name is not valid', 'description' => ''], ['errorCode' => 'InvalidDescription', 'errorMessage' => 'The description is not valid', 'description' => ''], ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'IllegalParam.Asn', 'errorMessage' => 'The specified Asn is invalid.', 'description' => 'The error message returned because the ASN is invalid.'], ['errorCode' => 'OperationDenied.MissingAsn', 'errorMessage' => 'The autonomous system number of the customer gateway is mandatory when BGP authentication key is specified.', 'description' => '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.', 'description' => 'The error message returned because the specified tag value is invalid.'], ['errorCode' => 'SizeLimitExceeded.TagNum', 'errorMessage' => 'The maximum number of tags is exceeded.', 'description' => 'The number of tags has reached the upper limit.'], ['errorCode' => 'Forbidden.TagKey.Duplicated', 'errorMessage' => 'The specified tag key already exists.', 'description' => 'The tag resources are duplicate.'], ['errorCode' => 'InvalidParameter.TagKey', 'errorMessage' => 'The specified parameter TagKey is invalid.', 'description' => 'The error message returned because the specified tag key is invalid.'], ['errorCode' => 'Duplicated.TagKey', 'errorMessage' => 'The specified parameter TagKey is duplicated.', 'description' => 'The error message returned because the specified tag key already exists.'], ['errorCode' => 'OperationFailed.NoRamPermission', 'errorMessage' => 'Vpn Service has no permission to operate your IDaaS instances.', 'description' => 'The VPN service does not have the permissions to manage your IDaaS instance.'], ['errorCode' => 'CreateVpnUserGatewayQuotaFull.QuotaFull', 'errorMessage' => 'The number of created VPN customer gateways exceeds the quota.', 'description' => '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.', 'description' => 'The error message returned because you are unauthorized to perform this operation on the specified resource. Acquire the required permissions and try again.'], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], 409 => [ ['errorCode' => 'OperationConflict', 'errorMessage' => 'The operation against this instance is too frequent, please try again later.', 'description' => 'Operations are too frequently performed on the instance. Try again later.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'CreateCustomerGateway', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-01-04T07:17:10.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-10-19T07:04:01.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2022-12-27T12:19:50.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2022-12-27T03:28:32.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'CreateDefaultVSwitch' => [ 'summary' => 'Creates a default vSwitch.', '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' => 'The zone ID of the default vSwitch that you want to create.'."\n" ."\n" .'You can call the [DescribeZones](~~36064~~) operation to query zone IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou-b', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the default vSwitch that you want to create.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Ipv6CidrBlock', 'in' => 'query', 'schema' => ['description' => 'The last 8 bits of the IPv6 CIDR block of the vSwitch. Valid values: **0** to **255**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The ID of the default vSwitch that was created.', 'type' => 'object', 'properties' => [ 'VSwitchId' => ['description' => 'The ID of the default vSwitch that was created.', 'type' => 'string', 'example' => 'vsw-bp1a4b5qhmxftjimq****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'Invalid description.', 'description' => ''], ['errorCode' => 'InvalidVSwitchName.Malformed', 'errorMessage' => 'Specified virtual switch name is not valid.', 'description' => 'The format of the specified vSwitch name is invalid. Specify the name in the valid format.'], ['errorCode' => 'InvalidVSwitchDiscription.Malformed', 'errorMessage' => 'Specified virtual switch description is not valid.', 'description' => ''], ['errorCode' => 'Abs.Vpc.InvalidDescription.Malformed', 'errorMessage' => 'Specified virtual switch name is not valid.', 'description' => ''], ['errorCode' => 'ResourceNotAvailable', 'errorMessage' => 'Resource you requested is not available in this region or zone.', 'description' => ''], ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Specified CIDR block is not valid in VPC.', 'description' => ''], ['errorCode' => 'InvalidCidrBlock.Overlapped', 'errorMessage' => 'Specified CIDR block overlapped with other subnets.', 'description' => ''], ['errorCode' => 'QuotaExceeded.VSwitch', 'errorMessage' => 'Virtual switch quota exceeded.', 'description' => 'The number of vSwitches has reached the upper limit. Reduce the number of vSwitches and try again later.'], ['errorCode' => 'IncorrectRouteEntryStatus', 'errorMessage' => 'Some route entry status blocked this operation.', 'description' => ''], ['errorCode' => 'IncorrectVSwitchStatus', 'errorMessage' => 'Some virtual switch is modifying within the same VPC.', 'description' => 'Multiple vSwitches are in the Modifying state in the same VPC. Try again later.'], ['errorCode' => 'InvalidCirdrBlock.MaskLength', 'errorMessage' => 'Specified CIDR block is not valid .', 'description' => 'Invalid CIDR block.'], ['errorCode' => 'IncorrectVpcStatus', 'errorMessage' => 'Current VPC status does not support this operation.', 'description' => ''], ['errorCode' => 'CreateVSwitch.IncorrectStatus.cbnStatus', 'errorMessage' => 'Current CBN status does not support this operation.', 'description' => 'You cannot create a vSwitch when the CEN instance is in the current state.'], ['errorCode' => 'InvalidCidrBlock.Malformed', 'errorMessage' => 'Specified CIDR block is not valid.', 'description' => ''], ['errorCode' => 'MissingParameter', 'errorMessage' => 'Miss mandatory parameter.', 'description' => ''], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent, TaskConflict.', 'description' => 'The system is unavailable. Try again later.'], ['errorCode' => 'VPC.SWITCH.RULE.QUOTA.NOT.EXISTS', 'errorMessage' => 'vSwitch quota rule not exists.', 'description' => ''], ['errorCode' => 'Forbidden.VpcNotFound', 'errorMessage' => 'Specified VPC can not found.', 'description' => 'The specified VPC does not exist.'], ['errorCode' => 'RouteConflict.AlreadyExist', 'errorMessage' => 'Route conflict exists in routing table.', 'description' => 'Route conflicts exist in the route table.'], ['errorCode' => 'OperationFailed.CidrAcross', 'errorMessage' => 'Classic link instance cidr must not across.', 'description' => ''], ['errorCode' => 'Duplicated.ClientToken', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationFailed.Ipv6CidrBlockExisted', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.Ipv6CidrBlock', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationFailed.VpcIpv6Disabled', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IncorrectStatus.cbnStatus', 'errorMessage' => 'Current CBN status does not support this operation.', 'description' => 'The status of the CEN instance is invalid.'], ['errorCode' => 'OperationFailed.DefaultVpcNotExist', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'UnsupportedFeature.CloudBoxIpv6', 'errorMessage' => 'The IPv6 feature is not supported by cloud box.', 'description' => 'You cannot create an IPv6 address for a CloudBox instance.'], ['errorCode' => 'OperationDenied.VpcPeerExist', 'errorMessage' => 'The operation is not allowed because the VPC peer exists.', 'description' => 'The operation failed because VPC peering connections exist.'], ['errorCode' => 'OperationDenied.CenAttached', 'errorMessage' => 'The operation is not allowed because the VPC is attached to CEN.', 'description' => 'The operation is not allowed because the VPC is attached to a CEN instance.'], ['errorCode' => 'OperationDenied.NatgwExist', 'errorMessage' => 'The operation is not allowed because the NAT gateway exists in VPC.', 'description' => 'The operation is not allowed because NAT gateways exist in the VPC.'], ['errorCode' => 'OperationDenied.OtherSubnetCreating', 'errorMessage' => 'other subnet is creating', 'description' => ''], ['errorCode' => 'OperationFailed.DefaultVSwitchExist', 'errorMessage' => 'A default vSwitch already exists in the zone.', 'description' => 'The error message returned because the default vSwitch already exists in the current zone.'], ['errorCode' => 'InvalidStatus.RouteEntry', 'errorMessage' => 'RouteEntry status error.', 'description' => ''], ['errorCode' => 'InvalidZoneId.NotFound', 'errorMessage' => 'Specified zone does not exist.', 'description' => ''], ['errorCode' => 'OperationDenied.ZoneIsDisabled', 'errorMessage' => 'The specified zone is disabled. You cannot create a vSwitch in a disabled zone.', 'description' => 'The specified zone is disabled. You cannot create a vSwitch in a disabled zone.'], ], 404 => [ ['errorCode' => 'Invalid.NotExist', 'errorMessage' => 'witch mask rule not exists.', 'description' => ''], ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'Specified VPC does not exist.', 'description' => ''], ], ], 'title' => 'Create a default vSwitch', 'description' => 'When you call this operation to create a default vSwitch, take note of the following items:'."\n" .'- The first and last three IP addresses of each default vSwitch CIDR block are reserved by the system. For example, the system reserved IP addresses of 192.168.1.0/24 are 192.168.1.0, 192.168.1.253, 192.168.1.254, and 192.168.1.255.'."\n" ."\n" .'- The number of cloud service instances in a default vSwitch cannot exceed the remaining available cloud service instances in the VPC (15,000 minus the current number of cloud service instances).'."\n" ."\n" .'- Default vSwitches do not support multicast or broadcast.'."\n" ."\n" .'- After a default vSwitch is created, you cannot modify its CIDR block.'."\n" ."\n" .'- The **CreateDefaultVSwitch** operation is asynchronous. After you send a request, the system returns an instance ID, but the default vSwitch is not yet created. A background task is still in progress. You can call [DescribeVSwitchAttributes](~~94567~~) to query the creation status of the default vSwitch:'."\n" .' - If the default vSwitch is in the **Pending** state, the default vSwitch is being configured.'."\n" .' - If the default vSwitch is in the **Available** state, the default vSwitch is available.'."\n" .'- If a default vSwitch already exists in a zone of the specified region, the call to this operation fails.'."\n" .'- Before you create a default vSwitch, create a default VPC first. You can call the [CreateDefaultVpc](~~609152~~) operation to create a default VPC.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateDefaultVSwitch'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateDefaultVSwitch', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionid}:{#accountId}:vswitch/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"VSwitchId\\": \\"vsw-bp1a4b5qhmxftjimq****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]', ], 'CreateDefaultVpc' => [ 'summary' => 'Creates a default virtual private cloud (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' => 'The region ID of the default VPC.'."\n" ."\n" .'You can call [DescribeRegions](~~36063~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Ipv6CidrBlock', 'in' => 'query', 'schema' => ['description' => 'The IPv6 CIDR block of the default VPC.'."\n" ."\n" .'> This parameter is required when **EnableIpv6** is set to **true**.', 'type' => 'string', 'required' => false, 'example' => '2408:XXXX:346:b600::/56', 'title' => ''], ], [ 'name' => 'EnableIpv6', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable the IPv6 CIDR block. Valid values:'."\n" ."\n" .'- **false** (default): does not enable the IPv6 CIDR block.'."\n" .'- **true**: enables the IPv6 CIDR block.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmystnjq4****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The ID of the default VPC that is created.', 'type' => 'object', 'properties' => [ 'VpcId' => ['description' => 'The ID of the default VPC that is created.', 'type' => 'string', 'example' => 'vpc-bp15zckdt37pq72zv****', 'title' => ''], 'VRouterId' => ['description' => 'The ID of the vRouter that the system automatically creates after the default VPC is created.', 'type' => 'string', 'example' => 'vrt-bp1lhl0taikrteen8****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], 'RouteTableId' => ['description' => 'The ID of the route table that the system automatically creates after the default VPC is created.', 'type' => 'string', 'example' => 'vtb-bp1q1uirugzb1x32m****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'TOKEN_PROCESSING', 'errorMessage' => 'Action is processing.', 'description' => ''], ['errorCode' => 'InvokeError', 'errorMessage' => 'instance quota rule invoke error.', 'description' => 'Failed to get rule data, please wait zai shi'], ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Specified CIDR block is not valid', 'description' => ''], ['errorCode' => 'ResourceNotAvailable', 'errorMessage' => 'Resource you requested is not available in this region or zone.', 'description' => ''], ['errorCode' => 'InvalidVpcName.Malformed', 'errorMessage' => 'Specified VPC name is not valid.', 'description' => ''], ['errorCode' => 'InvalidVpcDiscription.Malformed', 'errorMessage' => 'Specified VPC description is not valid.', 'description' => ''], ['errorCode' => 'QuotaExceeded.Vpc', 'errorMessage' => 'VPC quota exceeded.', 'description' => 'The number of VPCs in this account has reached the upper limit.'], ['errorCode' => 'ResourceNotAvailable.Vpc', 'errorMessage' => 'Resource you requested is not available in this region or zone.', 'description' => ''], ['errorCode' => 'InvalidUserCidr.Quota', 'errorMessage' => 'Specified UserCidr number is greater than 3.', 'description' => ''], ['errorCode' => 'InvalidUserCidr.Malformed', 'errorMessage' => 'Specified UserCidr overlapping in of 100.64.0.0/10.', 'description' => 'The user CIDR block that you specify overlaps with 100.64.0.0/10.'], ['errorCode' => 'InvalidResourceGroupId', 'errorMessage' => 'The specified ResourceGroupId does not exist.', 'description' => 'The specified resource group ID does not exist.'], ['errorCode' => 'IllegalParam.Ipv6CidrBlock', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationFailed.IPv6CidrNotReserved', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'MissingParam.EnableIpv6', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationUnsupported.Ipv6Feature', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.ZoneId', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationFailed.DefaultVpcExist', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'Specified value of "regionId" is not supported.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'User not authorized to operate on the specified resource.'], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'title' => 'Create a default VPC', 'description' => 'When you call this operation to create a default VPC, note the following items:'."\n" ."\n" .'- After a default VPC is created, you cannot modify its CIDR block, but you can add secondary IPv4 CIDR blocks.'."\n" ."\n" .'- Each default VPC supports up to 300,000 private network IP addresses for cloud resources, and this quota cannot be upgraded.'."\n" .' '."\n" .'- After a default VPC is created, a vRouter and a route table are automatically created.'."\n" .' '."\n" .'- Each default VPC supports up to three user CIDR blocks. If multiple user CIDR blocks overlap, the CIDR block with the shorter mask takes effect. For example, if both 10.0.0.0/16 and 10.0.0.0/24 exist, 10.0.0.0/16 takes effect.'."\n" ."\n" .'- The **CreateDefaultVpc** operation is asynchronous. After you send a request, the system returns an instance ID while the default VPC is still being created in the background. You can call [DescribeVpcAttribute](~~94565~~) to query the creation status of the default VPC:'."\n" .' - If the default VPC is in the **Pending** state, the default VPC is being configured.'."\n" .' - If the default VPC is in the **Available** state, the default VPC is available.'."\n" .'- The **CreateDefaultVpc** operation does not support concurrent creation of default VPCs in the same region.'."\n" .'- Only one default VPC can exist in a region.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateDefaultVpc'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateDefaultVpc', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/*'], ], ], ], ], '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"}]', ], 'CreateDhcpOptionsSet' => [ 'summary' => 'Creates a DHCP options set.', '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' => 'The region to which the DHCP options set belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'DomainNameServers', 'in' => 'query', 'schema' => ['description' => 'The IP address of the DNS server. You can enter at most four DNS server IP addresses. Separate IP addresses with commas (,).'."\n" ."\n" .'> If no IP address is specified, the Elastic Compute Service (ECS) instance uses the IP addresses 100.100.2.136 and 100.100.2.138, which are provided by Alibaba Cloud by default.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '192.XX.XX.123', 'title' => ''], ], [ 'name' => 'DhcpOptionsSetName', 'in' => 'query', 'schema' => ['description' => 'The name of the DHCP options set.'."\n" ."\n" .'The name must be 1 to 128 characters in length and can contain letters, digits, underscores (\\_), and hyphens (-). It must start with a letter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'name', 'title' => ''], ], [ 'name' => 'DhcpOptionsSetDescription', 'in' => 'query', 'schema' => ['description' => 'The description of the DHCP options set.'."\n" ."\n" .'The description must be 1 to 256 characters in length. It must start with a letter and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'description', 'title' => ''], ], [ 'name' => 'DomainName', 'in' => 'query', 'schema' => ['description' => 'The root domain. For example, you can set the value to example.com.'."\n" ."\n" .'After a DHCP options set is associated with a virtual private cloud (VPC), the root domain in the DHCP options set is automatically synchronized with the ECS instances in the VPC.'."\n", 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the DHCP options set belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag of the resource.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N to add to the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'A tag key can be at most 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of tag N to add to the resource. You can specify at most 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length, and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request.'."\n" ."\n" .'**true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" ."\n" .'**false** (default): performs a dry run and sends the request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'LeaseTime', 'in' => 'query', 'schema' => ['description' => 'The lease time of the IPv4 addresses for the DHCP options set.'."\n" ."\n" .'* If you use hours as the unit, valid values are **24h to 1176h** and **87600h to 175200h**. Default value: **87600h**.'."\n" .'* If you use days as the unit, valid values are **1d to 49d** and **3650d to 7300d**. Default value: **3650d**.'."\n" ."\n" .'> When you enter a value, you must also specify the unit.'."\n", 'type' => 'string', 'required' => false, 'example' => '3650d', 'title' => ''], ], [ 'name' => 'Ipv6LeaseTime', 'in' => 'query', 'schema' => ['description' => 'The lease time of the IPv6 addresses for the DHCP options set.'."\n" ."\n" .'* If you use hours as the unit, valid values are **24h to 1176h** and **87600h to 175200h**. Default value: **87600h**.'."\n" .'* If you use days as the unit, valid values are **1d to 49d** and **3650d to 7300d**. Default value: **3650d**.'."\n" ."\n" .'> When you enter a value, you must also specify the unit.'."\n", 'type' => 'string', 'required' => false, 'example' => '3650d', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The ID of the DHCP options set that is created.'."\n", 'type' => 'object', 'properties' => [ 'DhcpOptionsSetId' => ['description' => 'The ID of the DHCP options set that is created.'."\n", 'type' => 'string', 'example' => 'dopt-o6w0df4epg9zo8isy****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the DHCP options set belongs.'."\n", 'type' => 'string', 'example' => 'rg-acfmxazb4ph****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationUnsupported.DhcpOptionsSet', 'errorMessage' => 'The DHCP options set feature in this region is not supported.', 'description' => 'The current region does not support the DHCP options sets feature.'], ['errorCode' => 'InvalidDomainNameServers.Malformed', 'errorMessage' => 'The specified format of DomainNameServers is invalid.', 'description' => 'The format of the value of DomainNameServers is invalid. Check whether the parameter is set to a valid value.'], ['errorCode' => 'QuotaExceeded.DomainNameServers', 'errorMessage' => 'The maximum number of domain name servers cannot exceed 4.', 'description' => 'DomainNameServers is set to a value greater than four.'], ['errorCode' => 'IllegalParam.DomainNameServers', 'errorMessage' => 'The specified DomainNameServers is invalid.', 'description' => 'DomainNameServers is set to an invalid value.'], ['errorCode' => 'IllegalParam.DomainName', 'errorMessage' => 'The specified DomainName is invalid.', 'description' => 'The error message returned because DomainName is set to an invalid value.'], ['errorCode' => 'IllegalParam.DhcpOptionsSetName', 'errorMessage' => 'The specified DhcpOptionsSetName is invalid.', 'description' => 'DhcpOptionsSetName is set to an invalid value.'], ['errorCode' => 'IllegalParam.DhcpOptionsSetDescription', 'errorMessage' => 'The specified DhcpOptionsSetDescription is invalid.', 'description' => 'DhcpOptionsSetDescription is set to an invalid value.'], ['errorCode' => 'QuotaExceeded.RegionDhcpOptionsSet', 'errorMessage' => 'The quota of dhcpOptionsSet in the region is exceeded.', 'description' => 'The number of DHCP options sets reaches the upper limit.'], ['errorCode' => 'OperationUnsupported.DhcpLeaseTime', 'errorMessage' => 'The DhcpOptionsSet of this region does not support custom LeaseTime.', 'description' => 'DHCP options sets in the region do not support a custom lease time.'], ['errorCode' => 'IllegalParam.LeaseTime', 'errorMessage' => 'LeaseTime [%s] is illegal.', 'description' => 'The specified LeaseTime parameter is illegal'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist.', 'description' => 'The specified region does not exist.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::GetDhcpOptionsSet', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'CreateDhcpOptionsSet', 'description' => '* **CreateDhcpOptionsSet** 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 [GetDhcpOptionsSet](~~448820~~) to query the status of the task.'."\n" ."\n" .' * If the vSwitch is in the **Pending** state, the DHCP options set is being configured.'."\n" .' * If the vSwitch is in the **Available** state, the DHCP options set is available.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-04-29T07:12:47.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-09-27T07:40:56.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-09-21T11:15:54.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-05T05:51:48.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2023-05-18T08:53:54.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-23T02:20:37.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2022-10-27T07:35:46.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2021-11-17T09:56:47.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [], '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","errorExample":""}]', ], 'CreateEnhancedVpnGateway' => [ 'summary' => 'Use the `CreateEnhancedVpnGateway` API to create an Enhanced VPN Gateway.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'create', 'riskType' => 'high', 'chargeType' => 'free', 'autoTest' => true, 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where you want to create the enhanced VPN gateway.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to get the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the enhanced VPN gateway. If you do not specify this parameter, the gateway ID is used as the name.'."\n" ."\n" .'The name must be 2 to 100 characters long, start with a letter, and not start with http\\:// or https\\://. It can contain only letters, digits, underscores (\\_), hyphens (-), and periods (.).', 'type' => 'string', 'required' => false, 'example' => 'MYVPN', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC where you want to create the enhanced VPN gateway.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp1ub1yt9cvakoelj****', 'title' => ''], ], [ 'name' => 'VSwitchId', 'in' => 'query', 'schema' => ['description' => 'The ID of the vSwitch to associate with the enhanced VPN gateway.'."\n" ."\n" .'-', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1j5miw2bae9s2vt****', 'title' => ''], ], [ 'name' => 'VpnType', 'in' => 'query', 'schema' => ['description' => 'The type of the enhanced VPN gateway. Valid value:'."\n" ."\n" .'- **Normal** (default): standard type.', 'type' => 'string', 'required' => false, 'example' => 'Normal', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'A client token used to ensure request idempotence.'."\n" ."\n" .'You can generate this token from your client. Make sure that the token is unique for each request. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the request as the **ClientToken**. Each request may have a different **RequestId**.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4****', 'title' => ''], ], [ 'name' => 'NetworkType', 'in' => 'query', 'schema' => ['description' => 'The network type of the VPN gateway. Valid value:'."\n" ."\n" .'- **public** (default): a public VPN gateway.', 'type' => 'string', 'required' => false, 'example' => 'public', 'title' => ''], ], [ 'name' => 'DisasterRecoveryVSwitchId', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'The ID of the second vSwitch to associate with the enhanced VPN gateway for high availability.'."\n" ."\n" .'-'."\n" ."\n" .'- For zone-level disaster recovery, the two vSwitches must be in different availability zones within the same VPC.'."\n" ."\n" .'- In regions with only one availability zone, zone-level disaster recovery is not supported. To ensure high availability, specify two different vSwitches from that zone. You can also specify the same vSwitch for both the **VSwitchId** and **DisasterRecoveryVSwitchId** parameters.', 'type' => 'string', 'required' => false, 'example' => 'vsw-p0wiz7obm0tbimu4r****', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which you want to assign the enhanced VPN gateway.'."\n" ."\n" .'- You can call the [ListResourceGroups](~~158855~~) operation to query resource group IDs.'."\n" ."\n" .'- If you do not specify this parameter, the enhanced VPN gateway is added to the Default Resource Group.'."\n" ."\n" .'- Associated IPsec connections are automatically added to the same resource group as the enhanced VPN gateway. You cannot directly change the resource group of an IPsec connection. If you change the resource group of the gateway, the resource group of its associated IPsec connections is also updated.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzs372yg****', 'title' => ''], ], [ 'name' => 'GatewayType', 'in' => 'query', 'schema' => ['description' => 'The type of the enhanced VPN gateway. Valid value:'."\n" ."\n" .'- **Enhanced.SiteToSite**: an enhanced site-to-site VPN gateway that supports only the IPsec feature.', 'type' => 'string', 'required' => true, 'example' => 'Enhanced.SiteToSite', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response object.', 'title' => '', 'type' => 'object', 'properties' => [ 'VpnGatewayId' => ['description' => 'The ID of the enhanced VPN gateway instance.', 'type' => 'string', 'example' => 'vpn-uf68lxhgr7ftbqr3p****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EB2C156A-41F8-49CC-A756-D55AFC8BFD69', 'title' => ''], 'Name' => ['description' => 'The name of the enhanced VPN gateway.', 'type' => 'string', 'example' => 'MYVPN', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'The specified VPC id does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidName', 'errorMessage' => 'The specified value of Name not supported.', 'description' => ''], ['errorCode' => 'InventoryNotEnough', 'errorMessage' => 'The inventory is not enough.', 'description' => ''], ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'The specified vswitchId is not found.', 'description' => ''], ['errorCode' => 'OperationFailed.InventoryNotEnough', 'errorMessage' => 'No enough available resource. Try another vswitch with different available zone.', 'description' => ''], ['errorCode' => 'Forbidden.OperateShareResource', 'errorMessage' => 'Operating shared resources is forbidden.', 'description' => ''], ['errorCode' => 'OperationFailed.IpNotEnough', 'errorMessage' => 'Operation failed because private ip address of the virtual switch is not enough.', 'description' => ''], ['errorCode' => 'Forbidden.NoSLRPermission', 'errorMessage' => 'User not authorized to create service linked role.', 'description' => ''], ['errorCode' => 'OperationFailed.VSwitchConflict', 'errorMessage' => 'The vswitch can\'t create vpn. Try another vswitch.', 'description' => ''], ['errorCode' => 'OperationFailed.AzNotSupport', 'errorMessage' => 'Current available zone can\'t create vpn. Try another vswitch with different available zone.', 'description' => ''], ['errorCode' => 'OperationFailed.NetworkTypeNotMatch', 'errorMessage' => 'Create NationalStandard vpn with private networkType is unsupported.', 'description' => ''], ['errorCode' => 'OperationFailed.SslNotSupport', 'errorMessage' => 'Enable ssl vpn with private networkType is unsupported.', 'description' => 'You cannot enable the SSL feature for a private VPN gateway.'], ['errorCode' => 'Forbidden.TagKey.Duplicated', 'errorMessage' => 'The specified tag key already exists.', 'description' => 'The tag resources are duplicate.'], ['errorCode' => 'SizeLimitExceeded.TagNum', 'errorMessage' => 'The maximum number of tags is exceeded.', 'description' => 'The number of tags has reached the upper limit.'], ['errorCode' => 'InvalidParameter.TagValue', 'errorMessage' => 'The specified parameter TagValue is invalid.', 'description' => 'The error message returned because the specified tag value is invalid.'], ['errorCode' => 'InvalidParameter.TagKey', 'errorMessage' => 'The specified parameter TagKey is invalid.', 'description' => 'The error message returned because the specified tag key is invalid.'], ['errorCode' => 'Duplicated.TagKey', 'errorMessage' => 'The specified parameter TagKey is duplicated.', 'description' => 'The error message returned because the specified tag key already exists.'], ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], ['errorCode' => 'InvalidVSwitchId.SecondVswitchNotSupport', 'errorMessage' => 'The available zone of vswitch2 not supported.', 'description' => 'The zone of the secondary vSwitch does not support the feature.'], ['errorCode' => 'InvalidVSwitchId.FirstVswitchNotSupport', 'errorMessage' => 'The available zone of vswitch1 not supported.', 'description' => 'The zone where the primary vSwitch is located is not supported.'], ['errorCode' => 'InvalidVSwitchId.VswitchIdShouldDifferent', 'errorMessage' => 'The VSwitch ids should be different.', 'description' => 'The primary zone cannot be the same as the secondary zone.'], ['errorCode' => 'InvalidVSwitchId.FirstVswitchIpNotEnough', 'errorMessage' => 'The ip of vswitch1 not enough.', 'description' => 'Insufficient number of available IPs in primary vSwitch.'], ['errorCode' => 'InvalidVSwitchId.SecondVswitchIpNotEnough', 'errorMessage' => 'The ip of vswitch2 not enough.', 'description' => 'Insufficient IP addresses are available in the standby vSwitch.'], ['errorCode' => 'InvalidVSwitchId.ZoneIdShouldDifferent', 'errorMessage' => 'Two vSwitches should belong to different Availability Zones.', 'description' => 'When you create a dual-tunnel VPN gateway, the two vSwitches that you specify must belong to different zones.'], ['errorCode' => 'OperationFailed.OpenCdtServiceFirst', 'errorMessage' => 'The operation is failed because of %s.', 'description' => 'The billing method requires CDT billing enabled. Enable CDT billing and try again.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not found during access authentication.', 'description' => 'The specified area is not found during authentication.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 60000, 'maxCallbackTimes' => 100], 'title' => 'Create an enhanced VPN Gateway', 'description' => '- Before you create an enhanced VPN gateway, we recommend that you review the [VPN Gateway Usage Limits](https://help.aliyun.com/zh/vpn/sub-product-ipsec-vpn/user-guide/vpn-gateway-instance/?spm=a2c4g.11186623.0.0.6c6919591peeAe).'."\n" ."\n" .'- An enhanced VPN gateway supports only dual-tunnel mode IPsec-VPN connections. When you call the `CreateEnhancedVpnGateway` operation to create a VPN Gateway instance, you must specify the **VSwitchId** and **DisasterRecoveryVSwitchId** parameters in addition to other required parameters.'."\n" ."\n" .'- **CreateEnhancedVpnGateway** is an asynchronous operation. After you send a request, the system returns an instance ID and starts creating the enhanced VPN gateway in the background. You can call [DescribeVpnGateway](https://help.aliyun.com/zh/vpn/sub-product-ipsec-vpn/developer-reference/api-vpc-2016-04-28-describevpngateway-vpns?spm=a2c4g.11186623.0.0.6c6919591peeAe) to query the creation status of the enhanced VPN gateway:'."\n" ."\n" .' - The **provisioning** state indicates that the gateway is being created.'."\n" ."\n" .' - The **active** state indicates that the gateway has been created.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateEnhancedVpnGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"VpnGatewayId\\": \\"vpn-uf68lxhgr7ftbqr3p****\\",\\n \\"RequestId\\": \\"EB2C156A-41F8-49CC-A756-D55AFC8BFD69\\",\\n \\"Name\\": \\"MYVPN\\"\\n}","type":"json"}]', ], 'CreateExpressCloudConnection' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'create', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the ECC instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the ECC instance.'."\n" ."\n" .'The name must be 2 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'doctest', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of ECC.'."\n" ."\n" .'The description must be 2 to 256 characters in length. It must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => '高速上云服务', 'title' => ''], ], [ 'name' => 'PeerCity', 'in' => 'query', 'schema' => ['description' => 'The city where the data center is located.'."\n", 'type' => 'string', 'required' => false, 'example' => '杭州', 'default' => 'blank', 'title' => ''], ], [ 'name' => 'PeerLocation', 'in' => 'query', 'schema' => ['description' => 'The geographical location of the data center.'."\n" ."\n" .'> It must be accurate to house number-floor-room number-server rack number.'."\n", 'type' => 'string', 'required' => true, 'example' => '**市**区/县**路**号**物业或楼宇名称**座**楼层**房间号**机柜号**机柜名称**设备**端口', 'title' => ''], ], [ 'name' => 'IdcSP', 'in' => 'query', 'schema' => ['description' => 'The Internet service provider (ISP) for the data center.'."\n", 'type' => 'string', 'required' => true, 'example' => 'CU', 'title' => ''], ], [ 'name' => 'PortType', 'in' => 'query', 'schema' => ['description' => 'The port of the Express Connect circuit. Valid values:'."\n" ."\n" .'* 100Base-T'."\n" .'* 1000Base-T'."\n" .'* 1000Base-LX'."\n" .'* 10GBase-T'."\n" .'* 10GBase-LR'."\n", 'type' => 'string', 'required' => false, 'example' => '100Base-T', 'title' => ''], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The bandwidth for ECC, which corresponds to the bandwidth for the underlying circuit.'."\n" ."\n" .'Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '2', 'title' => ''], ], [ 'name' => 'ContactTel', 'in' => 'query', 'schema' => ['description' => 'The phone number of the contact who applies for ECC.'."\n", 'type' => 'string', 'required' => false, 'example' => '132*********', 'title' => ''], ], [ 'name' => 'ContactMail', 'in' => 'query', 'schema' => ['description' => 'The email address of the contact who applies for ECC.'."\n", 'type' => 'string', 'required' => false, 'example' => 'XX@example.com', 'title' => ''], ], [ 'name' => 'IDCardNo', 'in' => 'query', 'schema' => ['description' => 'The ID card number of the contact who applies for ECC.'."\n", 'type' => 'string', 'required' => false, 'example' => '32*****************', 'default' => 'blank', 'title' => ''], ], [ 'name' => 'RedundantEccId', 'in' => 'query', 'schema' => ['description' => 'The ID of the standby Express Connect circuit.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecc-d****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'EccId' => ['description' => 'The ID of the ECC instance.'."\n", 'type' => 'string', 'example' => 'ecc-jg************', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'C004F022-1CC2-4958-9937-675513A2CD7E', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.AliUid', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'MissingParam.Bid', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.RegionNo', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.Bandwith', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.ContactTel', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.ContactMail', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.Description', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.IDCardNo', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.PortType', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.Name', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.PeerCity', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.PeerLocation', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.ServiceProvider', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.RedundantEccId', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.IdcSP', 'errorMessage' => '%s', 'description' => ''], ], ], 'title' => 'CreateExpressCloudConnection', 'summary' => 'Creates an Express Cloud Connect (ECC) instance.', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateExpressCloudConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], '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":""}]', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateExpressCloudConnection'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'CreateExpressConnectTrafficQos' => [ 'summary' => 'Calls the CreateExpressConnectTrafficQos operation to create a Quality of Service (QoS) policy for Express Connect.', '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' => 'The region ID of the QoS policy.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** value as the **ClientToken** value. The **RequestId** value may be different for each API request.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** value as the **ClientToken** value. The **RequestId** value may be different for each API request.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'QosName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The name of the QoS policy.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'qos-test'], ], [ 'name' => 'QosDescription', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The description of the QoS policy.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'qos-test'."\n"], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazfdgdg****', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'description' => 'The tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You must specify at least 1 tag key and can specify at most 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length, and cannot start with aliyun or acs:, or contain http:// or https://.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify at most 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length, and cannot start with aliyun or acs:, or contain http:// or https://.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'DC668356-BCB4-42FD-9BC3-FA2B2E04B634'], 'QosId' => ['title' => '', 'description' => 'The QoS policy ID.', 'type' => 'string', 'example' => 'qos-2giu0a6vd5x0mv****'], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter is invalid.'], ['errorCode' => 'OperationUnsupported.Qos', 'errorMessage' => 'QoS is unsupported.', 'description' => 'Current user does not support creating QoS, please contact Business Manager'], ['errorCode' => 'QuotaExceeded.Qos', 'errorMessage' => 'The quota of QoS is exceeded.', 'description' => 'The number of QoS policies for the current user exceeds the limit. Please contact the business manager for resolution.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Create an express connect qoS policy', 'description' => '- The Express Connect QoS feature is currently in invitational preview. To call this operation, contact your account manager to be added to the whitelist.'."\n" ."\n" .'- The number of QoS policies that each user can create is subject to a quota limit. To increase the quota, contact your account manager.', 'changeSet' => [ ['createdAt' => '2024-12-18T07:44:11.000Z', 'description' => 'Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateExpressConnectTrafficQos'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateExpressConnectTrafficQos', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficQos', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:TrafficQos/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DC668356-BCB4-42FD-9BC3-FA2B2E04B634\\",\\n \\"QosId\\": \\"qos-2giu0a6vd5x0mv****\\"\\n}","type":"json"}]', ], 'CreateExpressConnectTrafficQosQueue' => [ 'summary' => 'Creates a QoS queue for Express Connect.', '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' => 'The region ID of the QoS policy.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai'."\n", 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'QueueName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The name of the QoS queue.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'qos-queue-test'], ], [ 'name' => 'QueueDescription', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The description of the QoS queue.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'qos-queue-test'."\n"], ], [ 'name' => 'QosId', 'in' => 'query', 'schema' => ['description' => 'The ID of the QoS policy.', 'type' => 'string', 'required' => true, 'example' => 'qos-2giu0a6vd5x0mv****', 'title' => ''], ], [ 'name' => 'QueueType', 'in' => 'query', 'schema' => ['description' => 'The type of the QoS queue. Valid values:'."\n" ."\n" .'- **High**: high-priority queue.'."\n" ."\n" .'- **Medium**: lower-priority queue.'."\n" ."\n" .'- **Default**: default priority queue.'."\n" ."\n" .'> The default priority queue cannot be created.', 'type' => 'string', 'required' => true, 'example' => 'High', 'title' => ''], ], [ 'name' => 'BandwidthPercent', 'in' => 'query', 'schema' => ['description' => 'The bandwidth percentage of the QoS queue.'."\n" ."\n" .'* When the QoS queue type is **Medium**, this parameter is required. Valid values: 1 to 100.'."\n" .'* When the QoS queue type is **Default**, this parameter is set to "-".', 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '4CF20CC7-D1FC-425B-A15B-DF7C8E2131A7'], 'QosId' => ['title' => '', 'description' => 'The ID of the QoS policy.', 'type' => 'string', 'example' => 'qos-2giu0a6vd5x0mv****'], 'QueueId' => ['description' => 'The ID of the QoS queue.', 'type' => 'string', 'example' => 'qos-queue-9nyx2u7n71s2rc****'."\n", 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter is invalid.'], ['errorCode' => 'QuotaExceeded.QosMediumPriorityQueueCount', 'errorMessage' => 'The quota of QosMediumPriorityQueueCount is exceeded.', 'description' => 'The number of normal priority queues in the QoS policy exceeds the specification. If you need to increase the quota, contact the business manager.'], ['errorCode' => 'QuotaExceeded.QosHighPriorityQueueCount', 'errorMessage' => 'The quota of QosHighPriorityQueueCount is exceeded.', 'description' => 'The number of high-priority queues in the QoS policy exceeds the specification. If you need to increase the quota, contact the business manager.'], ['errorCode' => 'QuotaExceeded.QosMediumPriorityQueueBandwidthPercent', 'errorMessage' => 'The quota of QosMediumPriorityQueueBandwidthPercent is exceeded.', 'description' => 'The sum of the bandwidth percentages of the normal priority queues in the QoS policy exceeds the specification.'], ['errorCode' => 'IncorrectStatus.Qos', 'errorMessage' => 'The status of QoS is incorrect.', 'description' => 'The status of the QoS policy is abnormal and the operation cannot be performed. Try again later.'], ['errorCode' => 'EcQoSConflict', 'errorMessage' => 'The specified QoS is conflict with other QoS.', 'description' => 'The current QoS configuration conflicts with other configurations. Please try again later.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Create an express connect qoS queue', 'description' => '- The default queue cannot be created.'."\n" ."\n" .'- The number of high-priority queues has an upper limit. To increase the quota, contact your account manager.'."\n" ."\n" .'- The number of lower-priority queues has an upper limit. To increase the quota, contact your account manager.'."\n" ."\n" .'- The total bandwidth percentage of all lower-priority queues has an upper limit.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateExpressConnectTrafficQosQueue'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateExpressConnectTrafficQosQueue', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4CF20CC7-D1FC-425B-A15B-DF7C8E2131A7\\",\\n \\"QosId\\": \\"qos-2giu0a6vd5x0mv****\\",\\n \\"QueueId\\": \\"qos-queue-9nyx2u7n71s2rc****\\\\n\\"\\n}","type":"json"}]', ], 'CreateExpressConnectTrafficQosRule' => [ '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' => 'The region ID of the QoS policy.'."\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'."\n", 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate a token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate a token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'QosId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the QoS policy.'."\n", 'type' => 'string', 'required' => true, 'example' => 'qos-2giu0a6vd5x0mv****'], ], [ 'name' => 'QueueId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the QoS queue.'."\n", 'type' => 'string', 'required' => true, 'example' => 'qos-queue-9nyx2u7n71s2rc****'], ], [ 'name' => 'Priority', 'in' => 'query', 'schema' => ['description' => 'The priority of the QoS rule. Valid values: **1** to **9000**. A larger value indicates a higher priority. The priority of each QoS rule must be unique in the same QoS policy.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'Protocol', 'in' => 'query', 'schema' => [ 'description' => 'The protocol of the QoS rule. Valid values:'."\n" ."\n" .'* **ALL**'."\n" .'* **ICMP(IPv4)**'."\n" .'* **ICMPv6(IPv6)**'."\n" .'* **TCP**'."\n" .'* **UDP**'."\n" .'* **GRE**'."\n" .'* **SSH**'."\n" .'* **Telnet**'."\n" .'* **HTTP**'."\n" .'* **HTTPS**'."\n" .'* **MS SQL**'."\n" .'* **Oracle**'."\n" .'* **MySql**'."\n" .'* **RDP**'."\n" .'* **PostgreSQL**'."\n" .'* **Redis**'."\n", 'type' => 'string', 'required' => true, 'enumValueTitles' => [], 'example' => 'ALL', 'title' => '', ], ], [ 'name' => 'SrcCidr', 'in' => 'query', 'schema' => ['description' => 'The source IPv4 CIDR block that matches the QoS rule traffic.'."\n" ."\n" .'> When this parameter is unavailable, specify **SrcIPv6Cidr** or **DstIPv6Cidr**.'."\n", 'type' => 'string', 'required' => false, 'example' => '1.1.**.**/24'."\n", 'title' => ''], ], [ 'name' => 'DstCidr', 'in' => 'query', 'schema' => ['description' => 'The destination IPv4 CIDR block that matches the QoS rule traffic.'."\n" ."\n" .'> When this parameter is unavailable, specify **SrcIPv6Cidr** or **DstIPv6Cidr**.'."\n", 'type' => 'string', 'required' => false, 'example' => '1.1.**.**/24'."\n", 'title' => ''], ], [ 'name' => 'SrcIPv6Cidr', 'in' => 'query', 'schema' => ['description' => 'The source IPv6 CIDR block that matches the QoS rule traffic.'."\n" ."\n" .'> When this parameter is unavailable, specify **SrcCidr** or **DstCidr**.'."\n", 'type' => 'string', 'required' => false, 'example' => '2001:0db8:1234:****::/64'."\n", 'title' => ''], ], [ 'name' => 'DstIPv6Cidr', 'in' => 'query', 'schema' => ['description' => 'The destination IPv6 CIDR block that matches the QoS rule traffic.'."\n" ."\n" .'> When this parameter is unavailable, specify **SrcCidr** or **DstCidr**.'."\n", 'type' => 'string', 'required' => false, 'example' => '2001:0db8:1234:****::/64', 'title' => ''], ], [ 'name' => 'SrcPortRange', 'in' => 'query', 'schema' => ['description' => 'The range of source ports that match the QoS rule traffic. Valid values: **0** to **65535**. If the traffic does not match, the value is -1. You can specify only one port. The start port number must be the same as the end port number.'."\n", 'type' => 'string', 'required' => false, 'example' => '-1/-1'."\n", 'title' => ''], ], [ 'name' => 'DstPortRange', 'in' => 'query', 'schema' => ['description' => 'The range of destination ports that match the QoS rule traffic. Valid values: **0** to **65535**. If the traffic does not match, the value is -1. You can specify only one port. The start port number must be the same as the end port number. Different protocols correspond to different ports. Valid values:'."\n" ."\n" .'* **ALL** (uneditable): -1/-1.'."\n" .'* **ICMP(IPv4)** (uneditable): -1/-1.'."\n" .'* **ICMPv6(IPv6)** (uneditable): -1/-1.'."\n" .'* **TCP** (editable): -1/-1.'."\n" .'* **UDP** (editable): -1/-1.'."\n" .'* **GRE** (uneditable): -1/-1.'."\n" .'* **SSH** (uneditable): 22/22.'."\n" .'* **Telnet** (uneditable): 23/23.'."\n" .'* **HTTP** (uneditable): 80/80.'."\n" .'* **HTTPS** (uneditable): 443/443.'."\n" .'* **MS SQL** (uneditable): 1443/1443.'."\n" .'* **Oracle** (uneditable): 1521/1521.'."\n" .'* **MySql** (uneditable): 3306/3306.'."\n" .'* **RDP** (uneditable): 3389/3389.'."\n" .'* **PostgreSQL** (uneditable): 5432/5432.'."\n" .'* **Redis** (uneditable): 6379/6379.'."\n", 'type' => 'string', 'required' => false, 'example' => '-1/-1'."\n", 'title' => ''], ], [ 'name' => 'MatchDscp', 'in' => 'query', 'schema' => ['description' => 'The DSCP value that matches the QoS rule traffic. Valid values: **0** to **63**. If no value is matched, the value is -1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'RemarkingDscp', 'in' => 'query', 'schema' => ['description' => 'The new DSCP value. Valid values: **0** to **63**. If you do not change the value, set the value to -1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'RuleName', 'in' => 'query', 'schema' => ['description' => 'The name of the QoS rule.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'qos-rule-test'."\n", 'title' => ''], ], [ 'name' => 'RuleDescription', 'in' => 'query', 'schema' => ['description' => 'The description of the QoS rule.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'qos-rule-test'."\n", 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '606998F0-B94D-48FE-8316-ACA81BB230DA'], 'QosId' => ['title' => '', 'description' => 'The ID of the QoS policy.'."\n", 'type' => 'string', 'example' => 'qos-2giu0a6vd5x0mv****'], 'QueueId' => ['description' => 'The ID of the QoS queue.'."\n", 'type' => 'string', 'example' => 'qos-queue-9nyx2u7n71s2rc****', 'title' => ''], 'RuleId' => ['description' => 'The ID of the QoS rule.'."\n", 'type' => 'string', 'example' => 'qos-rule-iugg0l9x27f2no****'."\n", 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter is invalid.'], ['errorCode' => 'IncorrectStatus.Qos', 'errorMessage' => 'The status of QoS is incorrect.', 'description' => 'The status of the QoS policy is abnormal and the operation cannot be performed. Try again later.'], ['errorCode' => 'EcQoSConflict', 'errorMessage' => 'The specified QoS is conflict with other QoS.', 'description' => 'The current QoS configuration conflicts with other configurations. Please try again later.'], ['errorCode' => 'EcQosRuleNotAllowV4AndV6', 'errorMessage' => 'QoS rules do not allow IPv4 and IPv6 addresses to be mixed and updated.', 'description' => 'Both IPv4 address configuration and IPv6 address configuration are not allowed in a QoS rule. If the original configuration network type is IPv4 and cannot be modified to IPv6 (or vice versa), please check and modify it.'], ['errorCode' => 'QuotaExceeded.QosRuleCount', 'errorMessage' => 'The quota of QosRuleCount is exceeded.', 'description' => 'The number of QoS rules in the QoS queue exceeds the limit. If you want to increase the quota, contact your business manager.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'CreateExpressConnectTrafficQosRule', 'summary' => 'Creates a quality of service (QoS) rule.', 'description' => '- QoS规则的优先级,需要在一个QoS策略中唯一。'."\n" ."\n" .'- 单个QoS队列的QoS规则数量有限制,如果想要提升配额,请联系商务经理。', 'changeSet' => [], 'ramActions' => [], '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"}]', ], 'CreateFailoverTestJob' => [ 'summary' => 'Creates a failover test.', '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' => 'The region ID of the failover test.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The name of the failover test.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The description of the failover test.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => [ 'title' => '', 'description' => 'The resource type of the failover test. Set the value to **PHYSICALCONNECTION**.'."\n", 'type' => 'string', 'required' => true, 'example' => 'PHYSICALCONNECTION', 'enum' => ['PHYSICALCONNECTION', 'VIRTUALBORDERROUTER', 'BGPPEER'], ], ], [ 'name' => 'ResourceId', 'in' => 'query', 'allowEmptyValue' => false, 'style' => 'repeatList', 'schema' => [ 'title' => '', 'description' => 'The IDs of failover test resources. You can add at most 16 resources.'."\n", 'type' => 'array', 'items' => ['description' => 'The ID of the resource.'."\n", 'type' => 'string', 'required' => false, 'example' => 'pc-uf66k4e8pq3r00jfq****', 'title' => ''], 'required' => true, 'maxItems' => 16, 'minItems' => 1, 'example' => '', ], ], [ 'name' => 'JobType', 'in' => 'query', 'allowEmptyValue' => false, 'schema' => [ 'title' => '', 'description' => 'The type of the failover test. Valid values:'."\n" ."\n" .'* **StartNow**'."\n" .'* **StartLater**'."\n", 'type' => 'string', 'required' => true, 'example' => 'StartNow', 'enum' => ['StartNow', 'StartLater'], ], ], [ 'name' => 'JobDuration', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The duration of the failover test. Unit: minutes. Valid values: **1 to 4320**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '4320', 'minimum' => '1', 'example' => '60'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'If you set the value to true, the system performs only a dry run without actually performing the actual request. If you set the value to false, the system performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF'."\n", 'title' => ''], 'JobId' => ['description' => 'The ID of the failover test.'."\n", 'type' => 'string', 'example' => 'ftj-bp1yh6mvi13aq3g8w****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.Name', 'errorMessage' => 'The param of Name [%s] is illegal.', 'description' => 'The error message returned because the Name parameter is set to an invalid value. Specify a valid value and try again.'], ['errorCode' => 'IllegalParam.Description', 'errorMessage' => 'The param of Description [%s] is illegal.', 'description' => 'The error message returned because the Description parameter is set to an invalid value. Specify a valid values and try again.'], ['errorCode' => 'IllegalParam.ResourceType', 'errorMessage' => 'Invalid Resource Type value.', 'description' => 'The ResourceType parameter is not supported or set to an invalid value.'], ['errorCode' => 'EcFailoverTestJobExceedMaxResourceNum', 'errorMessage' => 'The input resource number is exceeded the quota of 16.', 'description' => 'The failover test job can add up to 16 resources.'], ['errorCode' => 'EcFailoverTestJobResourceInAnotherProcessingJob', 'errorMessage' => 'There is another processing failover test job.', 'description' => 'The current user already has a failover test job in progress. Please complete it and try again.'], ['errorCode' => 'IllegalParam.ResourceId', 'errorMessage' => 'The input parameter resource ID is invalid.', 'description' => 'The input parameter resource ID is invalid.'], ['errorCode' => 'IncorrectStatus.ResourceId', 'errorMessage' => 'The specified resource status is invalid.', 'description' => 'The resource status corresponding to the entered resource ID is invalid.'], ['errorCode' => 'IncorrectBusinessStatus.ResourceId', 'errorMessage' => 'The specified resource business status is invalid.', 'description' => 'The entered resource is in arrears.'], ['errorCode' => 'VpconnNotAssociatedVbr', 'errorMessage' => 'The specified vpconn is not associated with vbr.', 'description' => 'The entered virtual physical connection is not associated with a virtual border router.'], ['errorCode' => 'VpconnWithVlan0NotSupportShutdown', 'errorMessage' => 'The specified virtualPhysicalConnection with vlan 0 does not support shutdown.', 'description' => 'The shared physical connection of VLAN 0 does not support failover test.'], ['errorCode' => 'PconnContainsMoreThanOneVpconn', 'errorMessage' => 'The specified physicalConnection contains more than one virtualPhysicalConnection.', 'description' => 'A physical line that contains more than one shared physical line does not support failover test.'], ['errorCode' => 'PconnContailsMoreThanOneAcrossCountVbr', 'errorMessage' => 'The specified physicalConnection contains more than one virtualBorderRouter which is across count.', 'description' => 'Physical connections that contain more than one cross-account VBR do not support failover test.'], ['errorCode' => 'IllegalParam.JobType', 'errorMessage' => 'The specified parameter JobType is illegal.', 'description' => 'The task type entered is illegal.'], ['errorCode' => 'IllegalParam.JobDuration', 'errorMessage' => 'The specified parameter JobDuration is illegal.', 'description' => 'The task duration entered is illegal.'], ['errorCode' => 'AnotherJobTesting', 'errorMessage' => 'There is another job which is testing.', 'description' => 'The same user can only perform one fault drill task in the same region at the same time.'], ['errorCode' => 'MultiplePconnSingleVbrNotSupportShutdown', 'errorMessage' => 'Vbr for single vbr and multiple pconn scenarios does not support failover test job.', 'description' => 'The vbr of a 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.', 'description' => '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.', 'description' => 'The entered VBR VLAN is 0. Fault drill is not supported. Please use the physical connection for fault drill.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'CreateFailoverTestJob', 'description' => 'You cannot create a failover test in the following scenarios:'."\n" ."\n" .'* You have created a failover test in the region and its type is StartNow.'."\n" .'* The Express Connect circuit or hosted connection has pending orders or overdue payments.'."\n" .'* A failover test is already performed on the Express Connect circuit or hosted connection.'."\n" .'* More than one hosted connection is created over the Express Connect circuit.'."\n" .'* More than one cross-account VBR is created on the Express Connect circuit.'."\n" .'* No VBR is associated with the hosted connection.'."\n" .'* The VLAN ID of the hosted connection is set to 0.'."\n", 'changeSet' => [ ['createdAt' => '2024-07-19T02:56:58.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\\\n\\",\\n \\"JobId\\": \\"ftj-bp1yh6mvi13aq3g8w****\\"\\n}","type":"json"}]', ], 'CreateFlowLog' => [ 'summary' => 'Creates a flow log.', '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' => 'The region ID of the flow log. You can call [DescribeRegions](~~448570~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ 'name' => 'FlowLogName', 'in' => 'query', 'schema' => ['description' => 'The name of the flow log.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'myFlowlog', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the flow log.'."\n" ."\n" .'The description must be 1 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'This is my Flowlog.', 'title' => ''], ], [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => ['description' => 'The type of resource from which to capture traffic. Valid values:'."\n" ."\n" .'- **NetworkInterface**: network interface controller (NIC).'."\n" .' '."\n" .'- **VSwitch**: all network interface controllers (NICs) in a vSwitch.'."\n" .' '."\n" .'- **VPC**: all network interface controllers (NICs) in a virtual private cloud (VPC).', 'type' => 'string', 'required' => true, 'example' => 'NetworkInterface', 'title' => ''], ], [ 'name' => 'ResourceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource from which to capture traffic.', 'type' => 'string', 'required' => true, 'example' => 'eni-askldfas****', 'title' => ''], ], [ 'name' => 'TrafficType', 'in' => 'query', 'schema' => ['description' => 'The traffic type to collect. Valid values:'."\n" ."\n" .'- **All**: all traffic.'."\n" .' '."\n" .'- **Allow**: traffic allowed by access control.'."\n" .' '."\n" .'- **Drop**: traffic denied by access control.', 'type' => 'string', 'required' => true, 'example' => 'All', 'title' => ''], ], [ 'name' => 'ProjectName', 'in' => 'query', 'schema' => ['description' => 'The name of the project that manages the captured traffic.'."\n" .'- The project name can contain only lowercase letters, digits, and hyphens (-).'."\n" .'- The name must start and end with a lowercase letter or digit.'."\n" .'- The name must be 3 to 63 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'FlowLogProject', 'title' => ''], ], [ 'name' => 'LogStoreName', 'in' => 'query', 'schema' => ['description' => 'The name of the Logstore that stores the captured traffic.'."\n" .'- The Logstore name can contain only lowercase letters, digits, hyphens (-), and underscores (_).'."\n" .'- The name must start and end with a lowercase letter or digit.'."\n" .'- The name must be 3 to 63 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'FlowLogStore', 'title' => ''], ], [ 'name' => 'AggregationInterval', 'in' => 'query', 'schema' => ['description' => 'The sampling interval of the flow log. Unit: minutes. Valid values: **1**, **5**, and **10** (default).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'TrafficPath', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The traffic path to capture. Valid values:'."\n" ."\n" .'- **all**: captures all traffic.'."\n" .'- **internetGateway**: captures Internet traffic.', 'type' => 'array', 'items' => ['description' => 'The traffic path to capture. Valid values:'."\n" ."\n" .'- **all** (default): captures all traffic.'."\n" ."\n" .''."\n" .'> The traffic path feature is not enabled by default. To use this feature, [submit a ticket](https://selfservice.console.aliyun.com/ticket/category/ga/today).'."\n" ."\n\n" .''."\n" .'> The traffic path feature is not enabled by default. To use this feature, [submit a ticket](https://workorder-intl.console.aliyun.com/?spm=5176.11182188.console-base-top.dworkorder.18ae4882n3v6ZW#/ticket/createIndex)..', 'type' => 'string', 'required' => false, 'example' => 'all', 'title' => ''], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazdjdhd****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'description' => 'The tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'IpVersion', 'in' => 'query', 'schema' => ['description' => 'The IP version of the traffic captured by the flow log.', 'type' => 'string', 'required' => false, 'example' => 'IPv4', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call is successful. Valid values:'."\n" ."\n" .'- **true**: The call is successful.'."\n" .'- **false**: The call failed.', 'type' => 'string', 'example' => 'true', 'title' => ''], 'FlowLogId' => ['description' => 'The flow log ID.', 'type' => 'string', 'example' => 'fl-m5e8vhz2t21sel1nq****', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'rg-acfmxazdjdhd****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectBusinessStatus.FlowLog', 'errorMessage' => 'The business status of flowLog is incorrect.', 'description' => 'The error message returned because you cannot create flow logs in the current business state.'], ['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.', 'description' => 'The error message returned because you do not have the permissions to use the flow log feature. Make sure that the flow log feature is already enabled.'], ['errorCode' => 'OperationUnsupported.AdvancedFeature', 'errorMessage' => 'Advanced features of the vpc is unsupported.', 'description' => 'This advanced feature is not supported.'], ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'vswitch does not exist.', 'description' => 'The error message returned because the vSwitch does not exist.'], ['errorCode' => 'ProjectOrLogstoreNotExist', 'errorMessage' => 'The specified project or logstore does not exist.', 'description' => 'The error message returned because the specified project or Logstore does not exist.'], ['errorCode' => 'SourceProjectNotExist', 'errorMessage' => 'The Source Project or logstore does not exist.', 'description' => 'The error message returned because the source project or Logstore does not exist.'], ['errorCode' => 'Unauthorized', 'errorMessage' => 'This api does not support sub user or role.', 'description' => 'The error message returned because you cannot call this operation as a RAM user.'], ['errorCode' => 'OperationUnsupported.action', 'errorMessage' => 'This action is not support.', 'description' => 'The error message returned because the operation is not supported.'], ['errorCode' => 'ParameterInvalid', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because a parameter is invalid.'], ['errorCode' => 'RuleExist', 'errorMessage' => 'The rule has already existed.', 'description' => ''], ['errorCode' => 'InvalidHdMonitorStatus', 'errorMessage' => 'Current instance status is not valid for this action.', 'description' => ''], ['errorCode' => 'QuotaExceeded.FlowlogCount', 'errorMessage' => 'This user has reached the maximum instance number of flowlog.', 'description' => 'The number of flow logs reaches the upper limit.'], ['errorCode' => 'InvalidResourceId.NotFound', 'errorMessage' => 'This resourceId already has flowlog instance existed.', 'description' => 'A flow log is already enabled for the resource.'], ['errorCode' => 'INVALID_PARAMETER', 'errorMessage' => 'The parameter invalid.', 'description' => ''], ['errorCode' => 'MissingParameter', 'errorMessage' => 'Missing mandatory parameter', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidResourceType.NotFound', 'errorMessage' => 'Resource type no the same.', 'description' => ''], ['errorCode' => 'OperationUnsupported.ResourceType', 'errorMessage' => 'This resource type is not supported.', 'description' => ''], ['errorCode' => 'IllegalParam.AggregationInterval', 'errorMessage' => 'The param of aggregationInterval is illegal.', 'description' => ''], ['errorCode' => 'UnsupportedFeature.UserDefinedTrafficPath', 'errorMessage' => 'The feature of UserDefinedTrafficPath is not supported.', 'description' => 'The current user does not have the permissions to specify trafficPath.'], ['errorCode' => 'IllegalParam.TrafficPath', 'errorMessage' => 'The param of trafficPath is illegal.', 'description' => 'TrafficPath.N is set to an invalid value.'], ['errorCode' => 'DuplicatedParam.TrafficPath', 'errorMessage' => 'The param of trafficPath is duplicated.', 'description' => 'The value of TrafficPath.N is duplicate.'], ['errorCode' => 'IllegalParam.ResourceGroupId', 'errorMessage' => 'Invalid ResourceGroupld value.', 'description' => 'The specified resource group is invalid or does not exist.'], ['errorCode' => 'OperationDenied.OperateShareResource', 'errorMessage' => 'The operation is not allowed because of OperateShareResource.', 'description' => 'Operating on shared resources causes the operation to fail'], ['errorCode' => 'UnsupportedFeature.IpVersion', 'errorMessage' => 'The ipversion type is not supported.', 'description' => ''], ['errorCode' => 'UnsupportedFeature.VpcAdvancedFeature', 'errorMessage' => 'The VPC does not support some advanced features.', 'description' => 'The VPC does not support some advanced features. Please submit a ticket.'], ['errorCode' => 'OperationFailed.EniTypeNotSupport', 'errorMessage' => 'Operation failed because the ENI type is not supported.', 'description' => 'Operation failed because the ENI type is not supported.'], ['errorCode' => 'IllegalParam.IpVersion', 'errorMessage' => 'The parameter of IpVersion is illegal.', 'description' => ''], ['errorCode' => 'OperationDenied.NisTrafficAnalyzerAggregationIntervalMismatch', 'errorMessage' => 'The sampling interval of the FlowLog is greater than the sampling interval of the NIS Traffic Analyzer.', 'description' => '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.', 'description' => 'The specified NIS Traffic Analyzer does not exist.'], ['errorCode' => 'OperationDenied.NisTrafficAnalyzerNotActive', 'errorMessage' => 'The specified NIS Traffic Analyzer is not enabled.', 'description' => 'The specified NIS Traffic Analyzer is not enabled.'], ['errorCode' => 'OperationFailed.InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error. Please retry the operation. The error still exists. Please submit the work order for processing.'], ['errorCode' => 'MissingParam.TrafficAnalyzerIdOrLogProjectOrLogStore', 'errorMessage' => 'TrafficAnalyzerId and ProjectName and LogStoreName parameters are not passed in.', 'description' => '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.', 'description' => '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.', 'description' => 'Dual-stack flow log instances do not support custom trafficPath.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeFlowLogs', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'Create a flow log', 'description' => '**CreateFlowLog** is an asynchronous operation. After you invoke this operation, the system returns an instance ID, but the flow log has not been created yet. The creation node is still running in the background. You can invoke [DescribeFlowLogs](~~448670~~) to query the creation status of the flow log:'."\n" .'- If the flow log is in the **Activating** state, the flow log is being created.'."\n" .'- If the flow log is in the **Active** state, the flow log is created and activated.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-04-27T05:47:49.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-03-14T01:59:01.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-02-26T11:03:27.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2025-02-21T05:35:50.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2024-11-20T03:14:12.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-10-29T02:52:22.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-09-25T15:16:14.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2024-04-28T03:16:37.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-05T05:51:51.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-05-18T08:53:54.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-10-18T15:24:34.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2021-11-17T09:56:46.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-17T09:56:46.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateFlowLog'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateFlowLog', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionid}:{#accountId}:vswitch/{#VSwitchId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'FlowLog', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:flowlog/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B457\\",\\n \\"Success\\": \\"true\\",\\n \\"FlowLogId\\": \\"fl-m5e8vhz2t21sel1nq****\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazdjdhd****\\"\\n}","type":"json"}]', ], 'CreateForwardEntry' => [ 'summary' => 'Adds a DNAT entry to a DNAT table.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the NAT gateway.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ForwardTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the DNAT table.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ftb-bp1mbjubq34hlcqpa****', 'title' => ''], ], [ 'name' => 'ExternalIp', 'in' => 'query', 'schema' => ['description' => '* The EIP that can be accessed over the Internet when you configure a DNAT entry for an Internet NAT gateway.'."\n" .'* The NAT IP address that can be accessed by external networks when you configure a DNAT entry for a VPC NAT gateway.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '116.28.XX.XX', 'title' => ''], ], [ 'name' => 'ExternalPort', 'in' => 'query', 'schema' => ['description' => '* The external port range that is used for port forwarding when you configure a DNAT entry for an Internet NAT gateway.'."\n" ."\n" .' * Valid values: **1** to **65535**.'."\n" .' * To specify a port range, separate the first port and the last port with a forward slash (/), for example, `10/20`.'."\n" .' * If you set **ExternalPort** to a port range, you must also set **InternalPort** to a port range, and the number of ports specified by these parameters must be the same. For example, if you set **ExternalPort** to `10/20`, you can set **InternalPort** to `80/90`.'."\n" ."\n" .'* The port that can be accessed by external networks when you configure a DNAT entry for a VPC NAT gateway. Valid values: **1** to **65535**.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '8080', 'title' => ''], ], [ 'name' => 'InternalIp', 'in' => 'query', 'schema' => ['description' => '* The private IP address of the ECS instance that needs to communicate with the Internet when you configure a DNAT entry for an Internet NAT gateway. The private IP address must meet the following requirements:'."\n" ."\n" .' * It must belong to the CIDR block of the VPC where the NAT gateway is deployed.'."\n" .' * The DNAT entry takes effect only if the private IP address is assigned to an ECS instance and the ECS instance is not associated with an EIP.'."\n" ."\n" .'* The private IP address that uses DNAT when you add a DNAT entry to a VPC NAT gateway.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '192.168.XX.XX', 'title' => ''], ], [ 'name' => 'InternalPort', 'in' => 'query', 'schema' => ['description' => '* The internal port or port range that is used for port forwarding when you configure a DNAT entry for an Internet NAT gateway. Valid values: **1** to **65535**.'."\n" .'* The port of the destination ECS instance to be mapped when you configure a DNAT entry for a VPC NAT gateway. Valid values: **1** to **65535**.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '80', 'title' => ''], ], [ 'name' => 'IpProtocol', 'in' => 'query', 'schema' => ['description' => 'The protocol. Valid values:'."\n" ."\n" .'* **TCP**'."\n" .'* **UDP**'."\n" .'* **Any** If you set **IpProtocol** to **Any**, you must also set **ExternalPort** and **InternalPort** to **Any** to implement DNAT IP mapping.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'TCP', 'title' => ''], ], [ 'name' => 'ForwardEntryName', 'in' => 'query', 'schema' => ['description' => 'The name of the DNAT entry.'."\n" ."\n" .'The name must be 2 to 128 characters in length. It must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ForwardEntry-1', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe6****', 'title' => ''], ], [ 'name' => 'PortBreak', 'in' => 'query', 'schema' => ['description' => 'Whether to enable port breakthrough, with values:'."\n" .'- **true**: Enable port breakthrough. '."\n" .'- **false** (default): Do not enable port breakthrough.'."\n" .'>When both DNAT and SNAT entries use the same public IP address, if you need to configure a port number greater than 1024, you must set **PortBreak** to **true**.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Indicates whether to perform a dry run of the request. Values:'."\n" .'- **true**: Sends a check request without creating a DNAT entry. The checks include whether the AccessKey is valid, the RAM user\'s authorization status, and if all required parameters are filled out. If any check fails, the corresponding error is returned. If all checks pass, an error code `DryRunOperation` is returned.'."\n" .'- **false** (default): Sends a normal request. After passing the checks, it returns a 2xx HTTP status code and creates a DNAT entry.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'ForwardEntryId' => ['description' => 'The ID of the DNAT entry.'."\n", 'type' => 'string', 'example' => 'fwd-119smw5tkasdf****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'A4AEE536-A97A-40EB-9EBE-53A6948A6928', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'UnsupportedFeature.PrivateLinkEnabled', 'errorMessage' => 'The feature of PrivateLinkEnabled is not supported.', 'description' => ''], ['errorCode' => 'UnsupportedFeature.PortSegment', 'errorMessage' => 'The feature of PortSegment is not supported.', 'description' => ''], ['errorCode' => 'ExclusiveParam.%sAnd%s', 'errorMessage' => 'The param of %s and %s are mutually exclusive.', 'description' => 'You cannot specify %s and %s at the same time.'], ['errorCode' => 'DuplicatedParam.InternalPort', 'errorMessage' => 'The param of %s is duplicated.', 'description' => 'Duplicate or occupied InternalPort parameter'], ['errorCode' => 'DuplicatedParam.ExternalPort', 'errorMessage' => 'The param of %s is duplicated.', 'description' => 'The DNAT public network port has been used repeatedly.'], ['errorCode' => 'OperationFailed.AnyPortConfig', 'errorMessage' => 'Operation failed because any port correspondence any protocol', 'description' => 'The operation failed. There is a conflict with another entry, any port or any protocol type.'], ['errorCode' => 'OperationUnsupported.ForwardEntry', 'errorMessage' => 'Duplicated destination ip port is unsupported.', 'description' => 'You cannot specify duplicate destination IP addresses or destination ports.'], ['errorCode' => 'InvalidIp.NotInNatgw', 'errorMessage' => 'The specified Ip not belong to natgateway.', 'description' => ''], ['errorCode' => 'QuotaExceeded.ForwardEntry', 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', 'description' => ''], ['errorCode' => 'IncorrectStatus.NatIp', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The status of NatIp is incorrect.'], ['errorCode' => 'Forbidden.IpHasBeenUsedInSnat', 'errorMessage' => 'The source ip can\'t be used. Because it has been used in snat.', 'description' => ''], ['errorCode' => 'InvalidExternalIp.Malformed', 'errorMessage' => 'The specified ExternalIp is not a valid IP address.', 'description' => ''], ['errorCode' => 'InvalidInternalIp.Malformed', 'errorMessage' => 'The specified InternalIp is not a valid IP address.', 'description' => ''], ['errorCode' => 'InvalidExternalPort.Malformed', 'errorMessage' => 'The specified ExternalPort is not a valid port.', 'description' => ''], ['errorCode' => 'InvalidInternalPort.Malformed', 'errorMessage' => 'The specified InternalPort is not a valid port.', 'description' => ''], ['errorCode' => 'Forbidden.DestnationIpOutOfVpcCIDR', 'errorMessage' => 'The specified Internal Ip is Out of VPC CIDR.', 'description' => ''], ['errorCode' => 'Forbidden.DestinationIpOutOfVswitchCIDR', 'errorMessage' => 'The specified Internal Ip is Out of VSwitch CIDR.', 'description' => ''], ['errorCode' => 'InvalidProtocal.ValueNotSupported', 'errorMessage' => 'The specified IpProtocol does not support.', 'description' => ''], ['errorCode' => 'IncorretForwardEntryStatus', 'errorMessage' => 'Some Forward entry status blocked this operation..', 'description' => ''], ['errorCode' => 'ForwardEntry.Duplicated', 'errorMessage' => 'The specified ExternalIp, IpProtocol, ExternalPort,InternalIp, InternalPort is duplicated', 'description' => ''], ['errorCode' => 'Forbidden.ExternalIp.UsedInSnatTable', 'errorMessage' => 'The specified ExternalIp is already used in SnatTable', 'description' => ''], ['errorCode' => 'Forbindden', 'errorMessage' => 'The specified Instance already bind eip', 'description' => ''], ['errorCode' => 'Forbidden.InternalIpOutOfVpcCIDR', 'errorMessage' => 'The specified Internal Ip is Out of VPC CIDR.', 'description' => ''], ['errorCode' => 'Invalid.natgwNotExist', 'errorMessage' => 'The specified natgateway not exist.', 'description' => ''], ['errorCode' => 'MissingParameter', 'errorMessage' => 'Missing mandatory parameter', 'description' => ''], ['errorCode' => 'AnyPort.PortMustBeZero', 'errorMessage' => 'any port port must be zero.', 'description' => ''], ['errorCode' => 'InvalidParameter.Name.Malformed', 'errorMessage' => 'The specified Name is not valid.', 'description' => ''], ['errorCode' => 'IncorrectStatus.ForwardEntry', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The DNAT entry to be deleted is in an invalid state.'], ['errorCode' => 'Duplicated.DestinationPort', 'errorMessage' => 'The specified param DestinationPort is duplicated.', 'description' => ''], ['errorCode' => 'OperationUnsupported.EipInBinding', 'errorMessage' => 'Create snat entry with eip in associating status is unsupported.', 'description' => 'You cannot use an associated EIP when you create an SNAT entry.'], ['errorCode' => 'QuotaExceeded.ForwardEntrySessionManytoOne', 'errorMessage' => 'The dnat session quota is exceed.', 'description' => 'The number of DNAT sessions exceeds the upper limit.'], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', 'description' => 'Your requests are too frequent. Try again later.'], ['errorCode' => 'OperationFailed.DnatPortRangeLimit', 'errorMessage' => 'The maximum number of port ranges that can be specified is exceeded.', 'description' => 'The maximum number of port ranges that can be specified is exceeded.'], ['errorCode' => 'IncorrectStatus.NATGW', 'errorMessage' => 'NATGW status is invalid.', 'description' => 'The NAT gateway is in an invalid state.'], ['errorCode' => 'OperationFailed.ForwardEntryNotAllowSrcIpEqualDstIp', 'errorMessage' => 'The source IP of forward entry is not allowed to equal destination IP.', 'description' => 'The public IP address of the DNAT entry is not allowed to be equal to the private IP address.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.NatIp', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidForwardTableId.NotFound', 'errorMessage' => 'Specified forward table does not exist.', 'description' => ''], ['errorCode' => 'InvalidExternalIp.NotFound', 'errorMessage' => 'Specified External Ip address does not found on the VRouter', 'description' => ''], ], 500 => [ ['errorCode' => 'System.Error', 'errorMessage' => 'ERROR SYSTEM ERROR.', 'description' => ''], ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'title' => 'CreateForwardEntry', 'description' => '## [](#)'."\n" ."\n" .'Each DNAT entry consists of the following parameters: **ExternalIp**, **ExternalPort**, **IpProtocol**, **InternalIp**, and **InternalPort**. After you add a DNAT entry, the NAT gateway forwards packets over the specified protocol from **ExternalIp:ExternalPort** to **InternalIp:InternalPort** and sends responses back through the same route.'."\n" ."\n" .'When you call this operation, take note of the following limits:'."\n" ."\n" .'* **CreateForwardEntry** 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 [DescribeForwardTableEntries](~~36053~~) operation to query the status of the task.'."\n" ."\n" .' * If the DNAT entry is in the **Pending** state, the system is adding the DNAT entry. You can only query the DNAT entry, but cannot perform other operations.'."\n" .' * If the DNAT entry is in the **Available** state, the DNAT entry is added.'."\n" ."\n" .'* You cannot repeatedly call the **CreateForwardEntry** operation to add a DNAT entry within a specific period of time.'."\n" ."\n" .'* All combinations of **ExternalIp**, **ExternalPort**, and **IpProtocol** used in DNAT entries must be unique. You cannot distribute requests to more than one Elastic Compute Service (ECS) instance if these requests are initiated from the same source IP address, received on the same port, and use the same protocol.'."\n" ."\n" .'* The combinations of **IpProtocol**, **InternalIp**, and **InternalPort** must be unique.'."\n" ."\n" .'* If one or more DNAT entries in the DNAT table are in the **Pending** or **Modifying** state, you cannot add DNAT entries to the DNAT table.'."\n" ."\n" .'* You can add at most 100 DNAT entries to a DNAT table.'."\n" ."\n" .'* For an elastic IP address (EIP) used by an Internet NAT gateway or a NAT IP address used by a Virtual Private Cloud (VPC) NAT gateway, take note of the following limit: If the IP address has IP mapping enabled and is specified in a DNAT entry, the IP address cannot be used by another DNAT or SNAT entry.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-12-03T02:23:00.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-10-23T06:17:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-01-18T07:07:57.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-14T03:06:38.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-30T03:54:31.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2023-03-01T06:45:50.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-12-02T02:41:29.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-07T11:48:27.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ForwardEntryId\\": \\"fwd-119smw5tkasdf****\\",\\n \\"RequestId\\": \\"A4AEE536-A97A-40EB-9EBE-53A6948A6928\\"\\n}","type":"json"}]', 'translator' => 'manual', ], 'CreateFullNatEntry' => [ 'summary' => 'Adds a FULLNAT entry to the FULLNAT table.', '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' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate a value, and you must make sure that each request has a unique token value. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the value of **RequestId** as the value of **ClientToken**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', 'title' => ''], ], [ 'name' => 'FullNatTableId', 'in' => 'query', 'schema' => ['title' => 'FullNAT条目所属的FullNAT列表的ID。', 'description' => 'The ID of the FULLNAT table to which the FULLNAT entry belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'fulltb-gw88z7hhlv43rmb26****'], ], [ 'name' => 'NetworkInterfaceId', 'in' => 'query', 'schema' => ['description' => 'The elastic network interface (ENI) ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'eni-gw8g131ef2dnbu3k****', 'title' => ''], ], [ 'name' => 'NatIp', 'in' => 'query', 'schema' => ['title' => '提供入方向访问的IP地址,该公网IP需要是当前VpcNat下的NatIP', 'description' => 'The NAT IP address that provides address translation.'."\n", 'type' => 'string', 'required' => true, 'example' => '192.168.XX.XX'], ], [ 'name' => 'NatIpPort', 'in' => 'query', 'schema' => ['title' => '需要进行端口转发的外部端口,取值范围:1~65535。', 'description' => 'The frontend port to be modified in the mapping of FULLNAT port. Valid values: **1** to **65535**.'."\n", 'type' => 'string', 'required' => false, 'example' => '80'], ], [ 'name' => 'AccessIp', 'in' => 'query', 'schema' => ['title' => '需要进行转发的后端IP', 'description' => 'The backend IP address to be modified in FULLNAT address translation.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX'], ], [ 'name' => 'AccessPort', 'in' => 'query', 'schema' => ['title' => '需要进行端口转发的内部端口,取值范围:1~65535。', 'description' => 'The backend port to be modified in the mapping of FULLNAT port. Valid values: **1** to **65535**.'."\n", 'type' => 'string', 'required' => true, 'example' => '80'], ], [ 'name' => 'IpProtocol', 'in' => 'query', 'schema' => ['title' => '协议类型,取值: • TCP:转发TCP协议的报文。 • UDP:转发UDP协议的报文。', 'description' => 'The protocol of the packets that are forwarded by the port. Valid values:'."\n" ."\n" .'* **TCP**'."\n" .'* **UDP**'."\n", 'type' => 'string', 'required' => true, 'example' => 'TCP'], ], [ 'name' => 'FullNatEntryName', 'in' => 'query', 'schema' => ['title' => 'FULLNAT规则的名称。 长度为2~128个字符,必须以大小写字母或中文开头,但不能以http://或https://开头。', 'description' => 'The FULLNAT entry name. The name must be 2 to 128 characters in length. It must start with a letter but cannot start with http:// or https://.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ 'name' => 'FullNatEntryDescription', 'in' => 'query', 'schema' => ['description' => 'The description of the FULLNAT entry.'."\n" ."\n" .'This parameter is optional. If you enter a description, the description must be 2 to 256 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'abc', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to only precheck this request. Valid values:'."\n" ."\n" .'* **true**: prechecks the request without adding the FULLNAT entry. The system checks whether your AccessKey pair is valid, whether RAM users are granted required permissions, and whether the required parameters are set. If the request fails to pass the precheck, an error code is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n" .'* **false**: sends the API request. This is the default value. After the request passes the precheck, a 2XX HTTP status code is returned and the FULLNAT entry is added.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the Virtual Private Cloud (VPC) NAT gateway to which the FULLNAT entry to be added belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'eu-central-1', 'title' => ''], ], [ 'name' => 'AccessDomain', 'in' => 'query', 'schema' => ['description' => 'The backend domain name for FULLNAT address translation.', 'type' => 'string', 'required' => false, 'example' => 'xxx.com', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '2315DEB7-5E92-423A-91F7-4C1EC9AD97C3'], 'FullNatEntryId' => ['description' => 'The FULLNAT entry ID.'."\n", 'type' => 'string', 'example' => 'fullnat-gw8fz23jezpbblf1j****', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.NatIp', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The specified NatIp parameter is not found.'], ['errorCode' => 'IllegalParamFormat.NatIp', 'errorMessage' => 'The param format of %s[%s] is illegal.', 'description' => 'The parameter format of NatIp is invalid. '], ['errorCode' => 'UnsupportedFeature.PrivateLinkMode', 'errorMessage' => 'The feature of %s is not supported.', 'description' => 'The feature of reverse access is not supported.'], ['errorCode' => 'QuotaExceeded.FullNatEntry', 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', 'description' => 'The quota of FullNatEntry has been reached.'], ['errorCode' => 'IncorrectStatus.NatIp', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The status of NatIp is incorrect.'], ['errorCode' => 'ResourceAlreadyExist.FullNatEntry', 'errorMessage' => 'The specified resource of %s is already exist.', 'description' => 'The FULLNAT rule already exists.'], ['errorCode' => 'IncorrectStatus.NetworkInterface', 'errorMessage' => 'The status of network interface is incorrect.', 'description' => 'The status of the ENI is invalid.'], ['errorCode' => 'OperationFailed.AllocateNatIpPortFailed', 'errorMessage' => 'NatIpPort allocation failed.', 'description' => 'NatIpPort allocation failed.'], ['errorCode' => 'IllegalParam.NetworkInterfaceId', 'errorMessage' => 'The param of NetworkInterfaceId is illegal.', 'description' => 'Invalid NetworkInterfaceId value.'], ['errorCode' => 'IllegalParam.AccessDomain', 'errorMessage' => 'The request parameter AccessDomain is illegal.', 'description' => 'The AccessDomain parameter in the request parameter is invalid.'], ['errorCode' => 'ExclusiveParam.AccessIpAndAccessDomain', 'errorMessage' => 'The specified AccessIp and AccessDomain are mutually exclusive.', 'description' => 'The specified input AccessIp conflicts with the AccessDomain.'], ['errorCode' => 'InstanceUnsupported.FullNatDomain', 'errorMessage' => 'The current instance does not support the configuration of the FullNat rule domain name.', 'description' => '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.', 'description' => 'The current zone does not support the configuration of the FullNat rule domain name.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.NatGateway', 'errorMessage' => 'The NatGateway instance not exist.', 'description' => 'The NAT gateway does not exist.'], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => 'An internal error occurred.'], ], ], 'title' => 'CreateFullNatEntry', 'description' => '* **CreateFullNatEntry** is an asynchronous operation. After you send a request to call this operation, the system returns a FULLNAT entry and the FULLNAT entry is being added in the backend. You can call the [ListFullNatEntries](~~348779~~) operation to query the status of a FULLNAT entry.'."\n" ."\n" .' * If the FULLNAT entry is in the **Creating** state, the system is adding the FULLNAT entry. You can only query the status of the FULLNAT entry, but cannot perform other operations.'."\n" .' * If the FULLNAT entry is in the **Available** state, the FULLNAT entry is added.'."\n" ."\n" .'* You cannot repeatedly call the **CreateFullNatEntry** operation for the same VPN gateway within the specified period of time.', 'changeSet' => [ ['createdAt' => '2024-08-09T10:09:59.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-06-06T09:49:13.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2023-03-20T13:09:28.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2023-01-04T09:37:44.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-10-15T06:08:26.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2315DEB7-5E92-423A-91F7-4C1EC9AD97C3\\",\\n \\"FullNatEntryId\\": \\"fullnat-gw8fz23jezpbblf1j****\\"\\n}","type":"json"}]', 'translator' => 'manual', ], 'CreateGlobalAccelerationInstance' => [ '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' => 'The region ID of the GA instance.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'docRequired' => true], ], [ 'name' => 'ServiceLocation', 'in' => 'query', 'schema' => ['description' => 'The acceleration area. Valid values:'."\n" ."\n" .'* **china-mainland**'."\n" .'* **north-america**'."\n" .'* **asia-pacific**'."\n" .'* **europe**'."\n", 'type' => 'string', 'required' => true, 'example' => 'china-mainland', 'docRequired' => true], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The maximum bandwidth of the GA instance. Set the value to **10**. Unit: Mbit/s.'."\n", 'type' => 'string', 'required' => true, 'example' => '10', 'docRequired' => true], ], [ 'name' => 'BandwidthType', 'in' => 'query', 'schema' => ['description' => 'The bandwidth type. Valid values:'."\n" ."\n" .'* **Sharing**'."\n" .'* **Exclusive**'."\n", 'type' => 'string', 'required' => false, 'example' => 'Exclusive'], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the GA instance.'."\n" ."\n" .'The name must be 2 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'GA-1'], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the GA instance.'."\n" ."\n" .'The description must be 2 to 256 characters in length. It must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'My GA'], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF'], 'GlobalAccelerationInstanceId' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'example' => 'ga-bp1fi6sq7npnicmjj****'], 'IpAddress' => ['description' => 'The public IP address of the GA instance.'."\n" ."\n" .'If **BandwidthType** is set to **Sharing**, this parameter is not returned.'."\n", 'type' => 'string', 'example' => '12.xx.xx.78'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidBandwidth.ValueNotSupported', 'errorMessage' => 'The specified Bandwidth is not supported.', 'description' => ''], ['errorCode' => 'InvalidServiceLocation.ValueNotSupported', 'errorMessage' => 'The specified ServiceLocation is not supported.', 'description' => ''], ['errorCode' => 'QuotaExceeded.GlobalAccelerationInstance', 'errorMessage' => 'GlobalAccelerationInstance quota exceeded.', 'description' => ''], ['errorCode' => 'InvalidGlobalAccelerationInstanceName.Malformed', 'errorMessage' => 'The specified Name is not valid.', 'description' => ''], ['errorCode' => 'InvalidGlobalAccelerationInstanceDescription.Malformed', 'errorMessage' => 'The specified Description is not valid.', 'description' => ''], ['errorCode' => 'OperationFailed.UnpaidBillsExist', 'errorMessage' => 'The account has unpaid bills. Please pay your overdue bill first.', 'description' => 'This account has unpaid orders.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not supported.', 'description' => ''], ], ], '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' => 'CreateGlobalAccelerationInstance', 'summary' => 'Creates a Global Accelerator (GA) instance.', 'description' => '## Usage notes'."\n" ."\n" .'You can call this operation to create only pay-as-you-go GA instances.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'CreateHaVip' => [ 'summary' => 'Creates a high-availability virtual IP address (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' => 'The name of the HAVIP.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the HAVIP. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VSwitchId', 'in' => 'query', 'schema' => ['description' => 'The ID of the vSwitch to which the HAVIP belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vsw-asdfjlnaue4g****', 'title' => ''], ], [ 'name' => 'IpAddress', 'in' => 'query', 'schema' => ['description' => 'The IP address of the HAVIP.'."\n" ."\n" .'The specified IP address must be an idle IP address in vSwitch CIDR block of the vSwitch. If you do not specify this parameter, an idle IP address is randomly assigned from vSwitch CIDR block of the specified vSwitch.', 'type' => 'string', 'required' => false, 'example' => '192.XX.XX.10', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the HAVIP.'."\n" ."\n" .'The description must be 1 to 255 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'This is my HaVip.', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the HAVIP belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'description' => 'The tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF', 'title' => ''], 'IpAddress' => ['description' => 'The IP address of the HAVIP.', 'type' => 'string', 'example' => '192.XX.XX.10', 'title' => ''], 'HaVipId' => ['description' => 'The ID of the HAVIP.', 'type' => 'string', 'example' => 'havip-2zeo05qre24nhrqpy****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'The specified Description is wrongly formed.', 'description' => 'The error message returned because the Description parameter is set to an invalid value.'], ['errorCode' => 'InvalidIPAddress.OutOfRange', 'errorMessage' => 'The specified IPAddress is out of VSwitch CIDR.', 'description' => ''], ['errorCode' => 'InvalidIPAddress.NotAvailable', 'errorMessage' => 'The specified IPAddress is not available because it is a system reserved IPAddress.', 'description' => ''], ['errorCode' => 'InvalidIPAddress.AlreadyUsed', 'errorMessage' => 'The specified IPAddress is already used by other resource.', 'description' => ''], ['errorCode' => 'InvalidIPAddress.Malformed', 'errorMessage' => 'The specified IPAddress is not a valid or strict address.', 'description' => 'The specified IP address is invalid.'], ['errorCode' => 'Abs.Vpc.InvalidName.Malformed', 'errorMessage' => 'The specified Name is not valid.', 'description' => ''], ['errorCode' => 'InvalidIPAddress.OutOfVswCIDR', 'errorMessage' => 'The specified IPAddress is out of VSwitch CIDR.', 'description' => 'The IP address does not fall within the CIDR block of the vSwitch.'], ['errorCode' => 'InvalidIPAddress.AlreadyInUse', 'errorMessage' => 'The specified IPAddress is already used by other resource.', 'description' => 'The IP address is being used by other resources.'], ['errorCode' => 'UnsupportedFeature.CloudBoxHaVip', 'errorMessage' => 'The HAVIP feature is not supported in cloud box.', 'description' => ''], ['errorCode' => 'CountLimitExceed.HaVipInVpc', 'errorMessage' => 'Specified Vpc exceeds the quota of max number of ha-vip count.', 'description' => ''], ['errorCode' => 'Forbidden.HaVip', 'errorMessage' => 'No permissions to perform operations on HAVIPs. Please apply for privilege--vpc_privilege_allow_buy_havip_instance.', 'description' => 'The error message returned because you do not have the permissions to manage the HAVIP. Go to the Quota Center page to acquire the permissions.'], ['errorCode' => 'OperationDenied.InvalidIpReservedByVSwitch', 'errorMessage' => 'The specified ip address is the reserved address of the switch.', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'Specified value of "regionId" is not supported.', 'description' => ''], ['errorCode' => 'IllegalParam.ResourceGroupId', 'errorMessage' => 'Invalid ResourceGroupld value.', 'description' => 'The specified resource group is invalid or does not exist.'], ['errorCode' => 'IncorrectStatus.VSwitch', 'errorMessage' => 'The specified vSwitch status is invalid.', 'description' => 'The virtual switch status is abnormal.'], ], 403 => [ ['errorCode' => 'CountLimitExceed.HaVipInVpc', 'errorMessage' => 'Specified Vpc exceeds the quota of max number of ha-vip count.', 'description' => ''], ['errorCode' => 'QuotaExceeded.HaVip', 'errorMessage' => 'Living HaVip quota exceeded.', 'description' => ''], ], [ ['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'The specified VSwitch does not exist in the specified region.', 'description' => ''], ], ], 'title' => 'Create a high-availability virtual IP address (HAVIP)', 'description' => '**CreateHaVip** is an asynchronous operation. After you invoke this operation, the system returns the HAVIP ID, but the HAVIP is not yet created. The creation node is still running in the background. You can invoke [DescribeHaVips](~~114611~~) to query the creation status of the HAVIP:'."\n" .'- If the HAVIP is in the **Creating** state, the HAVIP is being created.'."\n" .'- If the HAVIP is in the **Available** state, the HAVIP is created.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-09-06T08:37:24.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-05T05:51:52.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'], ['createdAt' => '2023-01-11T06:07:05.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-01-10T15:26:11.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2022-10-13T02:00:25.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateHaVip'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateHaVip', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'HaVip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/*'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\",\\n \\"IpAddress\\": \\"192.XX.XX.10\\",\\n \\"HaVipId\\": \\"havip-2zeo05qre24nhrqpy****\\"\\n}","type":"json"}]', ], 'CreateHighReliablePhysicalConnection' => [ 'summary' => 'Creates Express Connect circuits in zone-redundancy mode to ensure the stability of multi-line access to your workloads on Alibaba Cloud and to avoid service disruptions caused by single-line failures through multi-line disaster recovery.', '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' => 'The region ID of the Express Connect circuit.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the Express Connect circuit belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4p****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags.', 'type' => 'array', 'items' => [ 'description' => 'The tags.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 64 characters in length and must start with a letter or Chinese character. It can contain digits, periods (.), underscores (_), and hyphens (-). It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and must start with a letter or Chinese character. It can contain digits, periods (.), underscores (_), and hyphens (-). It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], [ 'name' => 'HighReliableType', 'in' => 'query', 'schema' => ['description' => 'The zone-redundancy mode. Valid values:'."\n" ."\n" .'- **MultiApMultiDevice**: maximum disaster recovery. This mode supports two different access points and two different devices, providing maximum disaster recovery.'."\n" .'- **MultiApSingleDevice**: enhanced disaster recovery. This mode supports two different access points and one device, providing enhanced disaster recovery.'."\n" .'- **SingleApMultiDevice**: development and testing. This mode supports one access point and two devices. This mode is recommended only for development and testing of non-critical workloads.'."\n" .'- **SingleApMultiConnection**: high-bandwidth load balancing. This mode is available only to users in the whitelist. It supports one access point, one device, and multiple physical ports. To use this mode, contact your account manager.', 'type' => 'string', 'required' => true, 'example' => 'MultiApMultiDevice', 'title' => ''], ], [ 'name' => 'PortType', 'in' => 'query', 'schema' => ['description' => 'The port type of the Express Connect circuit. Valid values:'."\n" ."\n" .'- **1000Base-LX**: GE single-mode optical port (10 km).'."\n" ."\n" .'- **10GBase-LR**: 10 GE single-mode optical port (10 km).'."\n" ."\n" .'- **40GBase-LR**: 40 GE single-mode optical port.'."\n" ."\n" .'- **100GBase-LR**: 100 GE single-mode optical port.'."\n" .' '."\n" .'> 40GBase-LR and 100GBase-LR are subject to the actual port availability. For information about port availability, contact your account manager.', 'type' => 'string', 'required' => true, 'example' => '1000Base-LX', 'title' => ''], ], [ 'name' => 'DeviceAdvancedCapacity', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of advanced device capabilities.', 'type' => 'array', 'items' => ['description' => 'The advanced device capability. Valid values:'."\n" .'- **SubifRateLimit**: VBR rate limiting.'."\n" .'- **DualStack**: IPv6 support.'."\n" .'- **BFD**: Bidirectional Forwarding Detection.'."\n" .'- **CEN**: multi-protocol BGP support.'."\n" .'- **CENv6**: multi-protocol BGPv6 support.'."\n" .'- **QOS**: QoS support.'."\n" .'- **MS-HA**: fast failover group support.'."\n" .'- **Multi-MS-HA**: multiple failover group support.', 'type' => 'string', 'required' => false, 'example' => 'SubifRateLimit', 'title' => ''], 'required' => false, 'maxItems' => 100, 'title' => '', 'example' => '', ], ], [ 'name' => 'ApList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of access points.', 'type' => 'array', 'items' => [ 'description' => 'The list of access points.', 'type' => 'object', 'properties' => [ 'Name' => ['description' => 'The name of the Express Connect circuit. '."\n" ."\n" .'The name must be 2 to 128 characters in length and must start with a letter or Chinese character. It can contain digits, underscores (_), and hyphens (-), but cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], 'Description' => ['description' => 'The description of the Express Connect circuit.'."\n" ."\n" .'The description must be 2 to 256 characters in length and must start with a letter or Chinese character, but cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'description', 'title' => ''], 'RegionId' => ['description' => 'The region ID of the Express Connect circuit.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], 'LineOperator' => ['description' => 'The connectivity provider of the Express Connect circuit. Valid values:'."\n" ."\n" .'- **CT**: China Telecom.'."\n" ."\n" .'- **CU**: China Unicom.'."\n" ."\n" .'- **CM**: China Mobile.'."\n" ."\n" .'- **CO**: other Chinese carriers. '."\n" ."\n" .'- **Equinix**: Equinix.'."\n" ."\n" .'- **Other**: other carriers outside the Chinese mainland.', 'type' => 'string', 'required' => true, 'example' => 'CT', 'title' => ''], 'AccessPointId' => ['description' => 'The ID of the access point for the Express Connect circuit.'."\n" ."\n" .'> When **HighReliableType** is set to **MultiApMultiDevice** or **MultiApSingleDevice**, you must specify two different access points. When **HighReliableType** is set to **SingleApMultiDevice** or **SingleApMultiConnection**, you must specify one access point.', 'type' => 'string', 'required' => true, 'example' => 'ap-cn-beijing-ft-A', 'title' => ''], 'PortNum' => ['description' => 'The number of ports. This parameter is required only when **HighReliableType** is set to **SingleApMultiConnection**. Valid values: 2 to 16.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], 'Type' => ['description' => 'The type of the Express Connect circuit. Default value: **VPC**.', 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''], 'Bandwidth' => ['description' => 'The bandwidth of the shared Express Connect circuits. Unit: Mbit/s.'."\n" ."\n" .'Valid values: 50, 100, 200, 300, 400, 500, 1000, 2000, 4000, 5000, 8000, and 10000.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '50', 'title' => ''], 'PeerLocation' => ['description' => 'The geographic location of the on-premises data center.', 'type' => 'string', 'required' => false, 'example' => 'XX街道', 'title' => ''], 'CircuitCode' => ['description' => 'The circuit code provided by the connectivity provider for the Express Connect circuit.', 'type' => 'string', 'required' => false, 'example' => 'longtel001', 'title' => ''], 'OpticalModuleModel' => ['title' => '', 'description' => 'The optical module model supported by the access point of the Express Connect circuit. Valid values:'."\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, 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 100, 'title' => '', 'example' => '', ], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run without creating the instance. The system checks the required parameters, request format, and instance status. If the check fails, the error code `DRYRUN.FAIL` is returned along with the corresponding error list. If the check succeeds, the code `DRYRUN.SUCCESS` is returned.'."\n" ."\n" .'- **false** (default): sends the request. After the request passes the check, the instance is created.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'AcceptLanguage', 'in' => 'query', 'schema' => ['description' => 'The language of the response. Valid values:'."\n" ."\n" .'- **zh-CN** (default): Chinese.'."\n" .'- **en-US**: English.', 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'PhysicalConnectionList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'physicalConnectionList' => [ 'description' => 'The list of Express Connect circuit instances.', 'type' => 'array', 'items' => [ 'description' => 'The list of Express Connect circuit instances.', 'type' => 'object', 'properties' => [ 'InstanceId' => ['description' => 'The instance ID of the Express Connect circuit.', 'type' => 'string', 'example' => 'pc-j5e5qqo616p81ncsp****', 'title' => ''], 'RegionNo' => ['description' => 'The region ID of the Express Connect circuit instance.', 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], 'ErrorInfoList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'errorInfoList' => [ 'description' => 'The error codes and error messages returned when the dry run fails. All error information is returned, including:'."\n" ."\n" .'- `pconn.high.reliable.dryrun.error.disable.outbound.data.transfer.billing`: Outbound data transfer billing is not enabled for the user.'."\n" ."\n" .'- `pconn.high.reliable.dryrun.error.incompatable.device.capacity`: No device in the selected access point meets the advanced device capability requirements.'."\n" ."\n" .'- `pconn.high.reliable.dryrun.error.quota.exceeded`: The user quota is insufficient.'."\n" ."\n" .'- `pconn.high.reliable.dryrun.error.not.enough.resource`: The access point resources are insufficient.', 'type' => 'array', 'items' => [ 'description' => 'The error code.', 'type' => 'object', 'properties' => [ 'ErrorCode' => ['description' => 'The error code.', 'type' => 'string', 'example' => 'pconn.high.reliable.dryrun.error.disable.outbound.data.transfer.billing', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'pconn.high.reliable.dryrun.error.disable.outbound.data.transfer.billing', 'title' => ''], 'InstanceId' => ['description' => 'The instance ID of the Express Connect circuit.', 'type' => 'string', 'example' => 'pc-j5e5qqo616p81ncsp****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Invalid.Status', 'errorMessage' => 'The device or interface status invalid, or has been used..', 'description' => 'The Status parameter is set to an invalid value.'], ['errorCode' => 'InvalidType.Malformd', 'errorMessage' => 'The Type provided was invalid.', 'description' => ''], ['errorCode' => 'InvalidPeerLocation.Malformd', 'errorMessage' => 'The PeerLocation provided was invalid.', 'description' => ''], ['errorCode' => 'InvalidLineOperator.Malformd', 'errorMessage' => 'The LineOperator provided was invalid.', 'description' => ''], ['errorCode' => 'InvalidPortType.Malformd', 'errorMessage' => 'The PortType provided was invalid.', 'description' => ''], ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'The specifid ?Description? is not valid.', 'description' => 'The error message returned because the specified resource description is invalid. The description must be 2 to 256 characters in length and cannot start with http:// or https://.'], ['errorCode' => 'InvalidRedundantPhysicalConnectionId.NotFound', 'errorMessage' => 'The RedundantPhysicalConnectionId does not found.', 'description' => ''], ['errorCode' => 'InvalidName.Malformed', 'errorMessage' => 'The specified ?Name? is not valid.', 'description' => ''], ['errorCode' => 'QuotaExceeded.pConnPerAP', 'errorMessage' => 'Physical connection count per ap quota exceed.', 'description' => ''], ['errorCode' => 'InvalidBandwidth', 'errorMessage' => 'invalid physical connection banwidth.', 'description' => ''], ['errorCode' => 'InvalidRedundantPhysicalConnection', 'errorMessage' => 'redundant physical connection doesn\'t belong to current user.', 'description' => ''], ['errorCode' => 'InvalidRedundantPhysicalConnectionStatus', 'errorMessage' => 'invalid redundant physical connection status.', 'description' => ''], ['errorCode' => 'InvalidCircuitCode.Malformed', 'errorMessage' => 'circuitCode is illegal.', 'description' => ''], ['errorCode' => 'QuotaExceeded.freePconnPerAP', 'errorMessage' => 'free physical connections count excceeded.', 'description' => ''], ['errorCode' => 'InvalidPhysicalConnectionOperator.Malformed', 'errorMessage' => 'Specified PhysicalConnection Operator is not valid.', 'description' => 'The operation on the Express Connect circuit is invalid.'], ['errorCode' => 'InvalidPhysicalConnectionPortType.Malformed', 'errorMessage' => 'Specified PhysicalConnection PortType is not valid.', 'description' => 'The port type of the Express Connect circuit is invalid.'], ['errorCode' => 'InvalidPhysicalConnectionBandwidth.Malformed', 'errorMessage' => 'Specified PhysicalConnection Bandwidth is not valid.', 'description' => 'The bandwidth of the Express Connect circuit is set to an invalid value.'], ['errorCode' => 'IllegalParam.ClientToken', 'errorMessage' => 'Token verify failed because client token length too long.', 'description' => 'The ClientToken parameter is set to an invalid value.'], ['errorCode' => 'InvalidPortType.NotFound', 'errorMessage' => 'Specified port type is not found.', 'description' => 'The portType parameter is not set.'], ['errorCode' => 'OperationFailed.PconnTrafficNotEnable', 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', 'description' => 'Billing for outbound data transfer is disabled.'], ['errorCode' => 'EcNotSupportRegion', 'errorMessage' => 'High reliable physical connection is not support in this region.', 'description' => 'Highly reliable physical lines are temporarily not supported for sale in the local region.'], ['errorCode' => 'EcFailToGetAp', 'errorMessage' => 'Fail to get access point details.', 'description' => 'Unable to query the corresponding access point information.'], ['errorCode' => 'EcNotEnoughResource', 'errorMessage' => 'Insufficient access point resources.', 'description' => 'Insufficient Access Point Resources'], ['errorCode' => 'IllegalParam.UnsupportedAccessPoint', 'errorMessage' => 'The access point type does not support the creation of a highly reliable physical connection.', 'description' => 'You cannot create a high-availability Express Connect circuit for an access point of this type.'], ['errorCode' => 'ResourceNotFound.AccessPointId', 'errorMessage' => 'The specified resource of access point id is not found.', 'description' => 'The current access point information does not exist. Please check and try again.'], ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter is invalid.'], ], 404 => [ ['errorCode' => 'InvalidPortType.NotFound', 'errorMessage' => 'There are no resources with the portType.', 'description' => 'The specified port type is invalid.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribePhysicalConnections', 'callbackInterval' => 5, 'maxCallbackTimes' => 100], 'title' => 'Create zone-redundancy express connect circuits', 'description' => 'When you purchase ports, you can select one of the following three combination types to provide disaster recovery capabilities for your workloads.'."\n" .'- Maximum disaster recovery: You apply for resources in two access points and establish four independent Express Connect circuit connections. The SLA availability for maximum disaster recovery is no less than 99.99%.'."\n" ."\n" .'- Enhanced disaster recovery: You apply for resources in two access points and establish two independent Express Connect circuit connections. The SLA availability for enhanced disaster recovery is no less than 99.95%.'."\n" ."\n" .'- Development and testing: You apply for resources in one access point and establish two independent Express Connect circuit connections.', 'changeSet' => [ ['createdAt' => '2024-06-28T02:56:12.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateHighReliablePhysicalConnection'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateHighReliablePhysicalConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], '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"}]', ], 'CreateIPv6Translator' => [ 'summary' => 'Creates an IPv6 Translation Service instance.', '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' => 'The region of the IPv6 Translation Service instance. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cm-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sha111', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the IPv6 Translation Service instance. The default name is the instance ID. It must be 2 to 100 characters in length and must start with a letter. It can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ipv6_1', 'title' => ''], ], [ 'name' => 'Spec', 'in' => 'query', 'schema' => ['description' => 'The specification of the IPv6 Translation Service instance. Set the value to **small**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'small', 'default' => 'small', 'title' => ''], ], [ 'name' => 'PayType', 'in' => 'query', 'schema' => ['description' => 'The billing method of the IPv6 Translation Service instance. Valid values:'."\n" ."\n" .'* **PREPAY**: subscription'."\n" .'* **POSTPAY**: pay-as-you-go'."\n", 'type' => 'string', 'required' => false, 'example' => 'PREPAY', 'default' => 'PREPAY', 'title' => ''], ], [ 'name' => 'PricingCycle', 'in' => 'query', 'schema' => ['description' => 'The billing cycle of the subscription. Valid values:'."\n" ."\n" .'* **Month** (default)'."\n" .'* **Year**'."\n", 'type' => 'string', 'required' => false, 'example' => 'Month', 'default' => '', 'title' => ''], ], [ 'name' => 'Duration', 'in' => 'query', 'schema' => ['description' => 'The subscription duration.'."\n" ."\n" .'* If the billing cycle is **Month**, valid values are **1** to **9**.'."\n" .'* If the billing cycle is **Year**, set the value to **3**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '', 'title' => ''], ], [ 'name' => 'AutoPay', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable automatic payment. Valid values: **true and false**.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The bandwidth of the IPv6 Translation Service instance. Unit: Mbit/s. Valid values: **1** to **200**. If you do not specify the bandwidth for the mapping entry, the bandwidth is shared with the mapping entry.'."\n" ."\n" .'> If you do not specify this parameter, the default bandwidth is 10 Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Ipv6TranslatorId' => ['description' => 'The ID of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'example' => 'ipv6trans-bp1i8ahxut1xxxx', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '1AE05898-06E5-4782-xxxxx', 'title' => ''], 'Spec' => ['description' => 'The specification of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'example' => 'small', 'title' => ''], 'Name' => ['description' => 'The name of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'example' => 'test_nat64gw', 'title' => ''], 'OrderId' => ['description' => 'The order ID.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '202303300940739', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidName', 'errorMessage' => 'The specified name is not support.', 'description' => ''], ['errorCode' => 'Spec.NotSupport', 'errorMessage' => 'The specified spec does not exist in our records.', 'description' => ''], ['errorCode' => 'Duration.NotSupport', 'errorMessage' => 'The specified duration is not support.', 'description' => ''], ['errorCode' => 'PricingCycle.NotSupport', 'errorMessage' => 'The specified pricing cycle is not support.', 'description' => ''], ['errorCode' => 'PayType.NotSupport', 'errorMessage' => 'The specified pay type is not support.', 'description' => ''], ['errorCode' => 'InventoryNotEnough', 'errorMessage' => 'The inventory is not enough.', 'description' => ''], ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full.', 'description' => ''], ['errorCode' => 'Bandwidth.NotSupport', 'errorMessage' => 'The specified bandwidth is not support.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'Internal Error', 'description' => ''], ], ], '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' => 'CreateIPv6Translator', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateIPv6Translator', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateIPv6Translator'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'CreateIPv6TranslatorAclList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => true, 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region of the IPv6 Translation Service instance. You can call the DescribeRegions operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'example' => 'sha123456', 'description' => '', 'title' => ''], ], [ 'name' => 'AclName', 'in' => 'query', 'schema' => ['description' => 'The ACL name.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'AclId' => ['description' => 'The ACL ID.'."\n", 'type' => 'string', 'example' => 'ipv6transacl-bp1de2xxxx', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '8B2F5262-6B57-43F2-xxxxx', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidName', 'errorMessage' => 'The specified name is not support.', 'description' => ''], ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full.', 'description' => ''], ['errorCode' => 'Nat64Acl.AclNameExist', 'errorMessage' => 'This ipv6 translator acl name is existed', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'Internal Error', 'description' => ''], ], ], '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' => 'CreateIPv6TranslatorAclList', 'summary' => 'Creates an access control list (ACL).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateIPv6TranslatorAclList', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateIPv6TranslatorAclList'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'CreateIPv6TranslatorEntry' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => true, 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region of the IPv6 Translation Service instance. You can call the **DescribeRegions** operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Ipv6TranslatorId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ipv6trans-bp1858ys57xxxxxx'], ], [ 'name' => 'EntryName', 'in' => 'query', 'schema' => ['description' => 'The name of the IPv6 mapping entry. It must be 2 to 100 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter. It cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'name1'], ], [ 'name' => 'EntryDescription', 'in' => 'query', 'schema' => ['description' => 'The description of the IPv6 mapping entry.'."\n", 'type' => 'string', 'required' => false, 'example' => 'description'], ], [ 'name' => 'AllocateIpv6Port', 'in' => 'query', 'schema' => ['description' => 'The port that is used by the IPv6 address allocated to the IPv6 Translation Service instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '80'], ], [ 'name' => 'BackendIpv4Addr', 'in' => 'query', 'schema' => ['description' => 'The public IPv4 address that needs to provide IPv6 services.'."\n", 'type' => 'string', 'required' => true, 'example' => '46.22.xx.xx'], ], [ 'name' => 'BackendIpv4Port', 'in' => 'query', 'schema' => ['description' => 'The port of the public IPv4 address that needs to provide IPv6 services.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '80'], ], [ 'name' => 'TransProtocol', 'in' => 'query', 'schema' => ['description' => 'The protocol. Valid values:'."\n" ."\n" .'* **tcp**'."\n" .'* **udp**'."\n", 'type' => 'string', 'required' => true, 'example' => 'tcp'], ], [ 'name' => 'EntryBandwidth', 'in' => 'query', 'schema' => ['description' => 'The maximum bandwidth specified in the IPv6 mapping entry. Valid values:'."\n" ."\n" .'* \\-1 (default): does not limit the maximum bandwidth specified in the IPv6 mapping entry.'."\n" .'* 1 to 200: the bandwidth value specified in the IPv6 mapping entry. Unit: Mbit/s.'."\n" ."\n" .'> The sum of the maximum bandwidth values specified in all IPv6 entries cannot exceed the maximum bandwidth supported by the instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'default' => '-1'], ], [ 'name' => 'AclStatus', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable access control lists (ACLs). Valid values:'."\n" ."\n" .'* **on**'."\n" .'* **off**'."\n", 'type' => 'string', 'required' => false, 'example' => 'on', 'default' => 'off'], ], [ 'name' => 'AclType', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable ACLs. Valid values:'."\n" ."\n" .'* **white**: a whitelist. IPv6 addresses in the ACL are allowed to access backend services.'."\n" .'* **black**: a blacklist. IPv6 addresses in the ACL are not allowed to access backend services.'."\n", 'type' => 'string', 'required' => false, 'example' => 'white'], ], [ 'name' => 'AclId', 'in' => 'query', 'schema' => ['description' => 'The ID of the associated ACL.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ipv6transacl-bp1g8bhrdexnrxxxx'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'Ipv6TranslatorEntryId' => ['description' => 'The ID of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'example' => 'ipv6transentry-xxxxxxxx'], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'DCE5D25-FFC9-492A-8371-12A4E0EE2E05'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidIpAddress.AlreadyExist', 'errorMessage' => 'The specified ip address is already exist.', 'description' => ''], ['errorCode' => 'InvalidIpAddress.WrongFormat', 'errorMessage' => 'The specified ip address is invalid.', 'description' => ''], ['errorCode' => 'InvalidIpAddress.PrivateAddress', 'errorMessage' => 'The specified private ip address is invalid.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.InvalidPort', 'errorMessage' => 'The specified port is invalid.', 'description' => ''], ['errorCode' => 'InvalidIPv6TranslatorId.NotFound', 'errorMessage' => 'The specified ipv6 translator instance id does not exist.', 'description' => ''], ['errorCode' => 'InvalidName', 'errorMessage' => 'The specified value of name not supported.', 'description' => ''], ['errorCode' => 'InvalidDescription', 'errorMessage' => 'The specified value of description not supported.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.InvalidProtocol', 'errorMessage' => 'The specified transProtocol is invalid.', 'description' => ''], ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'IPv6Translator.Configuring', 'errorMessage' => 'The specified ipv6 translator is configuring.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.InvalidBandwidth', 'errorMessage' => 'The specified entry bandwidth is not valid.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.IPv6Conflict', 'errorMessage' => 'The specified ipv6 port conflict.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.IPv4Conflict', 'errorMessage' => 'The specified ipv4 port and address conflict.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.AclIdNull', 'errorMessage' => 'The acl id must not be null.', 'description' => ''], ['errorCode' => 'InvalidIPv6TranslatorAclId.NotFound', 'errorMessage' => 'The specified ipv6 translator acl id does not exist.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.InvalidAclStatus', 'errorMessage' => 'The specified acl status is invalid.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.InvalidAclType', 'errorMessage' => 'The specified acl type is invalid.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], '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' => 'CreateIPv6TranslatorEntry', 'summary' => 'Adds an IPv6 mapping entry to an IPv6 Translation Service instance.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'CreateIpsecServer' => [ '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' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the VPN gateway is deployed.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPN gateway.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpn-bp17lofy9fd0dnvzv****', 'title' => ''], ], [ 'name' => 'LocalSubnet', 'in' => 'query', 'schema' => ['description' => 'The local CIDR blocks, which are the CIDR blocks of the virtual private cloud (VPC) for the client to access.'."\n" ."\n" .'Multiple CIDR blocks are separated with commas (,). Example: 192.168.1.0/24,192.168.2.0/24.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '192.168.0.0/24', 'title' => ''], ], [ 'name' => 'ClientIpPool', 'in' => 'query', 'schema' => ['description' => 'The client CIDR block from which an IP address is allocated to the virtual network interface controller (NIC) of the client.'."\n" ."\n" .'> The client CIDR block must not overlap with the CIDR blocks of the VPC.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '10.0.0.0/24', 'title' => ''], ], [ 'name' => 'IpSecServerName', 'in' => 'query', 'schema' => ['description' => 'The name of the IPsec server.'."\n" ."\n" .'The name must be 1 to 100 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'maxLength' => 100, 'title' => ''], ], [ 'name' => 'EffectImmediately', 'in' => 'query', 'schema' => ['description' => 'Specify whether to start connection negotiations immediately. Valid values:'."\n" ."\n" .'* **true**: immediately initiates negotiations after the configuration is complete.'."\n" .'* **false** (default): initiates negotiations when inbound traffic is detected. This is the default value.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'IkeConfig', 'in' => 'query', 'schema' => ['description' => 'The configuration of Phase 1 negotiation. Valid values:'."\n" ."\n" .'* **IkeVersion**: the IKE version. Valid values: **ikev1** and **ikev2**. Default value: **ikev2**.'."\n" .'* **IkeMode**: the IKE negotiation mode. Default value: **main**.'."\n" .'* **IkeEncAlg**: the encryption algorithm that is used in Phase 1 negotiation. Default value: **aes**.'."\n" .'* **IkeAuthAlg**: the authentication algorithm that is used in Phase 1 negotiation. Default value: **sha1**.'."\n" .'* **IkePfs**: the Diffie-Hellman key exchange algorithm that is used in Phase 1 negotiation. Default value: **group2**.'."\n" .'* **IkeLifetime**: the security association (SA) lifetime determined by Phase 1 negotiation. Unit: seconds. Valid values: **0** to **86400**. Default value: **86400**.'."\n" .'* **LocalId**: the identifier of the IPsec server. The value can be a fully qualified domain name (FQDN) or an IP address. The default value is the public IP address of the VPN gateway.'."\n" .'* **RemoteId**: the peer identifier. The value can be an FQDN or an IP address. The default value is empty.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"IkeVersion":"ikev2","IkeMode":"main","IkeEncAlg":"aes","IkeAuthAlg":"sha1","IkePfs":"group2","IkeLifetime":86400}', 'title' => ''], ], [ 'name' => 'IpsecConfig', 'in' => 'query', 'schema' => ['description' => 'The configuration of Phase 2 negotiation. Valid values:'."\n" ."\n" .'* **IpsecEncAlg**: the encryption algorithm that is used in Phase 2 negotiation. Default value: **aes**.'."\n" .'* **IpsecAuthAlg**: the authentication algorithm that is used in Phase 2 negotiation. Default value: **sha1**.'."\n" .'* **IpsecPfs**: forwards packets of all protocols. The Diffie-Hellman key exchange algorithm that is used in Phase 2 negotiation. Default value: **group2**.'."\n" .'* **IpsecLifetime**: the SA lifetime determined by Phase 2 negotiation. Unit: seconds. Valid values: **0** to **86400**. Default value: **86400**.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400}', 'title' => ''], ], [ 'name' => 'PskEnabled', 'in' => 'query', 'schema' => ['description' => 'Indicates whether pre-shared key authentication is enabled. If you set the value to **true**, pre-shared key authentication is enabled.'."\n" ."\n" .'> This parameter is required.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'Psk', 'in' => 'query', 'schema' => ['description' => 'The pre-shared key.'."\n" ."\n" .'The pre-shared key that is used for authentication between the IPsec-VPN server and the client. It must be 1 to 100 characters in length.'."\n" ."\n" .'If you do not specify a pre-shared key, the system randomly generates a 16-bit string as the pre-shared key. You can call [ListIpsecServers](~~2794120~~) to query keys generated by the system.'."\n" ."\n" .'> The pre-shared key of the IPsec server key must be the same as that of the client. Otherwise, the connection between the IPsec server and the client cannot be established.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Cfd123****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => 'd7d24a21-f4ba-4454-9173-b38****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to only precheck this request. Valid values:'."\n" ."\n" .'* **true**: prechecks the request without creating the IPsec server. The system checks the required parameters, request format, and service limits. If the request fails to pass the precheck, an error code is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): sends the request. This is the default value. If the request passes the precheck, the system creates the IPsec server.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned results.'."\n", 'type' => 'object', 'properties' => [ 'CreationTime' => ['description' => 'The time when the IPsec server was created.'."\n" ."\n" .'T is used as a delimiter. Z indicates that the time is in UTC.'."\n", 'type' => 'string', 'example' => '2021-02-22T03:24:28Z', 'title' => ''], 'IpsecServerId' => ['description' => 'The IPsec server ID.'."\n", 'type' => 'string', 'example' => 'iss-bp1jougp8cfsbo8y9****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '690A967E-D4CD-4B69-8C78-94FE828BA10B', 'title' => ''], 'IpsecServerName' => ['description' => 'The IPsec server name.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'VpnGatewayId' => ['description' => 'The ID of the VPN gateway.'."\n", 'type' => 'string', 'example' => 'vpn-bp17lofy9fd0dnvzv****', 'title' => ''], 'RegionId' => ['description' => 'The ID of the region where the VPN gateway is deployed.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationUnsupported.IPsecServer', 'errorMessage' => 'The current version of the VPN gateway does not support IPsec server.', 'description' => 'The current version of the VPN gateway does not support IPsec server.'], ['errorCode' => 'VpnGateway.SslVpnDisabled', 'errorMessage' => 'The VPN gateway has not enabled SSL VPN.', 'description' => 'The SSL-VPN feature is disabled for the VPN gateway.'], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'VpnGateway.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => ''], ['errorCode' => 'OperationFailed.IPsecServerExist', 'errorMessage' => 'An IPsec server already exists in the VPN gateway.', 'description' => 'An IPsec server already exists in the VPN gateway.'], ['errorCode' => 'OperationUnsupported.IpsecPfs', 'errorMessage' => 'The specified IPsec Pfs is unsupported.', 'description' => 'The specified IPsec PFS property is not supported.'], ['errorCode' => 'IllegalParam.AuthMethod', 'errorMessage' => 'One authentication method (Psk or IDaaS) should be specified at least.', 'description' => 'You must specify at least one authentication method, such as PSK or IDaaS.'], ['errorCode' => 'IllegalParam.LocalSubnet', 'errorMessage' => 'The specified "LocalSubnet" (%s) is invalid.', 'description' => 'The specified "LocalSubnet" (%s) is invalid.'], ['errorCode' => 'IllegalParam.ClientIpPool', 'errorMessage' => 'The specified ClientIpPool (%s) is invalid.', 'description' => 'The client CIDR block (%s) is invalid.'], ['errorCode' => 'MissingParam.IDaaSInstanceId', 'errorMessage' => 'The input parameter IDaaSInstanceId is mandatory when enable multi-factor authentication.', 'description' => 'You must specify the IDaaS instance ID when two-factor authentication is enabled.'], ['errorCode' => 'OperationFailed.NoRamPermission', 'errorMessage' => 'Vpn Service has no permission to operate your IDaaS instances.', 'description' => 'The VPN service does not have the permissions to manage your IDaaS instance.'], ['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.', 'description' => 'The subnet mask of the client IP pool must range from 16 to 29.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified client IP pool conflicts with VPN connection or SSL server.', 'description' => 'The specified client IP pool conflicts with the VPN connection or the SSL server.'], ['errorCode' => 'ClientIpPool.SubnetInvalid', 'errorMessage' => 'The specified client IP pool cannot be used.', 'description' => 'The client CIDR block is unavailable.'], ['errorCode' => 'InvalidClientIpPool.Conflict', 'errorMessage' => 'The specified client IP pool conflicts with other resources in the same VPC.', 'description' => 'The client CIDR block conflicts with resources in the VPC.'], ['errorCode' => 'OperationFailed.AddVpcRoute', 'errorMessage' => 'It is failed to add VPC route after this operation.', 'description' => 'VPC routes failed to be added after the operation is performed.'], ['errorCode' => 'QuotaExceeded.VpnRouteEntry', 'errorMessage' => 'The number of route entries to the VPN gateway in the VPC routing table has reached the quota limit.', 'description' => '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.', 'description' => ''], ['errorCode' => 'EnableHaCheck.IpsecServerCidrContainsVpcRouteDest', 'errorMessage' => 'Ipsec server client cidr contains vpc route prefix. The vpc route prefix is %s.', 'description' => 'The prefix %s in the VPC route table falls within the CIDR block of the IPsec client.'], ['errorCode' => 'VpnGateway.IPsecServerAndVpnConnectionConflict', 'errorMessage' => 'The IPSec connection and IPSec server cannot be configured on the same VPN gateway at the same time.', 'description' => 'You cannot configure an IPsec server and an IPsec-VPN connection at the same time for one VPN gateway.'], ['errorCode' => 'EnableHaCheck.SslVpnServerClientCidrContainsVpcRouteDest', 'errorMessage' => 'Ssl vpn client cidr contains vpc route prefix. The vpc route prefix is %s.', 'description' => 'The prefix %s in the VPC route table falls within the CIDR block of the SSL client.'], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ['errorCode' => 'InvalidIDaaSInstanceId.NotFound', 'errorMessage' => 'The specified IDaaS instance ID does not exist.', 'description' => 'The specified IDaaS instance does not exist.'], ], 409 => [ ['errorCode' => 'OperationConflict', 'errorMessage' => 'The operation against this instance is too frequent, please try again later.', 'description' => 'Operations are too frequently performed on the instance. Try again later.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 1000, 'maxCallbackTimes' => 30], 'title' => 'CreateIpsecServer', 'summary' => 'Creates an IPsec server.', 'description' => '* Before you create an IPsec server, you must create a VPN gateway and enable the SSL-VPN feature for the VPN gateway. For more information, see [CreateVpnGateway](~~2794049~~).'."\n" ."\n" .'* Before you create an IPsec server, make sure that no IPsec-VPN connection exists on the VPN gateway. For more information, see [DeleteVpnConnection](~~2526948~~).'."\n" ."\n" .'* **CreateIpsecServer** 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 [DescribeVpnGateway](~~2794055~~) to query the status of the task.'."\n" ."\n" .' * If the VPN gateway is in the **updating** state, the IPsec server is being created.'."\n" .' * If the VPN gateway is in the **active** state, the IPsec server is created.'."\n" ."\n" .'* You cannot repeatedly call **CreateIpsecServer** within the specified period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-05-23T06:50:33.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-01-04T07:17:11.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-10-19T07:04:01.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-08T09:38:28.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'CreateIpv4Gateway' => [ 'summary' => 'Creates an IPv4 gateway.', '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' => 'The name of the IPv4 gateway.'."\n" ."\n" .'The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ipv4', 'title' => ''], ], [ 'name' => 'Ipv4GatewayDescription', 'in' => 'query', 'schema' => ['description' => 'The description of the IPv4 gateway.'."\n" ."\n" .'The description must be 1 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC where you want to create the IPv4 gateway.'."\n" ."\n" .'You can create only one IPv4 gateway in a VPC.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-5tss06uvoyps5xoya****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'* **true**: performs a dry run. The system checks the required parameters, request syntax, and limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and sends the request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. ClientToken can contain only ASCII characters.'."\n" ."\n" .'> If you do not set this parameter, the system sets **ClientToken** to the value of **RequestId**. The value of **RequestId** for each API request is different.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where you want to create the IPv4 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' => 'ap-southeast-6', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N to add to the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of tag N to add to the resource. You can specify at most 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where you want to create the IPv4 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' => 'ap-southeast-6', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Ipv4GatewayId' => ['description' => 'The ID of the IPv4 gateway.'."\n", 'type' => 'string', 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'F282742B-1BBB-5F63-A3AF-E92EC575A1A6', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationDenied.ExistDirectEip', 'errorMessage' => 'The operation is not allowed because of existing direct eip.', 'description' => 'You are not allowed to create an IPv4 gateway because an EIP in cut-through mode exists.'], ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'The feature of ipv4Gateway is not supported in the region.', 'description' => 'IPv4 gateways are not supported in this region.'], ['errorCode' => 'Forbidden.OperateShareResource', 'errorMessage' => 'You cannot operate shared resources.', 'description' => 'Shared resources do not support this operation.'], ['errorCode' => 'OperationDenied.SubnetRouteV1Exist', 'errorMessage' => 'The operation is not allowed because of existing subnetRouteV1.', 'description' => 'The subnet routes in the VPC do not meet the requirements.'], ['errorCode' => 'OperationDenied.NormalNatExist', 'errorMessage' => 'The operation is not allowed because of existing normalNat.', 'description' => 'Standard NAT gateways are deployed in the specified VPC.'], ['errorCode' => 'OperationDenied.VpcExistIpv4Gateway', 'errorMessage' => 'An IPv4 gateway already exists in the VPC.', 'description' => 'You are not allowed to create an IPv4 gateway in the VPC because an IPv4 gateway already exists in the VPC.'], ['errorCode' => 'UnsupportedFeature.Ipv4Gateway', 'errorMessage' => 'The feature of ipv4Gateway is not supported for [%s].', 'description' => 'The system failed to create the IPv4 gateway because IPv4 gateways are not supported.'], ['errorCode' => 'OperationDenied.VpnExist', 'errorMessage' => 'The operation is not allowed because of existing vpn.', 'description' => 'You are not allowed to create an IPv4 gateway because a VPN gateway already exists in the VPC.'], ['errorCode' => 'OperationDenied.DirectEipExist', 'errorMessage' => 'The operation is not allowed because of existing directEip.', 'description' => 'EIPs are associated with the VPC in cut-through mode or enhanced NAT gateways are deployed in the VPC.'], ['errorCode' => 'OperationFailed.GetNfvServiceList', 'errorMessage' => 'The operation is failed because of get nfv serviceList failed.', 'description' => 'Failed to obtain the nfc service list.'], ['errorCode' => 'IncorrectStatus.Vpc', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The instance is in an invalid state.'], ['errorCode' => 'OperationFailed.VpcNotExist', 'errorMessage' => 'The operation is failed because of vpc is not found.', 'description' => 'The operation failed because the VPC is not found.'], ['errorCode' => 'IllegalParam.ResourceGroupId', 'errorMessage' => 'Invalid ResourceGroupld value.', 'description' => 'The specified resource group is invalid or does not exist.'], ], ], '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' => 'CreateIpv4Gateway', 'description' => '* **CreateIpv4Gateway** is an asynchronous operation. After you send a request, the system returns a request ID and runs the task in the background. You can call the [GetIpv4GatewayAttribute](~~407670~~) operation to query the status of an IPv4 gateway:'."\n" ."\n" .' * If the IPv4 gateway is in the **Creating** state, the IPv4 gateway is being created.'."\n" .' * If the IPv4 gateway is in the **Created** state, the IPv4 gateway is created.'."\n" ."\n" .'* You cannot repeatedly call the **CreateIpv4Gateway** operation to create IPv4 gateways in a virtual private cloud (VPC) within the specified period of time.', 'changeSet' => [ ['createdAt' => '2023-07-18T07:25:12.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-05T05:51:50.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2021-11-02T02:19:49.000Z', 'description' => 'OpenAPI offline'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateIpv4Gateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv4Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv4gateway/*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateIpv4Gateway'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'CreateIpv6EgressOnlyRule' => [ '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' => 'The region ID of the IPv6 gateway.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''], ], [ 'name' => 'Ipv6GatewayId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the IPv6 gateway.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ipv6gw-hp3c2paq0ywauasza****', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 address for which you want to create an egress-only rule.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ipv6-hp3nxjkfxn5pnhgl5****', 'title' => ''], ], [ 'name' => 'InstanceType', 'in' => 'query', 'schema' => ['description' => 'The type of the instance for which you want to create an egress-only rule.'."\n" ."\n" .'Set the value to **Ipv6Address** (default), which indicates the IPv6 address type.', 'type' => 'string', 'required' => false, 'example' => 'Ipv6Address', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the egress-only rule.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'rulename', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the egress-only rule.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'ruledescription', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the RequestId of the API request as the ClientToken. The RequestId may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Specifies whether to perform a dry run without performing the actual request.', 'type' => 'boolean', 'required' => false, 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Ipv6EgressRuleId' => ['description' => 'The ID of the egress-only rule.', 'type' => 'string', 'example' => 'ipv6py-hp3w98rmlbqp01245****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9DFEDBEE-E5AB-49E8-A2DC-CC114C67AF75', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidIpv6Gateway.NotFound', 'errorMessage' => 'The specified IPv6 gateway was not found.', 'description' => 'The specified IPv6 gateway was not found.'], ['errorCode' => 'IllegalParam.Name', 'errorMessage' => 'The param of Name [%s] is illegal.', 'description' => 'The error message returned because the Name parameter is set to an invalid value. Specify a valid value and try again.'], ['errorCode' => 'IllegalParam.Description', 'errorMessage' => 'The parameter of Description is illegal.', 'description' => 'The Description parameter is invalid.'], ['errorCode' => 'IllegalParam.InstanceType', 'errorMessage' => 'The parameter of InstanceType is illegal.', 'description' => 'The InstanceType parameter is invalid.'], ['errorCode' => 'OperationFailed.FinancialLocked', 'errorMessage' => 'The operation is forbidden because of financialLocked.', 'description' => 'The operation failed due to an overdue payment.'], ['errorCode' => 'OperationUnsupported.EgressRuleVSwitch', 'errorMessage' => 'The specified VSwitch is not supported to create egress-only rule.', 'description' => 'The specified region does not support vSwitch-level egress-only rules.'], ['errorCode' => 'InvalidIpv6Instance.NotFound', 'errorMessage' => 'The specified resource of InvalidIpv6Instance is not found.', 'description' => 'The error message returned because the IPv6 resource is not found.'], ['errorCode' => 'OperationFailed.NoInternetBandwidth', 'errorMessage' => 'Operation failed because the ipv6 instance has no internet bandwidth.', 'description' => 'The operation is not supported because the IPv6 instance does not have Internet bandwidth.'], ['errorCode' => 'OperationFailed.Ipv6EgressRuleExisted', 'errorMessage' => 'An egress-only rule already exists for the IPv6 address.', 'description' => 'The IPv6 instance already has egress-only rules.'], ['errorCode' => 'OperationFailed.InternetBandwidthUnstable', 'errorMessage' => 'The operation is forbidden because of InternetBandwidthUnstable.', 'description' => 'The operation is prohibited because the bandwidth instance is not in a stable state.'], ['errorCode' => 'IncorrectStatus.Ipv6InternetBandwidth', 'errorMessage' => 'The status of the IPv6InternetBandwidth is incorrect.', 'description' => 'The current state of the IPv6 Internet bandwidth does not support creating IPv6 egress-only rules.'], ['errorCode' => 'OperationUnsupported.EgressRuleInDefaultSpec', 'errorMessage' => 'Egress-only rule is not supported. Please update the spec of IPv6 Gateway to Medium or Large.', 'description' => 'The free edition IPv6 gateway does not support creating egress-only rules. Upgrade the IPv6 gateway to Enterprise Edition or Enhanced Enterprise Edition.'], ['errorCode' => 'QuotaExceeded.Ipv6EgressRules', 'errorMessage' => '%s quota exceeded.', 'description' => 'Ipv6EgressRules quantity quota exceeds limit'], ['errorCode' => 'Mismatch.Ipv6AddressAndIpv6Gateway', 'errorMessage' => 'The %s and %s are mismatched.', 'description' => 'Specified Ipv6Address and Ipv6Gateway are not in the same VPC'], ['errorCode' => 'OperationUnsupported.EgressOnlyRuleOnFreeIpv6Instance', 'errorMessage' => 'Creating ipv6 egress only rule on ipv6 instance that not associated with any resource is unsupported.', 'description' => 'Creating egress-only rules on unbound IPv6 instances is not supported'], ['errorCode' => 'MissingParam.InstanceId', 'errorMessage' => 'The parameter InstanceId is mandatory.', 'description' => 'You must specify the Express Connect circuit ID.'], ['errorCode' => 'OperationUnsupported.ULA', 'errorMessage' => '%s is unsupported.', 'description' => 'This operation does not support ULA addresses.'], ['errorCode' => 'OperationUnsupported.PrivateGUA', 'errorMessage' => 'This operation does not support private GUA addresses.', 'description' => 'This operation does not support private GUA addresses.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeIpv6EgressOnlyRules', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'Create an iPv6 egress-only rule for an iPv6 address', 'summary' => 'Creates an IPv6 egress-only rule for an IPv6 address by calling CreateIpv6EgressOnlyRule. You can create an egress-only rule to allow ECS instances in a VPC with an IPv6 CIDR block to proactively access IPv6 endpoints on the client side, while preventing the client IPv6 endpoints from accessing ECS instances in the VPC over the Internet.', 'description' => '- The **CreateIpv6EgressOnlyRule** operation is asynchronous. After you send a request, the system returns an instance ID, but the IPv6 egress-only rule has not been created yet. The creation task is still running in the background. You can call [DescribeIpv6EgressOnlyRules](~~102208~~) to query the creation status of the IPv6 egress-only rule:'."\n" .' - If the IPv6 egress-only rule is in the **Creating** state, the rule is being created.'."\n" .' - If the IPv6 egress-only rule is in the **Created** state, the rule has been created.'."\n" .'- The **CreateIpv6EgressOnlyRule** operation does not support concurrent creation of egress-only rules for the same IPv6 address.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-06-28T01:52:07.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-10-10T04:48:56.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-05T07:33:20.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateIpv6EgressOnlyRule'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateIpv6EgressOnlyRule', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6EgressRule', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/{#Ipv6GatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Ipv6EgressRuleId\\": \\"ipv6py-hp3w98rmlbqp01245****\\",\\n \\"RequestId\\": \\"9DFEDBEE-E5AB-49E8-A2DC-CC114C67AF75\\"\\n}","type":"json"}]', ], 'CreateIpv6Gateway' => [ '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' => 'The region ID of the IPv6 gateway. You can call [DescribeRegions](~~36063~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC for which you want to enable IPv6 and create the IPv6 gateway.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-123sedrfswd23****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the IPv6 gateway.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'ipv6GW', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the IPv6 gateway.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'ipv6gatewayforVPC1', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the IPv6 gateway belongs.'."\n" ."\n" .'For more information about resource groups, see [What is a resource group?](~~2381067~~).', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'description' => 'The tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'Ipv6GatewayId' => ['description' => 'The ID of the IPv6 gateway.', 'type' => 'string', 'example' => 'ipv6gw-hp3y0l3ln89j8cdvf****', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the IPv6 gateway belongs.', 'type' => 'string', 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.Name', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.Description', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.Spec', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.ChargeType', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationUnsupported.OnlyOneIpv6GatewayInVpc', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationFailed.VpcIpv6Disabled', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.ResourceGroupId', 'errorMessage' => 'Invalid ResourceGroupld value.', 'description' => 'The specified resource group is invalid or does not exist.'], ['errorCode' => 'MissingParam.vpcId', 'errorMessage' => 'The parameter vpcId is mandatory.', 'description' => 'The vpcId parameter is required.'], ['errorCode' => 'Forbidden.OperateShareResource', 'errorMessage' => 'You cannot operate shared resources.', 'description' => 'Shared resources do not support this operation.'], ], 404 => [ ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'Specified VPC does not exist.', 'description' => ''], ], ], 'title' => 'Create an iPv6 gateway', 'summary' => 'Creates an IPv6 gateway. An IPv6 gateway is used to control IPv6 network traffic for a virtual private cloud (VPC).', 'description' => '- Before you create an IPv6 gateway, make sure that the target VPC and vSwitch have IPv6 CIDR blocks enabled. You can call [DescribeVpcAttribute](~~448582~~) to query the configuration of a VPC.'."\n" ."\n" .'- Only one IPv6 gateway can be created in a VPC.'."\n" ."\n" .'- **CreateIpv6Gateway** is an asynchronous operation. After you send a request, the system returns an instance ID but enable IPv6 gateway is not yet created. The system continues to run the startup task in the background. You can call [DescribeIpv6GatewayAttribute](~~102226~~) to query the creation status of enable IPv6 gateway:'."\n" .' - If enable IPv6 gateway is in the **Creating** state, enable IPv6 gateway is being created.'."\n" .' - If enable IPv6 gateway is in the **Created** state, enable IPv6 gateway is created.'."\n" .'- The **CreateIpv6Gateway** operation does not support concurrent creation of IPv6 gateways in the same VPC.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-04-14T06:08:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-05T05:51:49.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateIpv6Gateway'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateIpv6Gateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Ipv6GatewayId\\": \\"ipv6gw-hp3y0l3ln89j8cdvf****\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC\\"\\n}","type":"json"}]', ], 'CreateNatGateway' => [ 'summary' => 'Createa an enhanced public NAT gateway or a VPC NAT gateway.', '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' => 'The ID of the region in which to create the NAT gateway.'."\n" ."\n" .'Call the [DescribeRegions](~~36063~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the virtual private cloud (VPC) where you want to create the NAT gateway.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp1di7uewzmtvfuq8****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the NAT gateway.'."\n" ."\n" .'Must be 2 to 128 characters in length, start with a letter or a Chinese character, and can contain digits, underscores (\\_), and hyphens (-).'."\n" ."\n" .'If you do not specify this parameter, the system automatically specifies a name for the NAT gateway.', 'type' => 'string', 'required' => false, 'example' => 'fortest', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the NAT gateway.'."\n" ."\n" .'The description must be 2 to 256 characters in length. It cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'testnat', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can create the token, but you must make sure that the token is unique among different requests.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.', 'type' => 'string', 'required' => false, 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', 'title' => ''], ], [ 'name' => 'Spec', 'in' => 'query', 'schema' => ['description' => 'Subscription-based public NAT gateways are no longer available for purchase. This parameter is deprecated.', 'type' => 'string', 'required' => false, 'example' => '无效参数', 'title' => ''], ], [ 'name' => 'InstanceChargeType', 'in' => 'query', 'schema' => ['description' => 'The billing method of the NAT gateway. Set the value to:'."\n" ."\n" .'**PostPaid** (default): pay-as-you-go.'."\n" ."\n" .'For more information, see [Billing of public NAT gateways](~~48126~~) and [Billing of VPC NAT gateways](~~270913~~).', 'type' => 'string', 'required' => false, 'example' => 'PostPaid', 'title' => ''], ], [ 'name' => 'PricingCycle', 'in' => 'query', 'schema' => ['description' => 'Subscription-based public NAT gateways are no longer available for purchase. This parameter is no longer used.', 'type' => 'string', 'required' => false, 'example' => '无效参数', 'title' => ''], ], [ 'name' => 'Duration', 'in' => 'query', 'schema' => ['description' => 'Subscription-based public NAT gateways are no longer available for purchase. This parameter is deprecated.', 'type' => 'string', 'required' => false, 'example' => '无效参数', 'title' => ''], ], [ 'name' => 'AutoPay', 'in' => 'query', 'schema' => ['description' => 'Subscription-based public NAT gateways are no longer available for purchase. This parameter is deprecated.', 'type' => 'boolean', 'required' => false, 'example' => '无效参数', 'title' => ''], ], [ 'name' => 'VSwitchId', 'in' => 'query', 'schema' => ['description' => 'The ID of the vSwitch to which the NAT gateway belongs.'."\n" ."\n" .'When you create a NAT gateway, you must specify a vSwitch to which the NAT gateway belongs. The system then assigns a private IP address to the NAT gateway from the vSwitch.'."\n" ."\n" .'- To create a NAT gateway in an existing vSwitch, make sure that the zone to which the vSwitch belongs supports NAT gateways and that the vSwitch has idle IP addresses.'."\n" ."\n" .'- If you have not created a vSwitch, create a vSwitch in a zone that supports NAT gateways and then specify the vSwitch.'."\n" ."\n" .'> Call the [ListEnhancedNatGatewayAvailableZones](~~182292~~) operation to query available zones and [DescribeVSwitches](~~35748~~) to query the number of idle IP addresses in a vSwitch.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'vsw-bp1e3se98n9fq8hle****', 'title' => ''], ], [ 'name' => 'NatType', 'in' => 'query', 'schema' => ['description' => 'The type of NAT gateway. Set the value to **Enhanced**, which specifies an enhanced NAT gateway.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'Enhanced', 'title' => ''], ], [ 'name' => 'InternetChargeType', 'in' => 'query', 'schema' => ['description' => 'The billing method of the NAT gateway. Set the value to **PayByLcu**, which indicates that the NAT gateway is a pay-as-you-go NAT gateway and is measured in LCUs.', 'type' => 'string', 'required' => false, 'example' => 'PayByLcu', 'title' => ''], ], [ 'name' => 'NetworkType', 'in' => 'query', 'schema' => ['description' => 'The type of the NAT gateway to be created. Valid values:'."\n" ."\n" .'- **internet**: a public NAT gateway'."\n" ."\n" .'- **intranet**: a VPC NAT gateway', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'internet', 'title' => ''], ], [ 'name' => 'SecurityProtectionEnabled', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable the firewall feature. Valid values:'."\n" ."\n" .'- **false** (default): disables the firewall feature.'."\n" ."\n" .' >'."\n" ."\n" .' This parameter is deprecated.'."\n" ."\n" .' >', 'type' => 'boolean', 'deprecated' => true, 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'IcmpReplyEnabled', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable ICMP reply. Valid values:'."\n" ."\n" .'- **true** (default): enables ICMP reply.'."\n" ."\n" .'- **false**: disables ICMP reply.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'PrivateLinkEnabled', 'in' => 'query', 'schema' => ['title' => '默认不支持私网链接。设置为true则意味着支持私网链接', 'description' => 'Specifies whether to enable PrivateLink. Valid values:'."\n" ."\n" .'- true: enables PrivateLink.'."\n" ."\n" .'- false (default): disables PrivateLink.', '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' => 'The mode in which the EIP is associated with the NAT gateway. Valid values:'."\n" ."\n" .'- **MULTI\\_BINDED** (default): the multi-EIP-to-ENI mode.'."\n" ."\n" .'- **NAT**: the EIP-to-NAT gateway mode. This mode is compatible with IPv4 gateways.'."\n" ."\n" .' > If the EIP is associated with the NAT gateway in EIP-to-NAT gateway mode, the EIP occupies a private IP address of the vSwitch to which the NAT gateway belongs. Make sure that the vSwitch has sufficient private IP addresses. Otherwise, the EIP fails to be associated. In EIP-to-NAT gateway mode, a NAT gateway can be associated with up to 50 EIPs.', 'type' => 'string', 'example' => 'MULTI_BINDED', 'default' => 'MULTI_BINDED', 'enum' => [], 'required' => false, ], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. You can specify up to 20 tag keys. The tag key cannot be an empty string. The tag key must be 1 to 128 characters in length and cannot start with `aliyun` or `acs:`. The tag key cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], 'Value' => ['description' => 'The tag value. You can specify up to 20 tag values. The tag value can be an empty string. The tag value must be 0 to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'example' => 'MULTI_BINDED', 'maxItems' => 21, 'title' => '', ], ], [ 'name' => 'AccessMode', 'in' => 'query', 'style' => 'json', 'schema' => [ 'description' => 'The access mode of the VPC NAT gateway for reverse endpoint access.', 'type' => 'object', 'properties' => [ 'ModeValue' => ['description' => 'The access mode. Valid values:'."\n" ."\n" .'- **route**'."\n" ."\n" .'- **tunnel**'."\n" ."\n" .'> This parameter is valid only when **PrivateLinkEnabled** is set to **true**.', 'type' => 'string', 'required' => false, 'example' => 'route', 'title' => ''], 'TunnelType' => ['description' => 'The type of tunnel. Valid value:'."\n" ."\n" .'- **geneve**: Geneve.'."\n" ."\n" .'> This parameter is valid only when the access mode is tunnel.', 'type' => 'string', 'required' => false, 'example' => 'geneve', 'title' => ''], ], 'required' => false, 'example' => 'MULTI_BINDED', 'title' => '', ], ], [ 'name' => 'NatIp', 'in' => 'query', 'schema' => ['description' => 'The private IP address of the NAT gateway. Use an idle IP address from the CIDR block of the vSwitch to which the NAT gateway belongs. If this parameter is left empty, an IP address is randomly assigned.', 'type' => 'string', 'required' => false, 'example' => '192.168.0.2', 'title' => ''], ], [ 'name' => 'Ipv4Prefix', 'in' => 'query', 'schema' => ['description' => 'The IP address prefix. NAT IP addresses are created from the prefix. Use a reserved CIDR block that is not allocated in the vSwitch to which the NAT gateway belongs.', 'type' => 'string', 'required' => false, 'example' => '192.168.0.0/28', 'title' => ''], ], [ 'name' => 'AvailabilityMode', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response body.', 'type' => 'object', 'properties' => [ 'NatGatewayId' => ['description' => 'The instance ID of the NAT gateway.', 'type' => 'string', 'example' => 'ngw-112za33e4****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2315DEB7-5E92-423A-91F7-4C1EC9AD97C3', 'title' => ''], 'ForwardTableIds' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ForwardTableId' => [ 'description' => 'The DNAT list.', 'type' => 'array', 'items' => ['description' => 'The ID of a DNAT forward table.', 'type' => 'string', 'example' => 'ftb-11tc6xgmv****', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'SnatTableIds' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SnatTableId' => [ 'description' => 'The SNAT list.', 'type' => 'array', 'items' => ['description' => 'The ID of an SNAT table.', 'type' => 'string', 'example' => 'stb-SnatTableIds****', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'FullNatTableIds' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'FullNatTableId' => [ 'description' => 'The FULLNAT list.', 'type' => 'array', 'items' => ['description' => 'The ID of a FULLNAT table.', 'type' => 'string', 'example' => 'fulltb-gw88z7hhlv43rmb26****', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], '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.', 'description' => 'Pay-by-specification NAT gateways are no longer available for purchase. Set InternetChargeType to PayByLcu.'], ['errorCode' => 'DependencyViolation.FullNatEntry', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => ''], ['errorCode' => 'UnsupportedFeature.InternetChargeType', 'errorMessage' => 'The feature of InternetChargeType is not supported.', 'description' => ''], ['errorCode' => 'InvalidVPCStatus', 'errorMessage' => 'vpc incorrect status.', 'description' => ''], ['errorCode' => 'InvalidNatGatewayName.MalFormed', 'errorMessage' => 'NatGateway name is not valid.', 'description' => ''], ['errorCode' => 'InvalidNatGatewayDescription.MalFormed', 'errorMessage' => 'NatGateway description is not valid.', 'description' => ''], ['errorCode' => 'MissingParameter.BandwidthPackage', 'errorMessage' => 'only support one BandwidthPackage be created with NatGateway.', 'description' => ''], ['errorCode' => 'OperationDenied', 'errorMessage' => 'The user cannot allow to create natgw, please call PD to authorize', 'description' => ''], ['errorCode' => 'RouterEntryConflict.Duplicated', 'errorMessage' => 'A route entry already exists, which CIDR is \'0.0.0.0/0\'', 'description' => ''], ['errorCode' => 'MissingParameter', 'errorMessage' => 'Miss mandatory parameter.', 'description' => ''], ['errorCode' => 'QuotaExceeded.BandwidthPackageIps', 'errorMessage' => 'The specified ipCount exceeded quota.', 'description' => 'The number of IP addresses has reached the upper limit. Request a quota increase on the Quota Management page.'], ['errorCode' => 'AllocateIpFailed', 'errorMessage' => 'Alloc bandwidthPackage ips failed, maybe no available ip.', 'description' => ''], ['errorCode' => 'InvalidParameter.Name.Malformed', 'errorMessage' => 'The specified Name is not valid.', 'description' => ''], ['errorCode' => 'InvalidParameter.Description.Malformed', 'errorMessage' => 'The specified Description is not valid.', 'description' => ''], ['errorCode' => 'ZONE_NO_AVAILABLE_IP', 'errorMessage' => 'The Zone have no available ip.', 'description' => ''], ['errorCode' => 'ParameterIllegal', 'errorMessage' => 'ipCount,bandwidth parameter invalid', 'description' => ''], ['errorCode' => 'InvalidParameter.BandwidthPackage.n.ISP.ValueNotSupport', 'errorMessage' => 'The specified ISP of BandwidthPackage is not valid.', 'description' => ''], ['errorCode' => 'InvalidNatGatewayId.NotFound', 'errorMessage' => 'The NatGatewayId not exist.', 'description' => ''], ['errorCode' => 'VpcStatusError', 'errorMessage' => 'The Vpc is creating .', 'description' => ''], ['errorCode' => 'InvalidParameter.Spec.ValueNotSupported', 'errorMessage' => 'The specified Spec is not valid.', 'description' => ''], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent, TaskConflict.', 'description' => 'The system is unavailable. Try again later.'], ['errorCode' => 'COMMODITY.INVALID_COMPONENT', 'errorMessage' => 'The instance component is invalid.', 'description' => 'The instance component is invalid.'], ['errorCode' => 'CreateNatGateway.RouteConflict.DynamicRoute', 'errorMessage' => 'Route conflict exists in routing table.', 'description' => ''], ['errorCode' => 'OperationUnsupported.MultiNatGateway', 'errorMessage' => 'More than one natGateway per vpc is unsupported.', 'description' => ''], ['errorCode' => 'Forbidden.CheckEntryRuleQuota', 'errorMessage' => 'Route entry quota rule check error.', 'description' => ''], ['errorCode' => 'OperationFailed.UnpaidBillsExist', 'errorMessage' => 'The account has unpaid bills. Please pay your overdue bill first.', 'description' => 'This account has unpaid orders.'], ['errorCode' => 'IncorrectStatus.RouteEntry', 'errorMessage' => 'Specified routeEntry status error.', 'description' => ''], ['errorCode' => 'OperationFailed.RiskControl', 'errorMessage' => 'Risk control check failed.', 'description' => 'The error message returned because your payment method has security risks. Click the link for verification in your email or console message and submit your order after verification.'], ['errorCode' => 'OperationFailed.TokenVerfiy', 'errorMessage' => 'Token verify failed.', 'description' => ''], ['errorCode' => 'IllegalParam.Name', 'errorMessage' => 'The specified Name is invalid, shorter than 2 characters.', 'description' => ''], ['errorCode' => 'OperationFailed.EnhancedQuotaExceed', 'errorMessage' => 'Enhanced nat gateway per vpc quota is exceeded', 'description' => ''], ['errorCode' => 'NoPermission.CreateServiceLinkedRole', 'errorMessage' => 'You are not authorized to create service linked role', 'description' => ''], ['errorCode' => 'OperationFailed.EnhancedInventoryNotEnough', 'errorMessage' => 'Operation failed because inventory is not enough.', 'description' => ''], ['errorCode' => 'OperationFailed.VswNotBelongToVpc', 'errorMessage' => 'Operation failed because the specified VSwitch is not bound to the same VPC with NAT gateway.', 'description' => 'The vSwitch and NAT gateway do not belong to the same VPC.'], ['errorCode' => 'OperationFailed.EnhancedUserIsUnAuthorized', 'errorMessage' => 'Operation failed because the user is not authorized to create an enhanced NAT gateway.', 'description' => '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.', 'description' => '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.', 'description' => ''], ['errorCode' => 'OperationFailed.VSwitchNoAvailableIp', 'errorMessage' => 'Operation failed because the specified vswitch does not have availabe ip.', 'description' => ''], ['errorCode' => 'UnsupportedFeature.IcmpReplyEnabled', 'errorMessage' => 'The feature of IcmpReplyEnabled is not supported.', 'description' => 'The value of IcmpReplyEnabled cannot be modified.'], ['errorCode' => 'UnsupportedFeature.SecurityProtectionEnabled', 'errorMessage' => 'The feature of SecurityProtectionEnabled is not supported.', 'description' => ''], ['errorCode' => 'OperationFailed.RegionConvert', 'errorMessage' => 'Operation failed because do not find region info.', 'description' => ''], ['errorCode' => 'UnsupportedFeature.VpcNat', 'errorMessage' => 'The feature of VpcNat is not supported.', 'description' => ''], ['errorCode' => 'InvalidVSWITCHID.NotFound', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => ''], ['errorCode' => 'Forbidden.OperateShareResource', 'errorMessage' => 'Operate share resource is forbidden.', 'description' => ''], ['errorCode' => 'IncorrectStatus.VSWITCH', 'errorMessage' => 'The status of VSWITCH is incorrect.', 'description' => ''], ['errorCode' => 'OperationFailed.VpcNatGatewayInventoryNotEnough', 'errorMessage' => 'The operation is failed because of inventory is not enough.', 'description' => ''], ['errorCode' => 'OperationFailed.VpcNatGatewayCheckInventory', 'errorMessage' => 'The operation is failed because of check inventory result is unexpected', 'description' => ''], ['errorCode' => 'ExclusiveParam.%sAnd%s', 'errorMessage' => 'The param of %s and %s are mutually exclusive.', 'description' => 'You cannot specify %s and %s at the same time.'], ['errorCode' => 'SecurityGroupType.NotSupported', 'errorMessage' => 'The specified security group type is not supported.', 'description' => 'The security group is already hosted and cannot be used.'], ['errorCode' => 'SecurityGroup.NotExist', 'errorMessage' => 'The specified security group is not exist.', 'description' => 'The security group does not exist in this VPC.'], ['errorCode' => 'OperationFailed.ContainForbiddenLabel', 'errorMessage' => 'There is a label that prohibits ordering, please contact your distributor for processing.', 'description' => '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.', 'description' => 'Prepaid instance is no longer supported.'], ['errorCode' => 'UnsupportedFeature.Geneve', 'errorMessage' => 'The feature of Geneve is not supported.', 'description' => 'The feature of Geneve is not supported.'], ['errorCode' => 'OperationFailed.NoAvailableResource', 'errorMessage' => 'The Zone have no available resource.', 'description' => 'No resources are available in the region.'], ['errorCode' => 'ExclusiveParam.AccessModeValueAndAccessTunnelType', 'errorMessage' => 'The specified param AccessModeValue and AccessTunnelType are mutually exclusive.', 'description' => 'The specified input AccessMode.ModeValue and AccessMode.TunnelType conflict'], ['errorCode' => 'ExclusiveParam.PrivateLinkModeAndAccessMode', 'errorMessage' => 'The specified param PrivateLinkMode and AccessMode are mutually exclusive.', 'description' => 'The specified input PrivateLinkMode conflicts with the AccessMode.'], ['errorCode' => 'ExclusiveParam.PrivateLinkEnabledAndAccessMode', 'errorMessage' => 'The specified paramPrivateLinkEnabled and AccessMode are mutually exclusive.', 'description' => 'The specified input PrivateLinkEnabled conflicts with the AccessMode.'], ['errorCode' => 'UnsupportedFeature.AccessModeValue', 'errorMessage' => 'The feature of AccessMode.ModeValue(%s) is not supported.', 'description' => 'This operation is not supported for the VPC NAT AccessMode.ModeValue attribute'], ['errorCode' => 'IllegalParam.AccessTunnelType', 'errorMessage' => 'The request parameter AccessMode.TunnelType is illegal.', 'description' => 'The request parameter AccessMode.TunnelType is illegal.'], ['errorCode' => 'IllegalParam.AccessModeValue', 'errorMessage' => 'The request parameter AccessMode.ModeValue is illegal.', 'description' => 'The request parameter AccessMode.ModeValue is illegal.'], ['errorCode' => 'OperationFailed.VSwitchStatusError', 'errorMessage' => 'The vSwitch is creating .', 'description' => 'The vSwitch is being created.'], ['errorCode' => 'UnsupportedFeature.PrivateLinkMode', 'errorMessage' => 'The feature of %s is not supported.', 'description' => 'The feature of reverse access is not supported.'], ['errorCode' => 'OperationFailed.EcsNetworkInterfaceQuotaNotSatisfy', 'errorMessage' => 'ECS network interface quota is not satisfy.', 'description' => 'The ECS ENI quota does not meet the requirements.'], ['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.', 'description' => '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.', 'description' => 'The specified %s and %s do not match.'], ['errorCode' => 'Mismatch.Ipv4PrefixAndNatIpCidr', 'errorMessage' => 'The %s and %s are mismatched.', 'description' => ''], ['errorCode' => 'ResourceAlreadyExist.NatIp', 'errorMessage' => 'The specified resource of NatIp has already exist.', 'description' => 'Configured NatIp already exists'], ['errorCode' => 'Mismatch.Ipv4PrefixAndCidrReservations', 'errorMessage' => 'The %s and %s are mismatched.', 'description' => 'The reserved network segments of the Ipv4Prefix and VSwitch do not match.'], ['errorCode' => 'ResourceAlreadyAssociated.Ipv4Prefix', 'errorMessage' => '%s is already associated.', 'description' => 'Ipv4Prefix have been allocated.'], ['errorCode' => 'ResourceNotEnough.Ipv4Prefix', 'errorMessage' => 'The resource of %s is not enough.', 'description' => 'Insufficient Ipv4Prefix resources.'], ['errorCode' => 'ResourceNotFound.Ipv4Prefix', 'errorMessage' => 'The resource of s% is not found.', 'description' => 'The resource Ipv4Prefix does not exist.'], ['errorCode' => 'ResourceAlreadyAssociated.NatIp', 'errorMessage' => 'The resource of %s was already associated.', 'description' => 'NatIp resources have been allocated.'], ['errorCode' => 'ResourceNotEnough.NatIp', 'errorMessage' => 'The specified resource of NatIp is not enough.', 'description' => 'Insufficient IP addresses in the specified CIDR block.'], ['errorCode' => 'ResourceNotFound.NatIp', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The specified NatIp parameter is not found.'], ['errorCode' => 'IllegalParam.Ipv4Prefix', 'errorMessage' => 'The param of %s is illegal, must be /28 network segment.', 'description' => 'The parameter Ipv4Prefix is invalid and must be/28 network segment.'], ['errorCode' => 'IllegalParam.NatIp', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter NatIp is illegal.'], ['errorCode' => 'OperationUnsupported.EnhancedRegion', 'errorMessage' => 'Region not support.', 'description' => 'The current region is temporarily not supported.'], ['errorCode' => 'IncorrectStatus.RouteTableStatus', 'errorMessage' => 'The route table status is invaild. Please try again later.', 'description' => 'The routing table status does not support this operation. Please try again later.'], ['errorCode' => 'OperationUnsupported.User', 'errorMessage' => 'The current user does not support this operation.', 'description' => 'The current user does not support this operation.'], ['errorCode' => 'OperationUnsupported.EnhancedCURegion', 'errorMessage' => 'Operation failed because of this region not unsupported.', 'description' => 'Operation failed due to unsupported pay-as-you-go region'], ['errorCode' => 'OrderError.NoAvailablePaymentMethod', 'errorMessage' => 'Order payment parameter is not available.', 'description' => 'Order error. The payment type parameter is not available.'], ['errorCode' => 'OrderError.BasicInfoUncompleted', 'errorMessage' => 'Order basic parameter is not completed.', 'description' => 'Order error, basic parameter information incomplete.'], ['errorCode' => 'OperationUnsupported.Region', 'errorMessage' => 'Operation unsupport this region parameter.', 'description' => 'This operation does not support the region parameter'], ['errorCode' => 'InvalidParameter.SingleZone', 'errorMessage' => 'Operation failed because current user not support create single zone nat.', 'description' => 'current user is not allowed to create a single az nat'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'Specified value of VpcId is not found in our record.', 'description' => 'The VPC does not exist. Check whether the specified VPC is valid.'], ['errorCode' => 'InvalidZoneId.NotFound', 'errorMessage' => 'Specified value of ZoneId is not exists.', 'description' => ''], ['errorCode' => 'VPC_ONLY_CAN_CREATE_ONE_NAT_GATEWAY', 'errorMessage' => 'NatGateway in one vpc support only one.', 'description' => ''], ['errorCode' => 'OperationFailed.CrateEntryTimeOut', 'errorMessage' => 'Operation failed because create custom routeEntry timeout.', 'description' => ''], ['errorCode' => 'Forbidden.CreateSpecialSpecNatGateway', 'errorMessage' => 'You are not authorized to create special spec nat gateway.', 'description' => ''], ['errorCode' => 'UnsupportedZoneForFwNat', 'errorMessage' => 'The zone is unsupported for FW NAT.', 'description' => ''], ], 500 => [ ['errorCode' => 'OrderError.NatGateway', 'errorMessage' => 'The Account failed to create order.', 'description' => ''], ['errorCode' => 'OperationFailed.AccessTunnelId', 'errorMessage' => 'AccessTunnelId param do operation failed.', 'description' => 'VPC NAT failed to generate tunnel ID. Try again later'], ['errorCode' => 'OperationFailed.EnhancedCheckInventory', 'errorMessage' => 'The NAT gateway in the current zone is not in service, or the resource inventory is insufficient.', 'description' => 'The NAT gateway in the current zone is not in service, or the resource inventory is insufficient.'], ], ], 'title' => 'CreateNatGateway', 'description' => 'Before you call this operation, note the following:'."\n" ."\n" .'- When you create a NAT gateway for the first time, a service-linked role named AliyunServiceRoleForNatgw is automatically created. A permission policy named AliyunServiceRolePolicyForNatgw is attached to this role to allow the NAT gateway to access other cloud resources. For more information, see [Service-linked roles](~~174251~~).'."\n" ."\n" .'- After an enhanced public NAT gateway is created, the system automatically adds a route entry to the VPC\'s route table to route traffic to the NAT gateway. This entry sets the destination CIDR block to 0.0.0.0/0 and the next hop to the NAT gateway.'."\n" ."\n" .'- The **CreateNatGateway** operation is asynchronous. After you send a request, the system returns a NAT gateway (public or VPC) instance ID while the creation task runs in the background. Call the [DescribeNatGateways](~~36054~~) operation to query the status of the NAT gateway.'."\n" ."\n" .' - A status of **Creating** indicates that the NAT gateway is being created. You can perform only query operations.'."\n" ."\n" .' - A status of **Available** indicates that the NAT gateway has been created.'."\n" ."\n" .'Creating a NAT gateway takes about 1 to 3 minutes.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-12-30T03:59:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-12-03T02:23:00.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-10-23T06:17:18.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2024-08-15T09:06:23.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-05-06T03:02:14.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-01-18T07:07:56.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-12-14T03:32:38.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-06-30T08:16:10.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-03-01T06:45:50.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-01-10T09:00:26.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2022-11-25T07:53:05.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-08-12T13:22:21.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2022-08-09T11:26:44.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2022-08-05T02:26:15.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-08-03T09:50:00.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-07-22T07:54:11.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-12-28T07:12:45.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-10-15T06:08:26.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateNatGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'CreateNatIp' => [ 'summary' => 'Creates a NAT IP address for a VPC NAT gateway instance.', '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' => 'The region ID of the VPC NAT gateway instance to which the NAT IP address belongs.'."\n" ."\n" .'You can call [DescribeRegions](~~36063~~) to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-central-1', 'title' => ''], ], [ 'name' => 'NatGatewayId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the VPC NAT gateway to which the NAT IP address belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ngw-gw8v16wgvtq26vh59****', 'title' => ''], ], [ 'name' => 'NatIpName', 'in' => 'query', 'schema' => ['description' => 'The name of the NAT IP address.'."\n" ."\n" .'The name must be 2 to 128 characters in length and must start with a letter or Chinese character. It can contain digits, periods (.), underscores (_), and hyphens (-). It cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'newnatip', 'title' => ''], ], [ 'name' => 'NatIpDescription', 'in' => 'query', 'schema' => ['description' => 'The description of the NAT IP address.'."\n" ."\n" .'The description must be 2 to 256 characters in length and must start with a letter or Chinese character. It cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run. The system checks the AccessKey pair, the authorization of the Resource Access Management (RAM) user, and the required parameters. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" ."\n" .'- **false** (default): sends a Normal request. If the request passes the dry run, a 2xx HTTP status code is returned and the NAT IP address is created.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', 'title' => ''], ], [ 'name' => 'NatIpCidr', 'in' => 'query', 'schema' => ['description' => 'The NAT CIDR block from which the NAT IP address is created.', 'type' => 'string', 'required' => true, 'example' => '192.168.0.0/24', 'title' => ''], ], [ 'name' => 'NatIp', 'in' => 'query', 'allowEmptyValue' => false, 'schema' => ['description' => 'The NAT IP address to create.'."\n" ."\n" .'If you do not specify this parameter, the system randomly assigns an IP address from the NAT CIDR block.', 'type' => 'string', 'required' => false, 'example' => '192.168.0.34', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPC NAT gateway instance to which the NAT IP address belongs.'."\n" ."\n" .'You can call [DescribeRegions](~~36063~~) to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-central-1', 'title' => ''], ], [ 'name' => 'Ipv4Prefix', 'in' => 'query', 'allowEmptyValue' => false, 'schema' => ['description' => 'The IP prefix CIDR block to create.'."\n" ."\n" .'The IP prefix CIDR block must be within the reserved CIDR block of the vSwitch where the NAT gateway resides, and the reserved CIDR block must not be occupied. The prefix mask must be /28.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '192.168.0.0/28'], ], [ 'name' => 'Ipv4PrefixCount', 'in' => 'query', 'allowEmptyValue' => false, 'schema' => ['description' => 'The number of IP prefixes to automatically assign.'."\n" ."\n" .'The IP prefixes are randomly assigned from unallocated reserved CIDR blocks of the vSwitch where the NAT gateway resides. Valid values: 1 to 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The NAT IP address that is created.', 'type' => 'object', 'properties' => [ 'NatIp' => ['description' => 'The NAT IP address that is created.', 'type' => 'string', 'example' => '192.168.0.34', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E9AD97A0-5338-43F8-8A80-5E274CCBA11B', 'title' => ''], 'NatIpId' => ['description' => 'The instance ID of the NAT IP address that is created.', 'type' => 'string', 'example' => 'vpcnatip-gw8y7q3cpk3fggs8****', 'title' => ''], 'Ipv4Prefix' => ['title' => '', 'description' => 'The IPv4 prefix returned by the legacy operation. This parameter is deprecated.', 'type' => 'string', 'example' => '""'], 'NatIps' => [ 'title' => '', 'description' => 'The NAT IP address information returned after the NAT IP address is created. When you create a NAT IP address by using an IPv4 prefix, all NAT IP address information is returned. When you create a single NAT IP address, we recommend that you use this parameter to obtain the NAT IP address information.', 'type' => 'array', 'items' => [ 'title' => '', 'description' => 'The list of NAT IP addresses created when an IPv4 prefix is used.', 'type' => 'object', 'properties' => [ 'NatIp' => ['title' => '', 'description' => 'The NAT IP address in the list of NAT IP addresses created when an IPv4 prefix is used.', 'type' => 'string', 'example' => '192.168.2.128'], 'NatIpId' => ['title' => '', 'description' => 'The NAT IP address ID in the list of NAT IP addresses created when an IPv4 prefix is used.', 'type' => 'string', 'example' => 'vpcnatip-xxxxxxxx'], 'Ipv4Prefix' => ['title' => '', 'description' => 'The IPv4 prefix in the list of NAT IP addresses created when an IPv4 prefix is used.', 'type' => 'string', 'example' => '192.168.1.128/28'], ], 'example' => '', ], 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Mismatch.NatIpAndNatIpCidr', 'errorMessage' => 'The %s and %s are mismatched.', 'description' => 'The specified %s and %s do not match.'], ['errorCode' => 'ResourceNotFound.NatGateway', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => ''], ['errorCode' => 'ResourceNotFound.NatIpCidr', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The specified %s resource does not exist.'], ['errorCode' => 'IncorrectStatus.NatGateway', 'errorMessage' => '%The status of %s [%s] is incorrect.', 'description' => 'The NAT gateway is in an invalid state.'], ['errorCode' => 'QuotaExceeded.NatIp', 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', 'description' => 'NatIp and Ipv4Prefix quota use overflow.'], ['errorCode' => 'ResourceNotEnough.SwitchAvailableIps', 'errorMessage' => 'The available private Ip number is not enough in your subnet.', 'description' => 'The number of private IP addresses in the subnet is insufficient.'], ['errorCode' => 'ResourceNotEnough.NatIp', 'errorMessage' => 'The specified resource of NatIp is not enough.', 'description' => 'Insufficient IP addresses in the specified CIDR block.'], ['errorCode' => 'ResourceAlreadyExist.NatIp', 'errorMessage' => 'The specified resource of NatIp has already exist.', 'description' => 'Configured NatIp already exists'], ['errorCode' => 'Mismatch.Ipv4PrefixAndNatIpCidr', 'errorMessage' => 'The %s and %s are mismatched.', 'description' => ''], ['errorCode' => 'Mismatch.Ipv4PrefixAndCidrReservations', 'errorMessage' => 'The %s and %s are mismatched.', 'description' => 'The reserved network segments of the Ipv4Prefix and VSwitch do not match.'], ['errorCode' => 'ResourceAlreadyAssociated.Ipv4Prefix', 'errorMessage' => '%s is already associated.', 'description' => 'Ipv4Prefix have been allocated.'], ['errorCode' => 'ResourceNotEnough.Ipv4Prefix', 'errorMessage' => 'The resource of %s is not enough.', 'description' => 'Insufficient Ipv4Prefix resources.'], ['errorCode' => 'ResourceNotFound.Ipv4Prefix', 'errorMessage' => 'The resource of s% is not found.', 'description' => 'The resource Ipv4Prefix does not exist.'], ['errorCode' => 'ResourceAlreadyAssociated.NatIp', 'errorMessage' => 'The resource of %s was already associated.', 'description' => 'NatIp resources have been allocated.'], ['errorCode' => 'ResourceNotFound.NatIp', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The specified NatIp parameter is not found.'], ['errorCode' => 'IllegalParam.Ipv4Prefix', 'errorMessage' => 'The param of %s is illegal, must be /28 network segment.', 'description' => 'The parameter Ipv4Prefix is invalid and must be/28 network segment.'], ['errorCode' => 'ResourceAlreadyExist.Ipv4Prefix', 'errorMessage' => 'The specified resource of %s is already exist.', 'description' => 'This Ipv4Prefix has already been created. Do not re-create it.'], ['errorCode' => 'QuotaExceeded.Ipv4Prefix', 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', 'description' => 'Ipv4Prefix quota usage overflow.'], ['errorCode' => 'OperationFailed.InstanceNotSupport', 'errorMessage' => 'natgateway not support ipv4prefix.', 'description' => 'The gateway does not support Ipv4Prefix.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ], ], 'title' => 'Create NAT IP address', 'description' => '**CreateNatIp** is an asynchronous operation. After you call this operation, the system returns a NAT IP address, but the NAT IP address is not yet created. The creation task is still running in the background. You can call [ListNatIps](~~287000~~) to query the status of the NAT IP address:'."\n" ."\n" .'- If the NAT IP address is in the **Creating** state, the NAT IP address is being created. In this state, you can only perform query operations.'."\n" ."\n" .'- If the NAT IP address is in the **Available** state, the NAT IP address is created.'."\n" ."\n" .'**CreateNatIp** does not support concurrent creation of NAT IP addresses within the same NAT gateway.', 'changeSet' => [ ['createdAt' => '2024-12-30T03:59:16.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-03T12:03:47.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2023-06-09T06:44:31.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateNatIp'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateNatIp', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'CreateNatIpCidr' => [ 'summary' => 'Creates a NAT CIDR block for a VPC NAT gateway instance.', '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' => 'The region ID of the NAT gateway instance to which the NAT CIDR block belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-central-1', 'title' => ''], ], [ 'name' => 'NatGatewayId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the VPC NAT gateway for which you want to create the NAT CIDR block.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ngw-gw8v16wgvtq26vh59****', 'title' => ''], ], [ 'name' => 'NatIpCidrName', 'in' => 'query', 'schema' => ['description' => 'The name of the NAT CIDR block.'."\n" ."\n" .'The name must be 2 to 128 characters in length and must start with a letter or Chinese character. It can contain digits, periods (.), underscores (_), and hyphens (-). It cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'newcidr', 'title' => ''], ], [ 'name' => 'NatIpCidrDescription', 'in' => 'query', 'schema' => ['description' => 'The description of the NAT CIDR block.'."\n" ."\n" .'The description must be 2 to 256 characters in length and must start with a letter or Chinese character. It cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'mycidr', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" .'- **true**: performs a dry run without creating the NAT CIDR block. The system checks the required parameters, request syntax, and business restrictions. If the check fails, the corresponding error is returned. If the check succeeds, the error code `DryRunOperation` is returned.'."\n" .'- **false** (default): performs a dry run and sends the request. If the check succeeds, an HTTP 2xx status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request may be different.', 'type' => 'string', 'required' => false, 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', 'title' => ''], ], [ 'name' => 'NatIpCidr', 'in' => 'query', 'schema' => ['description' => 'The NAT CIDR block to create.'."\n" ."\n" .'The new CIDR block must meet the following conditions:'."\n" ."\n" .'- It must belong to 10.0.0.0/8, 172.16.0.0/12, or 192.168.0.0/16 and their subnets.'."\n" .'- The subnet mask must be 16 to 32 bits in length.'."\n" .'- It cannot overlap with the private CIDR block of the VPC to which the VPC NAT gateway belongs. If you want to transform a private endpoint to another address within the VPC private network CIDR block, create a vSwitch in the corresponding VPC private network CIDR block, and then create a new VPC NAT gateway in the vSwitch to provide private network address translation.'."\n" .'- To use a public CIDR block as the NAT CIDR block, the CIDR block must belong to the user CIDR block of the VPC to which the VPC NAT gateway belongs. For more information about user CIDR blocks, see [What is a user CIDR block?](~~185311~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '172.16.0.0/24', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the NAT gateway instance to which the NAT CIDR block belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-central-1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'NatIpCidrId' => ['description' => 'The instance ID of the NAT CIDR block.', 'type' => 'string', 'example' => 'vpcnatcidr-gw8lhqtvdn4qnea****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '7021BEB1-210F-48A9-AB82-BE9A9110BB89', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.NatGateway', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => ''], ['errorCode' => 'OperationFailed.NatIpCidrInUse', 'errorMessage' => 'The operation is failed because of %s.', 'description' => ''], ['errorCode' => 'QuotaExceeded.NatIpCidr', 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', 'description' => ''], ['errorCode' => 'OperationFailed.CreateNatIpCidrInVpcCidrBlock', 'errorMessage' => 'The operation is failed because of Creating NatIpCidr in Vpc Cidr.', 'description' => ''], ['errorCode' => 'OperationFailed.CreateNatIpCidrNotInUserCidr', 'errorMessage' => 'The operation is failed because of Creating NatIpCidr not in UserCidr.', 'description' => 'The operation failed because the NAT CIDR block does not fall within the user CIDR block.'], ['errorCode' => 'ResourceAlreadyExist.NatIpCidr', 'errorMessage' => 'The specified resource of %s is already exist.', 'description' => ''], ['errorCode' => 'IllegalParamFormat.NatIpCidr', 'errorMessage' => 'The param format of NatIpCidr is illegal.', 'description' => 'The param format of NatIpCidr is illegal.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'ResourceNotFound.NatGateway', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => ''], ['errorCode' => 'ResourceNotFound.VPC', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => ''], ], ], 'title' => 'Create a NAT CIDR block', 'description' => 'The **CreateNatIpCidr** operation does not support concurrent creation of NAT IP CIDR blocks within the same NAT gateway.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-03-25T16:25:59.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-10-23T06:17:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-01T06:45:53.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-11-07T11:48:28.000Z', 'description' => 'Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateNatIpCidr'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateNatIpCidr', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NatIpCidrId\\": \\"vpcnatcidr-gw8lhqtvdn4qnea****\\",\\n \\"RequestId\\": \\"7021BEB1-210F-48A9-AB82-BE9A9110BB89\\"\\n}","type":"json"}]', ], 'CreateNetworkAcl' => [ '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' => 'The ID of the virtual private cloud (VPC) to which the network ACL belongs.'."\n" ."\n" .'If the VPC contains Elastic Compute Service (ECS) instances of the following instance families, you must upgrade the ECS instances or release the ECS instances. Otherwise, you cannot create a network ACL for the VPC.'."\n" ."\n" .'ecs.c1, ecs.c2, ecs.c4, ecs.c5, ecs.ce4, ecs.cm4, ecs.d1, ecs.e3, ecs.e4, ecs.ga1, ecs.gn4, ecs.gn5, ecs.i1, ecs.m1, ecs.m2, ecs.mn4, ecs.n1, ecs.n2, ecs.n4, ecs.s1, ecs.s2, ecs.s3, ecs.se1, ecs.sn1, ecs.sn2, ecs.t1, and ecs.xn4.'."\n" ."\n" .'* For more information about how to upgrade an ECS instance, see [Upgrade subscription instances](~~25438~~) and [Change the specifications of pay-as-you-go instances](~~60051~~).'."\n" .'* For more information about how to release an ECS instance, see [Release an ECS instance](~~25442~~).'."\n" ."\n" .'> If the VPC contains an ECS instance that does not support network ACLs, upgrade the ECS instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-dsfd34356vdf****'], ], [ 'name' => 'NetworkAclName', 'in' => 'query', 'schema' => ['description' => 'The name of the network ACL.'."\n" ."\n" .'The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acl-1'], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the network ACL.'."\n" ."\n" .'The description must be 1 to 256 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'This is my NetworkAcl.'], ], [ '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' => '0c593ea1-3bea-11e9-b96b-88e9fe637760'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N to add to the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept'], 'Value' => ['description' => 'The value of tag N to add to the resource. You can specify at most 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua'], ], 'required' => false, ], 'required' => false, 'maxItems' => 21, ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the network ACL.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'NetworkAclId' => ['description' => 'The ID of the network ACL.'."\n", 'type' => 'string', 'example' => 'nacl-a2do9e413e0spzasx****'], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0'], 'NetworkAclAttribute' => [ 'description' => 'The attributes of the network ACL.'."\n", 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the network ACL. Valid values:'."\n" ."\n" .'* **Available**'."\n" .'* **Modifying**'."\n", 'type' => 'string', 'example' => 'Modifying'], 'VpcId' => ['description' => 'The ID of the VPC to which the network ACL belongs.'."\n", 'type' => 'string', 'example' => 'vpc-a2d33rfpl72k5xsscd****'], 'CreationTime' => ['description' => 'The time when the network ACL was created.'."\n", 'type' => 'string', 'example' => '2021-12-25 11:33:27'], 'Description' => ['description' => 'The description of the network ACL.'."\n", 'type' => 'string', 'example' => 'This is my NetworkAcl.'], 'NetworkAclName' => ['description' => 'The name of the network ACL.'."\n", 'type' => 'string', 'example' => 'acl-1 '], 'NetworkAclId' => ['description' => 'The ID of the network ACL.'."\n", 'type' => 'string', 'example' => 'nacl-a2do9e413e0spdefr****'], 'RegionId' => ['description' => 'The region ID of the network ACL.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou '], 'IngressAclEntries' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'IngressAclEntry' => [ 'description' => 'The inbound rules.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'NetworkAclEntryId' => ['description' => 'The ID of the inbound rule.'."\n", 'type' => 'string', 'example' => 'nae-a2dk86arlydmexscd****'], 'NetworkAclEntryName' => ['description' => 'The name of the inbound rule.'."\n", 'type' => 'string', 'example' => 'acl-3 '], 'Policy' => ['description' => 'The action to be performed on network traffic that matches the rule. Valid values:'."\n" ."\n" .'* **accept**'."\n" .'* **drop**'."\n", 'type' => 'string', 'example' => 'accept'], 'Description' => ['description' => 'The description of the inbound rule.'."\n", 'type' => 'string', 'example' => 'This is IngressAclEntries. '], 'SourceCidrIp' => ['description' => 'The source CIDR block.'."\n", 'type' => 'string', 'example' => '10.0.0.0/24 '], 'Protocol' => ['description' => 'The protocol. Valid values:'."\n" ."\n" .'* **icmp**'."\n" .'* **gre**'."\n" .'* **tcp**'."\n" .'* **udp**'."\n" .'* **all**'."\n", 'type' => 'string', 'example' => 'all'], 'Port' => ['description' => 'The destination port range of the inbound traffic.'."\n" ."\n" .'* If the **protocol** of the inbound rule is set to **all**, **icmp**, or **gre**, the port range is -1/-1, which specifies all ports.'."\n" .'* If the **protocol** of the inbound rule is set to **tcp** or **udp**, set the port range in the following format: **1/200** or **80/80**, which specifies port 1 to port 200 or port 80. Valid ports: **1** to **65535**.'."\n", 'type' => 'string', 'example' => '-1/-1'], ], ], ], ], ], 'EgressAclEntries' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'EgressAclEntry' => [ 'description' => 'The outbound rules.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'NetworkAclEntryId' => ['description' => 'The ID of the outbound rule.'."\n", 'type' => 'string', 'example' => 'nae-a2d447uw4tillxsdc****'], 'NetworkAclEntryName' => ['description' => 'The name of the outbound rule.'."\n", 'type' => 'string', 'example' => 'acl-2'], 'Policy' => ['description' => 'The action to be performed on network traffic that matches the rule. Valid values:'."\n" ."\n" .'* **accept**'."\n" .'* **drop**'."\n", 'type' => 'string', 'example' => 'accept'], 'Description' => ['description' => 'The description of the outbound rule.'."\n", 'type' => 'string', 'example' => 'This is EgressAclEntries.'], 'Protocol' => ['description' => 'The protocol. Valid values:'."\n" ."\n" .'* **icmp**'."\n" .'* **gre**'."\n" .'* **tcp**'."\n" .'* **udp**'."\n" .'* **all**'."\n", 'type' => 'string', 'example' => 'all'], 'DestinationCidrIp' => ['description' => 'The destination CIDR block.'."\n", 'type' => 'string', 'example' => '10.0.0.0/24'], 'Port' => ['description' => 'The destination port range of the outbound traffic.'."\n" ."\n" .'* If the **protocol** of the outbound rule is set to **all**, **icmp**, or **gre**, the port range is -1/-1, which specified all ports.'."\n" .'* If the **protocol** of the outbound rule is set to **tcp** or **udp**, set the port range in the following format: **1/200** or **80/80**, which specifies port 1 to port 200 or port 80. Valid values for a port: **1** to **65535**.'."\n", 'type' => 'string', 'example' => '-1/-1 '], ], ], ], ], ], 'Resources' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Resource' => [ 'description' => 'The information about the associated resources.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The association status of the resource. Valid values:'."\n" ."\n" .'* **BINDED**'."\n" .'* **BINDING**'."\n" .'* **UNBINDING**'."\n", 'type' => 'string', 'example' => 'BINDED'], 'ResourceType' => ['description' => 'The type of resource with which you want to associate the network ACL.'."\n", 'type' => 'string', 'example' => 'VSwitch'], 'ResourceId' => ['description' => 'The ID of the associated resource.'."\n", 'type' => 'string', 'example' => 'vsw-bp1de348lntdwgthy****'], ], ], ], ], ], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ParameterMissing.AliUid', 'errorMessage' => 'ParameterMissing.AliUid', 'description' => ''], ['errorCode' => 'ParameterMissing.Bid', 'errorMessage' => 'ParameterMissing.Bid', 'description' => ''], ['errorCode' => 'ParameterMissing.RegionId', 'errorMessage' => 'ParameterMissing.RegionId', 'description' => ''], ['errorCode' => 'ParameterEmpty.RegionId', 'errorMessage' => 'ParameterEmpty.RegionId', 'description' => ''], ['errorCode' => 'ParameterMissing.VpcId', 'errorMessage' => 'ParameterMissing.VpcId', 'description' => ''], ['errorCode' => 'ParameterLengthIllegal.Name', 'errorMessage' => 'ParameterLengthIllegal.Name', 'description' => 'The length of the rule name is invalid.'], ['errorCode' => 'ParameterIllegal.Name', 'errorMessage' => 'ParameterIllegal.Name', 'description' => 'The name of the entry is invalid.'], ['errorCode' => 'ParameterLengthIllegal.Description', 'errorMessage' => 'ParameterLengthIllegal.Description', 'description' => ''], ['errorCode' => 'ParameterIllegal.Description', 'errorMessage' => 'ParameterIllegal.Description', 'description' => ''], ['errorCode' => 'ParameterEmpty.VpcId', 'errorMessage' => 'ParameterEmpty.VpcId', 'description' => ''], ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'The vpc is not exist.', 'description' => ''], ['errorCode' => 'QuotaExceed.NetworkAcl', 'errorMessage' => 'Network acl is over limit.', 'description' => ''], ['errorCode' => 'NotSupport.NetworkAcl', 'errorMessage' => 'Network acl is not support now.', 'description' => ''], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'The parameter mode is invalid.'], ], ], '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' => 'CreateNetworkAcl', 'summary' => 'Creates a network ACL.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'CreatePhysicalConnection' => [ 'summary' => 'Calls the CreatePhysicalConnection operation to apply for an Express Connect circuit.', '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' => 'The region ID of the Express Connect circuit.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'AccessPointId', 'in' => 'query', 'schema' => ['description' => 'The ID of the access point where the Express Connect circuit is located.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-cn-beijing-ft-A', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', 'schema' => ['description' => 'The type of the Express Connect circuit. Default value: **VPC**.', 'type' => 'string', 'required' => false, 'default' => 'VPC', 'example' => 'VPC', 'title' => ''], ], [ 'name' => 'LineOperator', 'in' => 'query', 'schema' => ['description' => 'The carrier that provides the Express Connect circuit. Valid values:'."\n" ."\n" .'- **CT**: China Telecom.'."\n" ."\n" .'- **CU**: China Unicom.'."\n" ."\n" .'- **CM**: China Mobile.'."\n" ."\n" .'- **CO**: Other carriers in China. '."\n" ."\n" .'- **Equinix**: Equinix.'."\n" ."\n" .'- **Other**: Other carriers outside China.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'CT', 'title' => ''], ], [ 'name' => 'bandwidth', 'in' => 'query', 'schema' => ['description' => 'The bandwidth of the shared Express Connect circuits. Unit: Mbit/s.'."\n" ."\n" .'Valid values: **50**, **100**, **200**, **300**, **400**, **500**, **1000**, **2000**, **4000**, **5000**, **8000**, and **10000**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '100', 'example' => '50', 'title' => ''], ], [ 'name' => 'PeerLocation', 'in' => 'query', 'schema' => ['description' => 'The geographical location of the on-premises data center.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'XX街道', 'title' => ''], ], [ 'name' => 'PortType', 'in' => 'query', 'schema' => ['description' => 'The port type of the Express Connect circuit. Valid values:'."\n" ."\n" .'- **100Base-T**: 100M Ethernet port.'."\n" ."\n" .'- **1000Base-T**: 1 GE electrical port.'."\n" ."\n" .'- **1000Base-LX**: GE single-mode optical port (10 km).'."\n" ."\n" .'- **10GBase-T**: 10 GE electrical port.'."\n" ."\n" .'- **10GBase-LR**: 10 GE single-mode optical port (10 km).'."\n" ."\n" .'- **40GBase-LR**: 40 GE single-mode optical port.'."\n" ."\n" .'- **100GBase-LR**: 100 GE single-mode optical port.'."\n" ."\n" .'> 40GBase-LR and 100GBase-LR are created based on the actual port availability in the backend. Contact your account manager for port availability details.', 'type' => 'string', 'required' => false, 'default' => '1000Base-T', 'example' => '1000Base-T', 'title' => ''], ], [ 'name' => 'RedundantPhysicalConnectionId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the redundant Express Connect circuit. The redundant circuit must be in the **Allocated**, **Confirmed**, or **Enabled** state.', 'type' => 'string', 'required' => false, 'example' => 'pc-119mfjzm****', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the Express Connect circuit. '."\n" ."\n" .'The description must be 2 to 256 characters in length and must start with a letter or a Chinese character. It cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'description', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the Express Connect circuit. '."\n" ."\n" .'The name must be 2 to 128 characters in length and must start with a letter or a Chinese character. It can contain digits, underscores (_), and hyphens (-). It cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'CircuitCode', 'in' => 'query', 'schema' => ['description' => 'The circuit code provided by the carrier for the Express Connect circuit.', 'type' => 'string', 'required' => false, 'example' => 'longtel001', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a parameter value from your client to ensure uniqueness across different requests. ClientToken supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a parameter value from your client to ensure uniqueness across different requests. ClientToken supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the Express Connect circuit belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmoiyermp****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ 'description' => 'The list of tags.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], [ 'name' => 'DeviceAdvancedCapacity', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of device advanced capabilities.', 'type' => 'array', 'items' => [ 'description' => 'The list of device advanced capabilities. Valid values:'."\n" .'- **SubifRateLimit**: supports bandwidth throttling at the VBR granularity.'."\n" .'- **DualStack**: supports IPv6 protocol.'."\n" .'- **BFD**: supports fault detection network protocol between forwarding points.'."\n" .'- **CEN**: supports MP-BGP protocol.'."\n" .'- **CENv6**: supports MP-BGPv6 protocol.'."\n" .'- **QOS**: supports QoS.'."\n" .'- **MS-HA**: supports fast switchover groups.'."\n" .'- **Multi-MS-HA**: supports multiple switchover groups.', 'enumValueTitles' => ['BFD' => 'BFD', 'SubifRateLimit' => 'SubifRateLimit', 'DualStack' => 'DualStack', 'CENv6' => 'CENv6', 'CEN' => 'CEN'], 'type' => 'string', 'required' => false, 'example' => 'CENv6', 'title' => '', ], 'required' => false, 'maxItems' => 100, 'title' => '', 'example' => '', ], ], [ 'name' => 'OpticalModuleModel', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The optical module model supported by the Express Connect circuit access point. Valid values:'."\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' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'PhysicalConnectionId' => ['description' => 'The instance ID of the Express Connect circuit.', 'type' => 'string', 'example' => 'pc-bp1ciz7ekd2grn1as****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8A6A5EC5-6F6C-4906-9689-56ACE58A13E0', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Invalid.Status', 'errorMessage' => 'The device or interface status invalid, or has been used..', 'description' => 'The Status parameter is set to an invalid value.'], ['errorCode' => 'InvalidType.Malformd', 'errorMessage' => 'The Type provided was invalid.', 'description' => ''], ['errorCode' => 'InvalidPeerLocation.Malformd', 'errorMessage' => 'The PeerLocation provided was invalid.', 'description' => ''], ['errorCode' => 'InvalidLineOperator.Malformd', 'errorMessage' => 'The LineOperator provided was invalid.', 'description' => ''], ['errorCode' => 'InvalidPortType.Malformd', 'errorMessage' => 'The PortType provided was invalid.', 'description' => ''], ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'The specifid ?Description? is not valid.', 'description' => 'The error message returned because the specified resource description is invalid. The description must be 2 to 256 characters in length and cannot start with http:// or https://.'], ['errorCode' => 'InvalidRedundantPhysicalConnectionId.NotFound', 'errorMessage' => 'The RedundantPhysicalConnectionId does not found.', 'description' => ''], ['errorCode' => 'InvalidName.Malformed', 'errorMessage' => 'The specified ?Name? is not valid.', 'description' => ''], ['errorCode' => 'QuotaExceeded.pConnPerAP', 'errorMessage' => 'Physical connection count per ap quota exceed.', 'description' => ''], ['errorCode' => 'InvalidBandwidth', 'errorMessage' => 'invalid physical connection banwidth.', 'description' => ''], ['errorCode' => 'InvalidRedundantPhysicalConnection', 'errorMessage' => 'redundant physical connection doesn\'t belong to current user.', 'description' => ''], ['errorCode' => 'InvalidRedundantPhysicalConnectionStatus', 'errorMessage' => 'invalid redundant physical connection status.', 'description' => ''], ['errorCode' => 'InvalidCircuitCode.Malformed', 'errorMessage' => 'circuitCode is illegal.', 'description' => ''], ['errorCode' => 'QuotaExceeded.freePconnPerAP', 'errorMessage' => 'free physical connections count excceeded.', 'description' => ''], ['errorCode' => 'InvalidPhysicalConnectionOperator.Malformed', 'errorMessage' => 'Specified PhysicalConnection Operator is not valid.', 'description' => 'The operation on the Express Connect circuit is invalid.'], ['errorCode' => 'InvalidPhysicalConnectionPortType.Malformed', 'errorMessage' => 'Specified PhysicalConnection PortType is not valid.', 'description' => 'The port type of the Express Connect circuit is invalid.'], ['errorCode' => 'InvalidPhysicalConnectionBandwidth.Malformed', 'errorMessage' => 'Specified PhysicalConnection Bandwidth is not valid.', 'description' => 'The bandwidth of the Express Connect circuit is set to an invalid value.'], ['errorCode' => 'IllegalParam.ClientToken', 'errorMessage' => 'Token verify failed because client token length too long.', 'description' => 'The ClientToken parameter is set to an invalid value.'], ['errorCode' => 'InvalidPortType.NotFound', 'errorMessage' => 'Specified port type is not found.', 'description' => 'The portType parameter is not set.'], ['errorCode' => 'OperationFailed.PconnTrafficNotEnable', 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', 'description' => 'Billing for outbound data transfer is disabled.'], ['errorCode' => 'InvalidAccessPointId.NotEnabled', 'errorMessage' => 'Invalid access point status.', 'description' => ''], ['errorCode' => 'ResourceNotFound.AccessPointId', 'errorMessage' => 'The specified resource of access point id is not found.', 'description' => 'The current access point information does not exist. Please check and try again.'], ['errorCode' => 'InvalidParameter.DeviceAdvancedCapacity', 'errorMessage' => 'Invalid physical connection device advanced capacity.', 'description' => 'The advanced port capability is temporarily not supported. Please confirm and try again.'], ], 404 => [ ['errorCode' => 'InvalidPortType.NotFound', 'errorMessage' => 'There are no resources with the portType.', 'description' => 'The specified port type is invalid.'], ], ], 'title' => 'Apply for an express connect circuit', 'description' => 'You can apply for a dedicated Express Connect circuit or apply for a shared Express Connect circuit for a tenant. After the application is complete, the Express Connect circuit enters the **Initial** state. Contact the carrier to start construction. '."\n" .' '."\n" .'When you call this operation, note the following items: '."\n" .' '."\n" .'- When you apply for an Express Connect circuit, the number of Express Connect circuits that are not in the **Enabled** state cannot exceed 5. '."\n" ."\n" .'- If your account has an Express Connect circuit with an overdue payment, you cannot apply for a new Express Connect circuit.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-07-15T06:09:31.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-06-28T02:56:12.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-10-12T03:31:15.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2023-03-14T12:05:06.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2022-12-02T02:38:40.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2021-11-25T08:04:15.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreatePhysicalConnection'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreatePhysicalConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PhysicalConnectionId\\": \\"pc-bp1ciz7ekd2grn1as****\\",\\n \\"RequestId\\": \\"8A6A5EC5-6F6C-4906-9689-56ACE58A13E0\\"\\n}","type":"json"}]', ], 'CreatePhysicalConnectionOccupancyOrder' => [ 'summary' => 'Invoke the CreatePhysicalConnectionOccupancyOrder API to create an order for resource occupancy fees. ', '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' => 'The region ID of the Express Connect circuit.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'PhysicalConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Express Connect circuit.'."\n", 'type' => 'string', 'required' => true, 'example' => 'pc-bp1hp0wr072f6****', 'title' => ''], ], [ 'name' => 'Period', 'in' => 'query', 'schema' => ['description' => 'The subscription duration.'."\n" ."\n" .'* If **PricingCycle** is set to **Month**, set **Period** to a value from **1 to 9**.'."\n" .'* If **PricingCycle** is set to **Year**, set **Period** to a value from **1 to 5**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'InstanceChargeType', 'in' => 'query', 'schema' => ['description' => 'The billing method. Set the value to'."\n" ."\n" .'**PrePaid**, which specifies the subscription billing method. If you choose this billing method, make sure that your Alibaba Cloud account supports balance payments or credit payments.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PrePaid', 'title' => ''], ], [ 'name' => 'AutoPay', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable automatic payments. Valid values:'."\n" ."\n" .'* **true**: yes Make sure that you have a sufficient balance in your account. Otherwise, your order becomes invalid and is automatically canceled.'."\n" .'* **false**: disables automatic payment. This is the default value.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'PricingCycle', 'in' => 'query', 'schema' => ['description' => 'The billing cycle of the subscription. Valid values:'."\n" ."\n" .'* **Month** (default)'."\n" .'* **Year**'."\n", 'type' => 'string', 'required' => false, 'example' => 'Month', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CBCE910E-D396-4944', 'title' => ''], ], [ 'name' => 'AutoRenew', 'in' => 'query', 'schema' => ['description' => 'Whether to enable auto-renewal. Valid values:'."\n" ."\n" .'- **false** (**default**): disable auto-renewal.'."\n" .'- **true**: enable auto-renewal. ', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'AutoRenewDuration', 'in' => 'query', 'schema' => ['description' => 'The auto-renewal duration. Unit: months. Valid values: **0** to **2147483647**. Default Value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9B9300FE-11E2-4E3B-949C-BED3B44DD26D', 'title' => ''], 'Data' => [ 'description' => 'The details.'."\n", 'type' => 'object', 'properties' => [ 'OrderId' => ['description' => 'The ID of the order that is placed.'."\n", 'type' => 'string', 'example' => '50187055895****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IAbs.InvalidStatus.ValueNotSupported', 'errorMessage' => 'status is not supported.', 'description' => 'The status is invalid.'], ['errorCode' => 'InvalidPrice.NotFound', 'errorMessage' => 'Pricing plan result not found.', 'description' => 'The Price parameter is set to an invalid value.'], ['errorCode' => 'InvalidPhysicalConnectionChargeType.Malformed', 'errorMessage' => 'Specified Physical Connection ChargeType is not valid.', 'description' => 'The InstanceChargeType parameter is set to an invalid value.'], ['errorCode' => 'InvalidPhysicalConnectionPeriod.Malformed', 'errorMessage' => 'Specified Physical Connection Period is not valid.', 'description' => 'The Period parameter is set to an invalid value.'], ['errorCode' => 'InvalidPhysicalConnectionPricingCycle.Malformed', 'errorMessage' => 'Specified Physical Connection PricingCycle is not valid.', 'description' => ''], ['errorCode' => 'Forbidden.NotAllowedInState', 'errorMessage' => 'The request does not allow in this state.', 'description' => ''], ['errorCode' => 'INSTANCE.STATUS.NOT.ALLOW', 'errorMessage' => 'Instance status not allow', 'description' => 'The instance in the current state does not support the operation.'], ['errorCode' => 'Abs.InstanceNotExist', 'errorMessage' => 'The specified instance does not exist.', 'description' => 'The specified instance does not exist.'], ['errorCode' => 'IncorrectStatus.PhysicalConnection', 'errorMessage' => 'Invalid physical connection status.', 'description' => 'The Express Connect circuit is in an invalid state.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidPhysicalConnectionId.NotFound', 'errorMessage' => 'The PhysicalConnectionId provided does not exist in our records.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Create a Resource Occupancy Fee Order ', 'description' => '> This operation is allowed only for instances whose Express Connect circuit status is **Complete** (waiting for user payment). ', 'changeSet' => [ ['createdAt' => '2024-07-29T02:44:51.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-12-21T05:47:23.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-10-25T15:10:54.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9B9300FE-11E2-4E3B-949C-BED3B44DD26D\\",\\n \\"Data\\": {\\n \\"OrderId\\": \\"50187055895****\\"\\n }\\n}","type":"json"}]', 'translator' => 'machine', ], 'CreatePhysicalConnectionSetupOrder' => [ 'summary' => 'Creates an order for initial installation of an Express Connect circuit.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'create', 'riskType' => 'none'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the Express Connect circuit.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-beijing', 'title' => ''], ], [ 'name' => 'AccessPointId', 'in' => 'query', 'schema' => ['description' => 'The ID of the access point.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-cn-beijing-ft-A', 'title' => ''], ], [ 'name' => 'LineOperator', 'in' => 'query', 'schema' => ['description' => 'The connectivity provider of the Express Connect circuit. Valid values:'."\n" ."\n" .'* **CT**: China Telecom'."\n" .'* **CU**: China Unicom'."\n" .'* **CM**: China Mobile'."\n" .'* **CO**: other connectivity providers in the Chinese mainland'."\n" .'* **Equinix**: Equinix'."\n" .'* **Other**: other connectivity providers outside the Chinese mainland'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'CT', 'title' => ''], ], [ 'name' => 'PortType', 'in' => 'query', 'schema' => ['description' => 'The port type of the Express Connect circuit. Valid values:'."\n" ."\n" .'* **100Base-T**: 100 Mbit/s copper Ethernet port'."\n" .'* **1000Base-T** (default): 1,000 Mbit/s copper Ethernet port'."\n" .'* **1000Base-LX**: 1,000 Mbit/s single-mode optical port (10 km)'."\n" .'* **10GBase-T**: 10,000 Mbit/s copper Ethernet port'."\n" .'* **10GBase-LR**: 10,000 Mbit/s single-mode optical port (10 km)'."\n" .'* **40GBase-LR**: 40,000 Mbit/s single-mode optical port'."\n" .'* **100GBase-LR**: 100,000 Mbit/s single-mode optical port'."\n" ."\n" .'> Whether 40GBase-LR and 100GBase-LR ports can be created depends on resource supplies. For more information, contact your account manager.'."\n", 'type' => 'string', 'required' => false, 'example' => '100Base-T', 'default' => '1000Base-T', 'title' => ''], ], [ 'name' => 'RedundantPhysicalConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the redundant physical connection. The redundant physical connection must be in the **Allocated**, **Confirmed**, or **Enabled** state.'."\n", 'type' => 'string', 'required' => false, 'example' => 'pc-bp10zsv5ntp****', 'title' => ''], ], [ 'name' => 'AutoPay', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable automatic payments. Valid values:'."\n" ."\n" .'* **false** (default): disables automatic payment.'."\n" .'* **true**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '318BB676-0A2B-43A0-9AD8-F1D34E93750F', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '318BB676-0A2B-43A0-9AD8-F1D34E93750F', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'F7A6301A-64BA-41EC-8284-8F4838C15D1F', 'title' => ''], 'OrderId' => ['description' => 'The order ID.'."\n", 'type' => 'string', 'example' => '202844382740728', 'title' => ''], 'PhysicalConnectionId' => ['description' => 'The ID of the Express Connect circuit.'."\n", 'type' => 'string', 'example' => 'pc-2zegmc02v7ss4****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidPrice.NotFound', 'errorMessage' => 'Pricing plan result not found.', 'description' => 'The Price parameter is set to an invalid value.'], ['errorCode' => 'QuotaExceeded.PerAccessPoint', 'errorMessage' => 'Physical connection count per ap quota exceed.', 'description' => ''], ['errorCode' => 'InvalidPhysicalConnectionOperator.Malformed', 'errorMessage' => 'Specified PhysicalConnection Operator is not valid.', 'description' => 'The operation on the Express Connect circuit is invalid.'], ['errorCode' => 'InvalidPhysicalConnectionPortType.Malformed', 'errorMessage' => 'Specified PhysicalConnection PortType is not valid.', 'description' => 'The port type of the Express Connect circuit is invalid.'], ['errorCode' => 'InvalidPortType.NotFound', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidInstance.NotFound', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IncorrectStatus.AccessPoint', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'AccessPoint.NotFound', 'errorMessage' => 'The input access point does not exist or does not have permission to view it.', 'description' => 'The input access point does not exist or does not have permission to view it.'], ], ], 'title' => 'CreatePhysicalConnectionSetupOrder', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], '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":""}]', ], 'CreatePublicIpAddressPool' => [ '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' => 'The line type. Valid values:'."\n" ."\n" .'- **BGP** (default): BGP (multi-ISP) line.'."\n" ."\n" .'- **BGP_PRO**: BGP (multi-ISP) premium line.'."\n" ."\n" .'For more information about BGP (multi-ISP) lines and BGP (multi-ISP) premium lines, see [EIP line types](~~32321~~).'."\n" ."\n" .'- If you are a whitelist user of single-ISP bandwidth, you can also select the following types:'."\n" .' - **ChinaTelecom**: China Telecom'."\n" .' - **ChinaUnicom**: China Unicom'."\n" .' - **ChinaMobile**: China Mobile'."\n" .' - **ChinaTelecom_L2**: China Telecom L2'."\n" .' - **ChinaUnicom_L2**: China Unicom L2'."\n" .' - **ChinaMobile_L2**: China Mobile L2'."\n" .'- If you are a China (Hangzhou) Finance Cloud user, this parameter is required. Set the value to **BGP_FinanceCloud**.', 'type' => 'string', 'required' => false, 'example' => 'BGP', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the IP address pool instance.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'AddressPoolName', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the IP address pool instance.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'AddressPoolDescription', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" .'- **true**: performs a dry run without creating the IP address pool. The system checks the required parameters, request syntax, and business restrictions. If the check fails, the corresponding error is returned. If the check succeeds, the `DryRunOperation` error code is returned.'."\n" .'- **false** (default): performs a dry run and sends the request. If the check succeeds, an HTTP 2xx status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the IP address pool belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4pcdvf****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IP address pool that you want to create.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-chengdu', 'title' => ''], ], [ 'name' => 'BizType', 'in' => 'query', 'schema' => ['description' => 'The business type of the IP address pool. Valid values:'."\n" .'- **CloudBox**: CloudBox. Only CloudBox users can select this type.'."\n" .'- **Default** (default): indicates a non-special type.', 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''], ], [ 'name' => 'Zones', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The zones of the IP address pool.'."\n" .'This parameter is required only when **BizType** is set to **CloudBox**, which indicates that the business type of the IP address pool is CloudBox.', 'type' => 'array', 'items' => ['description' => 'The zones of the IP address pool.'."\n" .'This parameter is required only when **BizType** is set to **CloudBox**, which indicates that the business type of the IP address pool is CloudBox.'."\n" .'Only one zone can be specified.', 'type' => 'string', 'required' => false, 'example' => 'ap-southeast-1-lzdvn-cb', 'title' => ''], 'required' => false, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'description' => 'The tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'SecurityProtectionTypes', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The security protection level.'."\n" ."\n" .'- If this parameter is left empty, DDoS Protection (Basic) is used by default.'."\n" ."\n" .'- If this parameter is set to **AntiDDoS_Enhanced**, DDoS Protection (Enhanced) is used.', 'type' => 'array', 'items' => ['description' => 'The security protection level.'."\n" ."\n" .'- If this parameter is left empty, DDoS Protection (Basic) is used by default.'."\n" ."\n" .'- If this parameter is set to **AntiDDoS_Enhanced**, DDoS Protection (Enhanced) is used.', 'type' => 'string', 'required' => false, 'example' => 'AntiDDoS_Enhanced', 'title' => ''], 'required' => false, 'maxItems' => 100, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response struct.', 'type' => 'object', 'properties' => [ 'PulbicIpAddressPoolId' => ['description' => 'The instance ID of the IPAM pool.', 'type' => 'string', 'deprecated' => true, 'example' => 'pippool-6wetvn6fumkgycssx****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the IP address pool belongs.', 'type' => 'string', 'example' => 'rg-acfmxazb4pcdvf****', 'title' => ''], 'PublicIpAddressPoolId' => ['description' => 'The instance ID of the IPAM pool.', 'type' => 'string', 'example' => 'pippool-6wetvn6fumkgycssx****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.Isp', 'errorMessage' => 'The param of Isp [%s] is illegal.', 'description' => 'The error message returned because the Isp parameter is set to an invalid value. Specify a valid value and try again.'], ['errorCode' => 'IllegalParam.Name', 'errorMessage' => 'The param of Name [%s] is illegal.', 'description' => 'The error message returned because the Name parameter is set to an invalid value. Specify a valid value and try again.'], ['errorCode' => 'IllegalParam.Description', 'errorMessage' => 'The param of Description [%s] is illegal.', 'description' => 'The error message returned because the Description parameter is set to an invalid value. Specify a valid values and try again.'], ['errorCode' => 'Forbidden.CreatePublicIpAddressPool', 'errorMessage' => 'Authentication is failed for creating public ip address pool.', 'description' => 'The error message returned because you cannot create an IP address pool. Check whether you have the relevant permissions.'], ['errorCode' => 'QuotaExceeded.PublicIpAddressPool', 'errorMessage' => 'The quota of PublicIpAddressPool is exceeded.', 'description' => 'The error message returned because the number of your IP address pools has reached the upper limit. Request a quota increase.'], ['errorCode' => 'MissingParam.Zones', 'errorMessage' => 'The Zones parameter is required.', 'description' => 'Zones is required.'], ['errorCode' => 'IllegalParam.Zones', 'errorMessage' => 'The values of Zones [%s] are invalid.', 'description' => 'Zones is set to an invalid value.'], ['errorCode' => 'IllegalParamSize.Zones', 'errorMessage' => 'An invalid number of zones is specified.', 'description' => 'Zones is set to an invalid value.'], ['errorCode' => 'UnsupportedFeature.Isp', 'errorMessage' => 'The feature of Isp is not supported.', 'description' => 'The ISP you specified is not currently supported.'], ['errorCode' => 'OperationDenied.ISPNotSupportDdosEnhanced', 'errorMessage' => 'The operation is not allowed because of DdosEnhanced is not supported by current isp.', 'description' => 'The current ISP does not support the creation of an enhanced security protection address pool.'], ['errorCode' => 'IllegalParam.SecurityProtectionTypes', 'errorMessage' => 'The param of securityProtectionTypes is illegal.', 'description' => 'The passed-in SecurityProtectionTypes parameter is invalid.'], ['errorCode' => 'IncorrectBusinessStatus.PublicIpAddressPool', 'errorMessage' => 'The business status of publicIpAddressPool is incorrect.', 'description' => 'The current service status does not support creating an IP address pool instance.'], ['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.', 'description' => 'You are not authorized to use the requested IP address pool service. Make sure you have subscribed to the service you are trying to use.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Create an IP address pool', 'summary' => 'Creates an IP address pool by calling the CreatePublicIpAddressPool operation.', 'description' => 'The IP address pool feature is not available by default. To use this feature, apply for the **IP address pool feature** privilege quota in Quota Center. For more information, see [Increase a quota in Quota Center](~~108213~~).', 'changeSet' => [ ['createdAt' => '2024-05-27T11:37:27.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-03-04T09:27:27.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-01-22T09:35:54.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2023-12-08T08:53:53.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-08T02:41:57.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2023-07-10T02:02:25.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-01-06T09:40:58.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreatePublicIpAddressPool'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreatePublicIpAddressPool', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PublicIpAddressPool', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:publicipaddresspool/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PulbicIpAddressPoolId\\": \\"pippool-6wetvn6fumkgycssx****\\",\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4pcdvf****\\",\\n \\"PublicIpAddressPoolId\\": \\"pippool-6wetvn6fumkgycssx****\\"\\n}","type":"json"}]', ], 'CreateRouteEntries' => [ 'summary' => 'Adds custom routes in a batch to the route table of a VPC router.', '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' => 'The ID of the region where the route table is located.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the route table is located.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RouteEntries', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of route information.', 'type' => 'array', 'items' => [ 'description' => 'The list of route information.', 'type' => 'object', 'properties' => [ 'DstCidrBlock' => ['description' => 'The destination CIDR block of the custom route. Both IPv4 and IPv6 CIDR blocks are supported. You can specify up to 50 destination CIDR blocks. The destination CIDR blocks must meet the following requirements:'."\n" ."\n" .'- The destination CIDR block cannot point to 100.64.0.0/10 or be a subset of 100.64.0.0/10.'."\n" ."\n" .'- The destination CIDR blocks of different routes in the same route table cannot be the same.', 'type' => 'string', 'required' => true, 'example' => '192.168.0.0/24', 'title' => ''], 'RouteTableId' => ['description' => 'The ID of the route table to which you want to add custom routes. You can specify up to 50 route table IDs.', 'type' => 'string', 'required' => true, 'example' => 'vtb-bp145q7glnuzd****', 'title' => ''], 'IpVersion' => ['description' => 'The IP protocol version. You can specify up to 50 IP protocol versions. Valid values:'."\n" ."\n" .'- **4**: IPv4.'."\n" ."\n" .'- **6**: IPv6.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], 'NextHop' => ['description' => 'The ID of the next hop instance for the custom route. You can specify up to 50 instance IDs.'."\n" ."\n" .'> If you set NextHopType to Ecr, call the [DescribeExpressConnectRouterAssociation](~~2712069~~) operation to obtain the AssociationId and use it as the next hop ID.', 'type' => 'string', 'required' => true, 'example' => 'i-j6c2fp57q8rr4jlu****', 'title' => ''], 'NextHopType' => ['description' => 'The type of the next hop for the custom route. You can specify up to 50 next hop types. Valid values:'."\n" ."\n" .'- **Instance** (default): an ECS instance.'."\n" ."\n" .'- **HaVip**: a high-availability virtual IP address (HAVIP).'."\n" ."\n" .'- **RouterInterface**: a router interface.'."\n" ."\n" .'- **NetworkInterface**: an elastic network interface (ENI).'."\n" ."\n" .'- **VpnGateway**: a VPN Gateway.'."\n" ."\n" .'- **IPv6Gateway**: an IPv6 Gateway.'."\n" ."\n" .'- **NatGateway**: a NAT Gateway.'."\n" ."\n" .'- **Attachment**: a transit router.'."\n" ."\n" .'- **VpcPeer**: a VPC peering connection.'."\n" ."\n" .'- **Ipv4Gateway**: an IPv4 gateway.'."\n" ."\n" .'- **GatewayEndpoint**: a gateway endpoint.'."\n" ."\n" .'- **CenBasic**: CEN does not support transit routers.'."\n" ."\n" .'- **Ecr**: an Express Connect Router (ECR).'."\n" ."\n" .'- **GatewayLoadBalancerEndpoint**: a Gateway Load Balancer endpoint (GWLBe).', 'type' => 'string', 'required' => true, 'example' => 'RouterInterface', 'title' => ''], 'Name' => ['description' => 'The name of the custom route that you want to add. You can specify up to 50 names.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], 'Description' => ['description' => 'The description of the custom route. You can specify up to 50 descriptions.'."\n" ."\n" .'The description must be 1 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 200, 'title' => '', 'example' => '', ], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'**true**: Sends a request to check whether the request is valid. The system checks whether your AccessKey is valid, whether the RAM user is authorized, and whether the required parameters are specified. If the request fails the check, an error message is returned. If the request passes the check, the `DryRunOperation` error code is returned.'."\n" ."\n" .'**false** (default): Sends a normal request. After the request passes the check, a 2xx HTTP status code is returned and the routes are created.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The number of successful tasks.', 'type' => 'object', 'properties' => [ 'SuccessCount' => ['description' => 'The number of custom routes that are successfully added.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'FailedCount' => ['description' => 'The number of custom routes that failed to be added.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], 'FailedRouteEntries' => [ 'description' => 'The details about the custom routes that failed to be added.', 'type' => 'array', 'items' => [ 'description' => 'The details about the custom routes that failed to be added.', 'type' => 'object', 'properties' => [ 'DstCidrBlock' => ['description' => 'The destination CIDR block of the custom route that failed to be added.', 'type' => 'string', 'example' => '192.168.0.0/24', 'title' => ''], 'NextHop' => ['description' => 'The ID of the next hop of the custom route that failed to be added.', 'type' => 'string', 'example' => 'i-j6c2fp57q8rr4jlu****', 'title' => ''], 'FailedCode' => ['description' => 'The error code.', 'type' => 'string', 'example' => 'VPC_ROUTE_ENTRY_CIDR_BLOCK_DUPLICATE', 'title' => ''], 'FailedMessage' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'Specified CIDR block is already exists, entry.cidrBlock=xxxx', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'RouteEntryIds' => [ 'description' => 'The information about the IDs of the custom routes that are successfully added.', 'type' => 'array', 'items' => ['description' => 'The ID of the custom route that is successfully added.', 'type' => 'string', 'example' => 'rte-sn6vjkioxte1gz83z****', 'title' => ''], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The request passed the dry run.'], ['errorCode' => 'InvalidCIDRBlock.Duplicate', 'errorMessage' => 'Specified CIDR block is already exists.', 'description' => ''], ['errorCode' => 'MissingParam.RouteTableId', 'errorMessage' => 'The parameter RouteTableId is missing.', 'description' => ''], ], ], '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' => 'CreateRouteEntries', 'description' => '- **CreateRouteEntries** is an asynchronous operation. After you send a request, the system returns a request ID, but the operation is still being performed in the background. You can call [DescribeRouteEntryList](~~138148~~) to query the status of a route:'."\n" ."\n" .' - If a route is in the **Creating** state, the route is being created.'."\n" ."\n" .' - If a route is in the **Created** state, the route is created.'."\n" ."\n" .'- **CreateRouteEntries** does not support concurrent batch operations to add custom routes to the same VPC.'."\n" ."\n" .'**Note the following when you add custom routes to the route table of a VPC router:**'."\n" ."\n" .'- A route table can contain a maximum of 200 custom routes.'."\n" ."\n" .'- The destination CIDR block (**DstCidrBlock**) of a custom route cannot be the same as, overlap with, or be a subset of the CIDR block of a vSwitch in the VPC.'."\n" ."\n" .'- The destination CIDR block (**DstCidrBlock**) of a custom route cannot be 100.64.0.0/10 or a subset of 100.64.0.0/10.'."\n" ."\n" .'- The destination CIDR blocks (**DstCidrBlock**) of routes in the same route table cannot be the same.'."\n" ."\n" .'- An IP address specified as the destination CIDR block (**DstCidrBlock**) is processed with a 32-bit subnet mask.'."\n" ."\n" .'- Multiple custom routes can point to the same next hop (**NextHop**).'."\n" ."\n" .'- The next hop (**NextHop**) of a custom route must be in the same VPC as the route table.', 'changeSet' => [ ['createdAt' => '2025-05-19T01:45:15.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2025-02-10T06:07:08.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-03-30T06:20:23.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateRouteEntries'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteEntry', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], ], ], 'CreateRouteEntry' => [ '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' => 'The region ID of the route table.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RouteTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the route table to which you want to add a custom route entry.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-bp145q7glnuzd****', 'title' => ''], ], [ 'name' => 'DestinationCidrBlock', 'in' => 'query', 'schema' => ['description' => 'The destination CIDR block of the custom route entry. IPv4 CIDR blocks, IPv6 CIDR blocks, destination CIDR blocks of prefix lists, and instance IDs of prefix lists are supported. The following requirements must be met:'."\n" .' '."\n" .'- The destination CIDR block cannot point to or be contained by 100.64.0.0/10. '."\n" .' '."\n" .'- The destination CIDR blocks of different route entries in the same route table must be unique.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '192.168.0.0/24', 'title' => ''], ], [ 'name' => 'NextHopId', 'in' => 'query', 'schema' => ['description' => 'The ID of the next hop instance of the custom route entry.'."\n" .'> If you set NextHopType to ECR, you can call the [DescribeExpressConnectRouterAssociation](~~2712069~~) operation to obtain the AssociationId as the next hop ID.'."\n" .'> -.', 'type' => 'string', 'required' => false, 'example' => 'i-j6c2fp57q8rr4jlu****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a parameter value from your client. Make sure that the value is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''], ], [ 'name' => 'RouteEntryName', 'in' => 'query', 'schema' => ['description' => 'The name of the custom route entry to add.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the custom route entry.'."\n" ."\n" .'The description must be 1 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'NextHopType', 'in' => 'query', 'schema' => [ 'description' => 'The type of next hop of the custom route entry. Valid values: '."\n" ."\n" .'- **Instance** (default): ECS instance.'."\n" ."\n" .'- **HaVip**: high-availability virtual IP address. '."\n" ."\n" .'- **RouterInterface**: vRouter interface.'."\n" ."\n" .'- **NetworkInterface**: network interface controller (NIC).'."\n" ."\n" .'- **VpnGateway**: VPN gateway.'."\n" ."\n" .'- **IPv6Gateway**: IPv6 gateway.'."\n" ."\n" .'- **NatGateway**: NAT gateway.'."\n" ."\n" .'- **Attachment**: transit router.'."\n" ."\n" .'- **VpcPeer**: VPC peering connection.'."\n" .'- **Ipv4Gateway**: IPv4 gateway.'."\n" .'- **GatewayEndpoint**: gateway endpoint.'."\n" .'- **Ecr**: Express Connect Router (ECR).'."\n" .'- **GatewayLoadBalancerEndpoint**: Gateway Load Balancer endpoint (GWLBe).', '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', ], 'type' => 'string', 'required' => false, 'example' => 'RouterInterface', 'title' => '', ], ], [ 'name' => 'NextHopList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The information about the next hops.', 'type' => 'array', 'items' => [ 'description' => 'The information about the next hops.', 'type' => 'object', 'properties' => [ 'NextHopId' => ['description' => 'The ID of the next hop instance of the ECMP route.', 'type' => 'string', 'required' => false, 'example' => 'ri-2zeo3xzyf3cd8r4****', 'title' => ''], 'Weight' => ['description' => 'The weight of the next hop of the ECMP route.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], 'NextHopType' => ['description' => 'The type of next hop of the ECMP route. Valid value: **RouterInterface** (router interface).', 'type' => 'string', 'required' => false, 'example' => 'RouterInterface', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 16, 'title' => '', 'example' => '', ], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" .'- **true**: performs a dry run. The system checks the required parameters, request format, and business restrictions. If the request fails the dry run, the corresponding error is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'- **false** (default): sends a normal request, passes the dry run, and returns an HTTP 2xx status code. The route is directly created.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The ID of the custom route entry.', 'type' => 'object', 'properties' => [ 'RouteEntryId' => ['description' => 'The ID of the custom route entry.', 'type' => 'string', 'example' => 'rte-sn6vjkioxte1gz83z****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.CidrBlock', 'errorMessage' => 'The specified CidrBlock is illegal.', 'description' => 'The operation failed because CidrBlock is set to an invalid value.'], ['errorCode' => 'QuotaExceeded', 'errorMessage' => 'Route entry quota exceeded in this route table.', 'description' => ''], ['errorCode' => 'MissingParameter', 'errorMessage' => 'Miss mandatory parameter.', 'description' => ''], ['errorCode' => 'InvalidCidrBlock.Malformed', 'errorMessage' => 'Specified CIDR block is not valid.', 'description' => ''], ['errorCode' => 'InvalidCIDRBlock.Duplicate', 'errorMessage' => 'Specified CIDR block is already exists.', 'description' => ''], ['errorCode' => 'IncorrectVpcStatus', 'errorMessage' => 'Current VPC status does not support this operation.', 'description' => ''], ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'Current instance status does not support this operation.', 'description' => ''], ['errorCode' => 'IncorrectRouteEntryStatus', 'errorMessage' => 'Some route entry status blocked this operation.', 'description' => ''], ['errorCode' => 'IncorrectVSwitchStatus', 'errorMessage' => 'The current virtual switch status does not support this operation.', 'description' => 'The error message returned because the vSwitch is in the Pending state and cannot be deleted.'], ['errorCode' => 'InvalidCidrBlock', 'errorMessage' => 'Specified CIDR block is not valid.', 'description' => 'Possible reasons for error reporting:'."\n" .'1. You are not in the whitelist of the 10.0.0.0/8 CIDR block and cannot use this CIDR block.'."\n" .'2. The target CIDR block of the added custom route cannot belong to the CIDR block of all vSwitches under the same VPC.'."\n" .'3. Because 100.64.0.0/10 is a cloud service address, you cannot add this CIDR block to point to the IDC under the cloud.'."\n" .'4. Except for 100.64.0.0/10, the detailed route network segments such as 100.64.0.0/11 and 100.96.0.0/11 cannot be used in the IDC under the cloud.'], ['errorCode' => 'InvalidNextHop.NotFound', 'errorMessage' => 'Specified next hop does not exist.', 'description' => ''], ['errorCode' => 'InvalidVRouter.NotFound', 'errorMessage' => 'vRouter not exists.', 'description' => ''], ['errorCode' => 'InvalidVPC.NotFound', 'errorMessage' => 'vpc not exists.', 'description' => ''], ['errorCode' => 'InvalidNexthopTypeAndList.BothNull', 'errorMessage' => 'both nexthopType and nextHopList are null.', 'description' => ''], ['errorCode' => 'InvalidNexthopTypeAndList.BothNotNull', 'errorMessage' => 'both nexthopType and nextHopList are not null.', 'description' => ''], ['errorCode' => 'InvalidRouterInterface', 'errorMessage' => 'invalid router interface.', 'description' => ''], ['errorCode' => 'InvalidOppositeRouterType', 'errorMessage' => 'nexthop list cannot only contain router interface whose opposite router interface is on vbr.', 'description' => ''], ['errorCode' => 'InvalidNexthopListSize', 'errorMessage' => 'nexthop size is illegal. Must be between 2 and 4.', 'description' => 'You must specify two to four router interfaces as next hops.'], ['errorCode' => 'InvalidEntryRuleQuota.NotFound', 'errorMessage' => 'Route entry quota rule not exists.', 'description' => ''], ['errorCode' => 'Forbidden.CheckEntryRuleQuota', 'errorMessage' => 'Route entry quota rule check error.', 'description' => ''], ['errorCode' => 'InvalidVBRStatus', 'errorMessage' => 'invalid virtual border router status.', 'description' => ''], ['errorCode' => 'InvalidPhysicalConnectionBusinessStatus', 'errorMessage' => 'invalid physical connection business status.', 'description' => ''], ['errorCode' => 'InvalidRouterType', 'errorMessage' => 'Cannot specify nexthop list in vbr\'s route table.', 'description' => 'The specified next hop does not exist in the VBR routing table'], ['errorCode' => 'IncorrectHaVipStatus', 'errorMessage' => 'This operation is denied because satus of the specified HaVip is neither Available nor InUse.', 'description' => 'You cannot perform the operation when the specified HAVIP is in the Available or InUse state.'], ['errorCode' => 'CountLimitExceed.HaVipRouteEntry', 'errorMessage' => 'The count of route entry to HaVip in one route table is exceeded.', 'description' => 'The number of routes that point to the HAVIP in a route table exceeds the upper limit.'], ['errorCode' => 'InvalidRouteEntry.Duplicate', 'errorMessage' => 'The route entry already exist.', 'description' => ''], ['errorCode' => 'InvalidParam', 'errorMessage' => 'The Ecmp routerEntry with router interfaces local vgw vip not match.', 'description' => ''], ['errorCode' => 'INVALID_WEIGHT_PARAM', 'errorMessage' => 'Specified value of weight invalid', 'description' => ''], ['errorCode' => 'FORBIDDEN_USE_VPC_AS_INTERNET_GATEWAY', 'errorMessage' => 'The Specified CIDR must be in vpc CIDR.', 'description' => ''], ['errorCode' => 'InvalidNexthop', 'errorMessage' => 'The Specified nexthop illegal.', 'description' => ''], ['errorCode' => 'INVALID_VPC_ID', 'errorMessage' => 'The Specified VpcId not match.', 'description' => 'The specified VPC does not exist.'], ['errorCode' => 'InvalidRouteEntrySize', 'errorMessage' => 'The Specified routerEntry size not legal.', 'description' => 'You must specify two to four router interfaces as next hops if you want to configure ECMP routing.'], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', 'description' => 'Your requests are too frequent. Try again later.'], ['errorCode' => 'InvalidRouteEntry', 'errorMessage' => 'Specified routeEntry not exist.', 'description' => ''], ['errorCode' => 'InvalidDestinationCidrBlock', 'errorMessage' => 'The specified destinationCidrBlock must not included in black list cidr.', 'description' => ''], ['errorCode' => 'Forbidden.VRouterNotFound', 'errorMessage' => 'Specified virtual switch is not found during access authentication.', 'description' => ''], ['errorCode' => 'DefaultValidate.Error', 'errorMessage' => 'validte fail.', 'description' => ''], ['errorCode' => 'Region.NotSupport', 'errorMessage' => 'The specified region does not currently support nextHopType for networkInterface', 'description' => ''], ['errorCode' => 'OperationFailed.NotifyCenCreate', 'errorMessage' => 'Failed to notify cen when create route entry.', 'description' => ''], ['errorCode' => 'Forbidden.PrivateIpNotFound', 'errorMessage' => 'Private ip address not exist.', 'description' => ''], ['errorCode' => 'OperationUnsupported.InactiveMode', 'errorMessage' => 'Vpc multi scope route only support active standby.', 'description' => ''], ['errorCode' => 'InvalidRouteEntryName.Malformed', 'errorMessage' => 'Specified RouteEntry name is not valid.', 'description' => 'The new name of the route is invalid.'], ['errorCode' => 'IncorrectStatus.MultiScopeRiRouteEntry', 'errorMessage' => 'MultiScope ri status must not in idle.', 'description' => ''], ['errorCode' => 'OperationUnsupported.MoreThanOneVpnOrHavip', 'errorMessage' => 'MultiScope can not support more than one vpn/havip.', 'description' => ''], ['errorCode' => 'OperationUnsupported.EcmpRiTypeOrNumber', 'errorMessage' => 'Emcp entry not supported if vpc-vbr or vbr-vlan ri does not exist.', 'description' => ''], ['errorCode' => 'Duplicated.VpcNextHop', 'errorMessage' => 'Route entry nexthop duplicate.', 'description' => 'Duplicate next hops are specified.'], ['errorCode' => 'OperationUnsupported.SubRouteTableECMP', 'errorMessage' => 'Vpc subRouteTable don\'t support ecmp or multiScope.', 'description' => ''], ['errorCode' => 'InvalidNexthop.NotFound', 'errorMessage' => 'VRouterEntry nexthop does not exist.', 'description' => ''], ['errorCode' => 'IllegalParam.NextHopId', 'errorMessage' => 'Instance not exists or not vpc vm.', 'description' => ''], ['errorCode' => 'QuotaExceeded.HaVipRouteEntry', 'errorMessage' => 'Vpc havip route entry quota exceed.', 'description' => ''], ['errorCode' => 'InvalidNexthop.DirectEni', 'errorMessage' => 'The direct Eni cannot be nexthop.', 'description' => 'An ENI in cut-through mode cannot be specified as a next hop.'], ['errorCode' => 'OperationFailed.InvalidNexthop', 'errorMessage' => 'vpc multi scope route must has a enable nexthop.', 'description' => ''], ['errorCode' => 'OperationFailed.NotifyCenDelete', 'errorMessage' => 'Failed to notify cen when delete route entry.', 'description' => ''], ['errorCode' => 'InvalidNatGateway.NotFound', 'errorMessage' => 'Natgateway not exist.', 'description' => ''], ['errorCode' => 'OperationFailed.CxpRouteExist', 'errorMessage' => 'Cxp route alreay existed.', 'description' => ''], ['errorCode' => 'OperationFailed.GetEniInfo', 'errorMessage' => 'Failed to get networkInterface info.', 'description' => ''], ['errorCode' => 'OperationUnsupported.InvalidRouterInterfaceType', 'errorMessage' => 'Only vpc vbr interface support ecmp route.', 'description' => ''], ['errorCode' => 'InvalidHaVip.NotFound', 'errorMessage' => 'The specified HaVip does not exist in the specified region.', 'description' => ''], ['errorCode' => 'OperationFailed.MultiScopeType', 'errorMessage' => 'The specified nexthop type is not support in multiScope.', 'description' => ''], ['errorCode' => 'OperationFailed.DistibuteLock', 'errorMessage' => 'Distibute lock fail.', 'description' => 'The operation is locked by another request;'], ['errorCode' => 'QuotaExceeded.VpnRouteEntry', 'errorMessage' => 'Vpn route entry quota exceeded.', 'description' => 'The system failed to create the route because the number of routes in the VPN gateway route table has reached the upper limit.'], ['errorCode' => 'InvalidAttachment.NotFound', 'errorMessage' => 'The attachment is not found.', 'description' => 'The specified transit router does not exist.'], ['errorCode' => 'OperationFailed.ActiveNetworkInterfaceNotFound', 'errorMessage' => 'No active network interface is found on the attachment.', 'description' => 'No ENI is available on the specified transit router.'], ['errorCode' => 'InvalidNetworkInterface.NotFound', 'errorMessage' => 'The network interface is not found on the attachment.', 'description' => 'No ENI is associated with the specified transit router.'], ['errorCode' => 'OperationFailed.QueryAttachmentInfo', 'errorMessage' => 'Failed to query attachment information.', 'description' => 'The system fails to query the transit router.'], ['errorCode' => 'IllegalParam.AttachmentId', 'errorMessage' => 'The attachment is invalid.', 'description' => 'The specified transit router is invalid.'], ['errorCode' => 'OperationFailed.NotSupportIPV6', 'errorMessage' => 'The specified next hop does not support IPv6.', 'description' => '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.', 'description' => 'The IPv6 address that is specified as the next hop is being created or being deleted.'], ['errorCode' => 'OperationUnsupported.Ipv6EntryOnPrimaryNetworkInterface', 'errorMessage' => 'You cannot create IPv6 route entries on a primary network interface.', 'description' => 'You cannot create an IPv6 route whose next hop is a primary ENI.'], ['errorCode' => 'OperationUnsupported.SpecifyIpOnIpv6Entry', 'errorMessage' => 'You cannot specify the private IP address when you create IPv6 route entries.', 'description' => 'You cannot specify a private IPv6 address as the destination CIDR block.'], ['errorCode' => 'OperationUnsupported.MutipleIpv6Address', 'errorMessage' => 'You cannot specify a next hop that has bound multiple IPv6 addresses.', 'description' => 'You cannot specify a next hop that is assigned multiple IPv6 addresses.'], ['errorCode' => 'OperationDenied.Ipv6EntryOnCustomTable', 'errorMessage' => 'You cannot create any IPv6 route entry on a custom route table.', 'description' => ''], ['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.', 'description' => ''], ['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.', 'description' => 'The operation is not allowed because the route table is associated with a non-CloudBox vSwitch. You cannot add routes that point to VBRs of the CloudBox instance.'], ['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.', 'description' => 'The operation failed because the route table is associated with the vSwitch of a CloudBox instance. You cannot add routes that point to VBRs of other CloudBox instances.'], ['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.', 'description' => 'The operation failed because the next hop of the added route is a router interface whose peer device is a VBR, and the VBR must not be in the Idle state.'], ['errorCode' => 'OperationDenied.RouterInterfaceToDifferentVpc', 'errorMessage' => 'The operation is not allowed because the router interface is connected to different VPCs.', 'description' => 'The operation failed because the router interfaces point to different VPCs.'], ['errorCode' => 'OperationDenied.RouterInterfaceFromDifferentZones', 'errorMessage' => 'The operation is not allowed because the router interface resides in different zones.', 'description' => ''], ['errorCode' => 'OperationFailed.PconnTrafficNotEnable', 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', 'description' => 'Billing for outbound data transfer is disabled.'], ['errorCode' => 'ResourceNotFound.VpcPeer', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The peer VPC cannot be found.'], ['errorCode' => 'IncorrectStatus.VpcPeer', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The status of %s[%s] is invalid.'], ['errorCode' => 'OperationDenied.RouteTableTypeNotPermitted', 'errorMessage' => 'The operation is not allowed because the type of route table is not permitted.', 'description' => 'You cannot create routes for route tables of the specified type.'], ['errorCode' => 'OperationDenied.GatewayRouteTableNotPermitted', 'errorMessage' => 'The operation is not allowed to create a route pointing to this nextHop type on gateway route table.', 'description' => 'You cannot create routes that point to instances of this type in the gateway route table.'], ['errorCode' => 'UnsupportedFeature.VpcPeerIpv6', 'errorMessage' => 'IPv6 route entries for VPC peering connections cannot be created in this region.', 'description' => 'The error message returned because the peer of the router interface is a VPC and you cannot create a route whose next hop type is IPv6 address in this region.'], ['errorCode' => 'OperationDenied.VpcIpv6NotEnabled', 'errorMessage' => 'IPv6 has not been enabled for the VPC.', 'description' => 'The error message returned because the VPC does not support IPv6 and the operation is denied.'], ['errorCode' => 'IncorrectStatus.Ipv4Gateway', 'errorMessage' => 'The status of Ipv4Gateway is incorrect.', 'description' => ''], ['errorCode' => 'ResourceNotFound.PrefixList', 'errorMessage' => 'The specified resource of prefixList is not found.', 'description' => 'The prefix list does not exist.'], ['errorCode' => 'UnsupportedFeature.CreatePrefixListEcmpRouteEntry', 'errorMessage' => 'The feature of creating ecmp route entry with prefixList is not supported.', 'description' => 'You cannot create ECMP routes by using a prefix list.'], ['errorCode' => 'OperationDenied.RouterInterfaceIpv6NotEnabled', 'errorMessage' => 'Routerinterface does not support IPv6.', 'description' => 'The operation failed because the router interface does not support IPv6.'], ['errorCode' => 'OperationDenied.NextHopTypeNotPermitted', 'errorMessage' => 'The operation is not allowed because the nextHop type is invalid.', 'description' => 'You are not allowed to create a route whose next hop is of this type.'], ['errorCode' => 'ResourceAlreadyAssociated.PrefixList', 'errorMessage' => 'The operation failed because the specified prefixList route entry already exists.', 'description' => 'The operation failed because the prefix list route already exists.'], ['errorCode' => 'OperationFailed.CidrConflictWithPrefixList', 'errorMessage' => 'The specified CIDR block already exists in a prefixList route entry.', 'description' => 'The route conflicts with an existing prefix list route.'], ['errorCode' => 'ResourceNotFound.Ipv4Gateway', 'errorMessage' => 'Specified Ipv4Gateway does not exist.', 'description' => 'The specified IPv4 gateway is not found.'], ['errorCode' => 'Mismatch.HaVipIdAndRouteTableId', 'errorMessage' => 'The HaVip and RouteTable are mismatched.', 'description' => 'The specified HAVIP and route table do not belong to the same VPC.'], ['errorCode' => 'OperationFailed.OperationLocked', 'errorMessage' => 'The operation failed because the nextHop instance is in the O&M lock state.', 'description' => 'The operation failed because the next hop instance is locked for O&M.'], ['errorCode' => 'Mismatch.Ipv4GatewayIdAndRouteTableId', 'errorMessage' => 'The specified IPv4Gateway and RouteTable are not matched.', 'description' => 'The operation failed because the IPv4 gateway and route table do not belong to the same VPC.'], ['errorCode' => 'OperationUnsupported.DestinationCidrBlockOverlapWithVSwitch', 'errorMessage' => 'The destination IPv6 network segment specified in the route entry overlaps with the vSwitch network segment.', 'description' => 'The error message returned because the destination IPv6 CIDR block of the route overlaps with the vSwitch CIDR block.'], ['errorCode' => 'ResourceNotAssociated.Cen', 'errorMessage' => 'The Vpc and Cen are not associated.', 'description' => 'Failed to attach the VPC to the CEN instance.'], ['errorCode' => 'IncorrectStatus.CenRelation', 'errorMessage' => 'The status of Vpc in Cen is incorrect.', 'description' => 'The operation failed because the VPC attached to the CEN instance is in an unstable state.'], ['errorCode' => 'OperationDenied.CenTypeInvalid', 'errorMessage' => 'The operation is not allowed because of Cen type is invalid..', 'description' => 'You cannot add a route that points to a CEN instance of this type to the route table.'], ['errorCode' => 'ResourceNotFound.Cen', 'errorMessage' => 'The specified resource of Cen is not found.', 'description' => 'The operation failed because the CEN resources do not exist.'], ['errorCode' => 'ResourceNotFound.NetworkInterface', 'errorMessage' => 'The specified resource of network interface is not found.', 'description' => 'The specified ENI does not exist.'], ['errorCode' => 'RouteConflict.AlreadyExist', 'errorMessage' => 'Route conflict exists in routing table.', 'description' => 'Route conflicts exist in the route table.'], ['errorCode' => 'IncorrectStatus.RouterInterface', 'errorMessage' => 'The specified RouterInterface status is invalid.', 'description' => 'The router interface status is abnormal.'], ['errorCode' => 'InvalidNexthop.UnsupportedEniBizType', 'errorMessage' => 'The biz type of NetworkInterface is illegal.', 'description' => 'The biz type of NetworkInterface as the nexthop is illegal.'], ['errorCode' => 'OperationDenied.RouterInterfaceIpv6', 'errorMessage' => 'RouterInterface does not support IPv6.', 'description' => 'RouterInterface does not support IPv6.'], ['errorCode' => 'InvalidNextHopType', 'errorMessage' => 'Specified parameter "NextHopType" is not valid.', 'description' => '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.', 'description' => 'The current operation cannot be performed because the VBR is in the process of loading or unloading the leased line gateway. Please wait a moment and try again.'], ['errorCode' => 'ResourceNotAssociated.Ecr', 'errorMessage' => 'The ECR is not associated.', 'description' => 'The current resource is not associated with ECR and cannot perform this operation. Please check and try again.'], ['errorCode' => 'UnsupportedFeature.RouterInterfaceIpv6', 'errorMessage' => 'The feature of ipv6 is not supported for the routerInterface.', 'description' => 'The router interface does not support ipv6'], ['errorCode' => 'InvalidVpnInstanceId.NotFound', 'errorMessage' => 'The specified VPN was not found.', 'description' => ''], ['errorCode' => 'OperationFailed.ScopeActiveRouteEntryType', 'errorMessage' => 'Operation failed because the type of the active route entry is not supported.', 'description' => ''], ['errorCode' => 'OperationFailed.ScopeStandbyRouteEntryQuota', 'errorMessage' => 'Operation failed because the quota for standby route entries in the scope has been exceeded.', 'description' => ''], ['errorCode' => 'OperationFailed.ScopeActiveRouteEntryQuota', 'errorMessage' => 'Operation failed because the quota for active route entries in the scope has been exceeded.', 'description' => ''], ['errorCode' => 'OperationUnsupported.ScopeInvalidRouteType', 'errorMessage' => 'The specified route type is unsupported.', 'description' => ''], ['errorCode' => 'OperationFailed.EcmpInvalidRouterInterfaceOppositeType', 'errorMessage' => 'Operation failed because the opposite type of the router interface is invalid for ECMP configuration.', 'description' => ''], ['errorCode' => 'OperationUnsupported.Ipv6EcmpRouteEntry', 'errorMessage' => 'The EcmpRouteEntry is not supported for IPv6.', 'description' => ''], ['errorCode' => 'OperationUnsupported.Ipv6CidrBlock', 'errorMessage' => 'The specified IPv6 CIDR block is unsupported.', 'description' => ''], ['errorCode' => 'OperationUnsupported.Ipv6ForVBR', 'errorMessage' => 'IPv6 route entry is not supported for VirtualBorderRouter.', 'description' => ''], ['errorCode' => 'IncorrectStatus.RouteTableStatus', 'errorMessage' => 'The status of the specified RouteTable is incorrect.', 'description' => ''], ['errorCode' => 'OperationFailed.InvalidNextHopType', 'errorMessage' => 'Operation failed because Ecmp routeEntry has more than one ri entry and can only support one non-ri entry.', 'description' => 'The system failed to create the route because the next hop of an ECMP route must not be a router interface.'], ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'The feature is not supported in current region.', 'description' => 'The feature is not supported in the current region.'], ['errorCode' => 'UnsupportedFeature.VpcAdvancedFeature', 'errorMessage' => 'The VPC does not support some advanced features.', 'description' => 'The VPC does not support some advanced features. Please submit a ticket.'], ['errorCode' => 'OperationDenied.CreateEcmpForPublishedRouteEntry', 'errorMessage' => 'Operation denied because of can not create EcmpRouteEntry for published RouteEntry.', 'description' => 'The published route does not support the creation of primary and secondary routes or load balancing routes.'], ['errorCode' => 'OperationDenied.TrAttachmentIpv6Disabled', 'errorMessage' => 'The operation is not allowed because tr attachment Ipv6 is disabled.', 'description' => '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.', 'description' => 'The operation is not allowed because eni and route table not in same vpc.'], ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'The Description is illegal.', 'description' => ''], ['errorCode' => 'OperationFailed.InstanceDismatchCurrentVpc', 'errorMessage' => 'The specified instance does not exist in current vpc.', 'description' => ''], ['errorCode' => 'OperationDenied.RouterInterfaceStatusNotAllowed', 'errorMessage' => 'The operation is not allowed because of RouterInterfaceStatusNotAllowed.', 'description' => 'The router interface status is abnormal.'], ['errorCode' => 'OperationFailed.Ipv6AddressNotBind', 'errorMessage' => 'The specified next hop has no IPv6 address.', 'description' => 'The next hop of an ipv6 route entry does not have any ipv6 address'], ['errorCode' => 'OperationUnsupported.MultipleIpv6Address', 'errorMessage' => 'Operation unsupported because specific route next hop instance has multiple IPv6 address.', 'description' => 'The operation is not supported because the specified route next hop instance is bound to multiple IPv6 addresses'], ], 403 => [ ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => ''], ], [ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Instance not exists or not vpc vm', 'description' => ''], ['errorCode' => 'InvalidNatGatewayId.NotFound', 'errorMessage' => 'Specified value of NatGatewayId is not found in our record.', 'description' => ''], ['errorCode' => 'InvalidInstanId.NotFound', 'errorMessage' => 'Specified instance does not exist.', 'description' => ''], ['errorCode' => 'InvalidNextHopId.NotFound', 'errorMessage' => 'Specified next hop does not exist.', 'description' => ''], ['errorCode' => 'InvalidRouteTableId.NotFound', 'errorMessage' => 'Specified route table does not exist.', 'description' => ''], ['errorCode' => 'InvalidHaVipId.NotFound', 'errorMessage' => 'The specified HaVip does not exist in the specified VPC.', 'description' => 'The specified HAVIP does not exist in the VPC.'], ['errorCode' => 'InvalidNetworkInterface.NotFound', 'errorMessage' => 'The specified networkInterface does not exist.', 'description' => ''], ['errorCode' => 'InvalidVpc.NotFound', 'errorMessage' => 'Specified vpc is not found in our record.', 'description' => ''], ['errorCode' => 'InvalidIpv6Gateway.NotFound', 'errorMessage' => 'Specified Ipv6Gateway does not exist.', 'description' => ''], ['errorCode' => 'ResourceNotFound.GatewayLoadBalancerEndpoint', 'errorMessage' => 'GatewayLoadBalancerEndpoint instance not found.', 'description' => 'GatewayLoadBalancerEndpoint instance not found.'], ], 500 => [ ['errorCode' => 'VPC.ERROR', 'errorMessage' => 'error code 500,Internal server error.', 'description' => ''], ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => 'An internal error occurred.'], ['errorCode' => 'IncorrectStatus.Ipv4Gateway', 'errorMessage' => 'The status of Ipv4Gateway is incorrect.', 'description' => 'The error message returned because the IPv4 gateway is unstable.'], ], ], 'title' => 'Create a custom route entry', 'summary' => 'Creates a custom route entry on a vRouter or Virtual Border Router (VBR).', 'description' => '- The **CreateRouteEntry** operation is asynchronous. After you send a request, the system returns an instance ID, but the custom route entry has not been created yet. The system continues to run the node in the background. You can invoke [DescribeRouteEntryList](~~138148~~) to query the status of the route:'."\n" .' - If the route is in the **Creating** state, the route is being created.'."\n" .' - If the route is in the **Created** state, the route is created.'."\n" .'- The **CreateRouteEntry** operation does not support concurrent creation of custom route entries in the same VPC or the same VBR.'."\n" .'- The **CreateRouteEntry** operation may return the **TaskConflict** error code in concurrent scenarios. Retry the operation as needed.'."\n" ."\n" .'**Take note of the following items when you use this operation to add custom route entries to a route table of a vRouter:**'."\n" .'> When the route to be added is a prefix list route, the routing quota is calculated based on the sum of existing routes and the maximum number of entries in the prefix list route. The sum cannot exceed the routing quota.'."\n" .'- A route table can contain up to 200 custom route entries.'."\n" ."\n" .'- The destination CIDR block (**DestinationCidrBlock**) of a custom route entry cannot be the same as a vSwitch CIDR block in the VPC. The destination CIDR block can contain a vSwitch CIDR block but cannot be contained by a vSwitch CIDR block.'."\n" ."\n" .'- The destination CIDR block (**DestinationCidrBlock**) of a custom route entry can be a more specific CIDR block than the cloud service system route CIDR block `100.64.0.0/10`, but cannot be the same as that CIDR block.'."\n" .'The system route with the destination CIDR block `100.64.0.0/10` is used for communication among cloud services within the VPC. Exercise caution when you configure a more specific route. Incorrect configurations may cause cloud services to become inaccessible..'."\n" ."\n" .'- The destination CIDR blocks (**DestinationCidrBlock**) of route entries in the same route table must be unique.'."\n" ."\n" .'- If the specified destination CIDR block (**DestinationCidrBlock**) is an IP address, it is treated as a CIDR block with a 32-bit mask.'."\n" ."\n" .'- Multiple custom route entries can point to the same next hop (**NextHopId**).'."\n" ."\n" .'- The next hop (**NextHopId**) of a custom route entry must be in the same VPC as the route table.'."\n" ."\n" .'- You can configure ECMP routing by using the **NextHopList** parameter settings:'."\n" ."\n" .' * To add a non-ECMP custom route, specify the **DestinationCidrBlock**, **NextHopType**, and **NextHopId** parameters. Do not specify the **NextHopList** parameter. '."\n" .' '."\n" .' * To add an ECMP route, specify the **DestinationCidrBlock** and **NextHopList** parameters. Do not specify the **NextHopType** or **NextHopId** parameter.'."\n" ."\n" .'**Take note of the following items when you use this operation to add custom route entries to a route table of a Virtual Border Router (VBR):**'."\n" ."\n" .'- A route table can contain up to 200 custom route entries. '."\n" .' '."\n" .'- The **NextHopList** parameter is not supported. '."\n" .' '."\n" .'- The destination CIDR block (**DestinationCidrBlock**) of a custom route entry can be a more specific CIDR block than the cloud service system route CIDR block `100.64.0.0/10`, but cannot be the same as that CIDR block.'."\n" .'The system route with the destination CIDR block `100.64.0.0/10` is used for communication among cloud services within the VPC. Exercise caution when you configure a more specific route. Incorrect configurations may cause cloud services to become inaccessible.'."\n" .' '."\n" .'- The destination CIDR blocks (**DestinationCidrBlock**) of route entries in the same route table must be unique. '."\n" .' '."\n" .'- If the specified destination CIDR block (**DestinationCidrBlock**) is an IP address, it is treated as a CIDR block with a 32-bit mask. '."\n" .' '."\n" .'- Multiple custom route entries can point to the same next hop (**NextHopId**). '."\n" .' '."\n" .'- The next hop (**NextHopId**) of a custom route entry must be a vRouter interface associated with the VBR. '."\n" .' '."\n" .'- You can create route entries on a VBR only when the VBR is in the **Active** state, the corresponding Express Connect circuit is in the **Enabled** state, and the circuit is not under overdue payment lock. '."\n" .' '."\n" .'- Only non-ECMP route entries are supported. Specify the **DestinationCidrBlock**, **NextHopType**, and **NextHopId** parameters. Do not specify the **NextHopList** parameter.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-05-19T01:45:16.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2025-01-14T01:32:53.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-12-31T01:51:55.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-09-13T07:10:18.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-09-03T02:21:02.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-08-23T09:38:29.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-08-12T03:08:30.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-06-19T02:32:26.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-06-13T08:13:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-04-02T12:12:58.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-03-25T01:57:23.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-01-04T01:43:50.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-09-25T07:38:52.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-09-01T09:17:10.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-25T10:02:43.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-25T12:18:32.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-21T07:30:19.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-16T01:50:49.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-09T08:58:32.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-07T03:56:30.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-06T11:09:23.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-05-05T08:45:58.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-05-04T02:15:51.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-04-04T03:02:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-07T12:05:31.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2022-12-05T09:33:00.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-07-30T09:21:17.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateRouteEntry'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateRouteEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RouteEntryId\\": \\"rte-sn6vjkioxte1gz83z****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]', ], 'CreateRouteTable' => [ 'summary' => 'Creates a custom route table.', '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' => 'The region ID of the virtual private cloud (VPC) to which the custom route table belongs.'."\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-zhangjiakou', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'allowEmptyValue' => false, 'schema' => ['description' => 'The ID of the VPC to which the custom route table belongs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp1qpo0kug3a20qqe****', 'title' => ''], ], [ 'name' => 'RouteTableName', 'in' => 'query', 'schema' => ['description' => 'The name of the route table.'."\n" ."\n" .'The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'myRouteTable', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the route table.'."\n" ."\n" .'The description must be 1 to 256 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'abc', 'title' => ''], ], [ 'name' => 'AssociateType', 'in' => 'query', 'schema' => ['description' => 'The type of the route table. Valid values:'."\n" ."\n" .'* **VSwitch** (default): vSwitch route table'."\n" .'* **Gateway**: gateway route table'."\n", 'type' => 'string', 'required' => false, 'example' => 'VSwitch', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the virtual private cloud (VPC) to which the custom route table belongs.'."\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-zhangjiakou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** in each API request may be different.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The tags.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value. You can specify at most 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned information.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '62172DD5-6BAC-45DF-8D44-E11ED28DCAC0', 'title' => ''], 'RouteTableId' => ['description' => 'The IDs of the route tables.'."\n", 'type' => 'string', 'example' => 'vtb-bp145q7glnuzdvzu2****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'The feature of ipv4Gateway is not supported in the region.', 'description' => 'IPv4 gateways are not supported in this region.'], ['errorCode' => 'InvalidParameter.RouteTableName.Malformed', 'errorMessage' => 'The specified route table name is not valid.', 'description' => ''], ['errorCode' => 'InvalidParameter.Description.Malformed', 'errorMessage' => 'The specified Description is not valid.', 'description' => ''], ['errorCode' => 'QuotaExceeded.RouteTable', 'errorMessage' => 'VPC RouteTable quota exceeded.', 'description' => 'The quota of VPC route tables is exhausted.'], ['errorCode' => 'IncorrectStatus.cbnStatus', 'errorMessage' => 'Current CBN status does not support this operation.', 'description' => 'The status of the CEN instance is invalid.'], ['errorCode' => 'InvalidVpcId.NotSupport', 'errorMessage' => 'The vpc is not support.', 'description' => ''], ['errorCode' => 'OperationUnsupported.AdvancedFeature', 'errorMessage' => 'Advanced features of the vpc is unsupported.', 'description' => 'This advanced feature is not supported.'], ['errorCode' => 'QuotaExceeded.GatewayRouteTable', 'errorMessage' => 'The quota of Gateway Route Table is exceeded.', 'description' => 'The quota of the gateway route table created for a single VPC has reached the upper limit.'], ['errorCode' => 'MissingParam.vpcId', 'errorMessage' => 'The parameter vpcId is mandatory.', 'description' => 'The vpcId parameter is required.'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'Specified value of RegionId is not supported.', 'description' => ''], ['errorCode' => 'InvalidParameter.Action', 'errorMessage' => 'This vpc feature is not supported in this region', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'Specified VPC does not exist.', 'description' => ''], ], ], 'title' => 'CreateRouteTable', 'description' => '- **CreateRouteTable**接口属于异步接口,即系统会返回一个实例ID,但该自定义路由表尚未创建完成,系统后台的创建任务仍在进行。您可以调用[DescribeRouteTableList](~~87602~~)查询自定义路由表的创建状态:'."\n" .' - 当自定义路由表处于**Creating**状态时,表示自定义路由表创建中。'."\n" .' - 当自定义路由表处于**Available**状态时,表示自定义路由表创建完成。'."\n" .'- **CreateRouteTable**接口不支持在同一个VPC中并发创建自定义路由表。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-05-21T03:26:32.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-10-23T07:38:35.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-05T05:51:46.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-06-16T01:50:49.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-05-22T02:14:30.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-11-02T02:19:49.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateRouteTable', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"62172DD5-6BAC-45DF-8D44-E11ED28DCAC0\\",\\n \\"RouteTableId\\": \\"vtb-bp145q7glnuzdvzu2****\\"\\n}","type":"json"}]', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateRouteTable'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'CreateRouteTargetGroup' => [ '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' => 'The ID of the VPC to which the route target group belongs.', 'type' => 'string', 'required' => true, 'docRequired' => false, 'example' => 'vpc-xxxx', 'title' => ''], ], [ 'name' => 'RouteTargetGroupName', 'in' => 'query', 'schema' => ['description' => 'The name of the route target group.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with http:// or https://.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'myRouteTargetGroupName', 'title' => ''], ], [ 'name' => 'RouteTargetGroupDescription', 'in' => 'query', 'schema' => ['description' => 'The description of the route target group.'."\n" .'The description must be 1 to 256 characters in length and cannot start with http:// or https://.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'myRouteTargetGroupDescription', 'title' => ''], ], [ 'name' => 'RouteTargetMemberList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The member list of the route target group.'."\n" ."\n" .'In active/standby mode, the following limits apply to route target group members:'."\n" ."\n" .'1. The number of route target group members must be 2.'."\n" .'2. The route target group members must be in different zones.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'MemberId' => ['description' => 'The instance ID of the route target group member.', 'type' => 'string', 'required' => true, 'example' => 'ep-xxxx', 'title' => ''], 'MemberType' => ['description' => 'The member type of the route target group.'."\n" ."\n" .'Supported type:'."\n" ."\n" .'- **GatewayLoadBalancerEndpoint**'."\n" ."\n" .'In active/standby mode, all members of the route target group must be of the same type.', 'type' => 'string', 'required' => true, 'example' => 'GatewayLoadBalancerEndpoint', 'title' => ''], 'Weight' => ['description' => 'The weight of the route target group member. Valid values:'."\n" ."\n" .'- **100**: The member is the active instance.'."\n" .'- **0**: The member is the standby instance.'."\n" ."\n" .'The weight can only be set during creation and cannot be modified.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '100', 'title' => ''], ], 'required' => true, 'description' => '', 'title' => '', 'example' => '', ], 'required' => true, 'docRequired' => true, 'maxItems' => 16, 'title' => '', 'example' => '', ], ], [ 'name' => 'ConfigMode', 'in' => 'query', 'schema' => ['description' => 'The configuration mode of the route target group. Valid values:'."\n" ."\n" .'- **Active-Standby**: active/standby mode.', 'type' => 'string', 'required' => true, 'example' => 'Active-Standby', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the route target group. You can call the DescribeRegions operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The resource group ID.'."\n" ."\n" .'For more information about resource groups, see [What is a resource group?](~~2381067~~).', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazffggds****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. 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. If you do not specify this parameter, the system automatically uses the RequestId value as the ClientToken value. The RequestId value is different for each API request.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe6****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'description' => 'The tags of the resource.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '8AA5CE21-2E6A-4530-BDF5-F055849476E6'], 'RouteTargetGroupId' => ['description' => 'The instance ID of the route target group.', 'type' => 'string', 'example' => 'rtg-xxxx', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'UnsupportedFeature.RouteTargetGroup', 'errorMessage' => 'The feature of RouteTargetGroup is not supported.', 'description' => 'The feature of RouteTargetGroup is not supported.'], ['errorCode' => 'Mismatch.GroupVpcIdAndInstanceVpcId', 'errorMessage' => 'The RouteTargetGroup VPC %s and the RouteTargetConfig VPC %s are mismatched.', 'description' => 'The VPC to which the route target group belongs is different from the VPC to which the route target configuration instance belongs.'], ['errorCode' => 'OperationDenied.MemberWithSameAz', 'errorMessage' => 'The operation is not allowed because of all members being in the same availability zone.', 'description' => '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.', 'description' => ''], ['errorCode' => 'ResourceNotFound.GatewayLoadBalancerEndpoint', 'errorMessage' => 'GatewayLoadBalancerEndpoint instance %s not found.', 'description' => ''], ['errorCode' => 'QuotaExceeded.RouteTargetGroup', 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', 'description' => 'The quota of %s is exceeded, usage %s/%s.'], ['errorCode' => 'OperationDenied.NatGatewayNotSingleAZ', 'errorMessage' => 'NAT gateway must be in SingleAZ mode.', 'description' => 'A route target group only supports NAT gateways of a single AZ type.'], ['errorCode' => 'OperationDenied.NatGatewayIcmpReplyDisabled', 'errorMessage' => 'NAT gateway ICMP reply is disabled.', 'description' => 'The NAT gateway in the route target group must enable the ICMP return function to ensure that ICMP detection packets can be responded to normally.'], ['errorCode' => 'UnsupportedFeature.RouteTargetGroupForNat', 'errorMessage' => 'This region currently does not support NAT gateways as route target group members.', 'description' => 'The region does not support the NAT Gateway as a member of the route target group.'], ['errorCode' => 'ResourceNotFound.NatGatewayVSwitch', 'errorMessage' => 'The VSwitch information associated with the selected NAT gateway was not found.', 'description' => 'VSwitch information associated with the selected NAT gateway was not found.'], ['errorCode' => 'ResourceNotFound.NatGateway', 'errorMessage' => 'The selected NAT gateway was not found when creating or modifying the route target group.', 'description' => 'The selected NAT gateway resource is not discovered when creating or modifying the routing target group.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Create a route target group', 'summary' => 'Creates a route target group instance.', 'description' => '- **CreateRouteTargetGroup** is an asynchronous operation. After you invoke this operation, the system returns an instance ID, but the route target group instance is not yet created. The creation node continues in the background. You can invoke **ListRouteTargetGroup** to query the creation status of the routing target group:'."\n" .' - If the routing target group is in the **Pending** state, the routing target group is being created.'."\n" .' - If the routing target group is in the **Available**, **Unavailable**, **Switched**, or **Abnormal** state, the routing target group is created.'."\n" ."\n" .'- **Active/standby pattern**: When you create a routing target group, configure primary and secondary instances that are in different zones and of the same type.'."\n" ."\n" .'- **Primary instance**: The weight is 100. The primary instance handles all traffic under normal conditions and takes effect when health checks are successful.'."\n" ."\n" .'- **Secondary instance**: The weight is 0. The secondary instance takes over traffic when the primary instance fails and serves as disaster recovery and backup.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateRouteTargetGroup'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateRouteTargetGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTargetGroup', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetargetgroup/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8AA5CE21-2E6A-4530-BDF5-F055849476E6\\",\\n \\"RouteTargetGroupId\\": \\"rtg-xxxx\\"\\n}","type":"json"}]', ], 'CreateRouterInterface' => [ 'summary' => 'Creates a router interface.', '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' => 'The ID of the region to which the router interface belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Role', 'in' => 'query', 'schema' => ['description' => 'The role of the router interface. Valid values:'."\n" ."\n" .'* **InitiatingSide**: requester'."\n" .'* **AcceptingSide**: acceptor'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'InitiatingSide', 'title' => ''], ], [ 'name' => 'OppositeRegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region in which the acceptor is deployed.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'Spec', 'in' => 'query', 'schema' => ['description' => 'The specification of the router interface and the corresponding bandwidth. Valid values:'."\n" ."\n" .'* **Mini.2**: 2 Mbit/s'."\n" .'* **Mini.5**: 5 Mbit/s'."\n" .'* **Small.1**: 10 Mbit/s'."\n" .'* **Small.2**: 20 Mbit/s'."\n" .'* **Small.5**: 50 Mbit/s'."\n" .'* **Middle.1**: 100 Mbit/s'."\n" .'* **Middle.2**: 200 Mbit/s'."\n" .'* **Middle.5**: 500 Mbit/s'."\n" .'* **Large.1**: 1,000 Mbit/s'."\n" .'* **Large.2**: 2,000 Mbit/s'."\n" .'* **Large.5**: 5,000 Mbit/s'."\n" .'* **Xlarge.1**: 10,000 Mbit/s'."\n" ."\n" .'> If **Role** is set to **AcceptingSide**, set **Spec** to **Negative**. This indicates that you do not need to specify the specification when you create an acceptor router interface.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Mini.2', 'title' => ''], ], [ 'name' => 'RouterType', 'in' => 'query', 'schema' => ['description' => 'The type of router that is associated with the router interface. Valid values:'."\n" ."\n" .'* **VRouter**'."\n" .'* **VBR**'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'VRouter', 'title' => ''], ], [ 'name' => 'RouterId', 'in' => 'query', 'schema' => ['description' => 'The ID of the router that is associated with the router interface.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vbr-m5ebm6g9ptc9mly1c****', 'title' => ''], ], [ 'name' => 'OppositeInterfaceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the peer router interface.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ri-2zeo3xzyf38r4urzd****', 'title' => ''], ], [ 'name' => 'OppositeRouterId', 'in' => 'query', 'schema' => ['description' => 'The ID of the peer router.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vrt-bp1lhl0taikrteen8****', 'title' => ''], ], [ 'name' => 'OppositeRouterType', 'in' => 'query', 'schema' => ['description' => 'The type of router that is associated with the peer router interface. Valid values:'."\n" ."\n" .'* **VRouter**'."\n" .'* **VBR**'."\n", 'type' => 'string', 'required' => false, 'example' => 'VRouter', 'default' => 'VRouter', 'title' => ''], ], [ 'name' => 'OppositeInterfaceOwnerId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the peer router interface belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => '253460731706911258', 'title' => ''], ], [ 'name' => 'HealthCheckSourceIp', 'in' => 'query', 'schema' => ['description' => 'The source IP address that is used to perform health checks. The source IP address must be an idle IP address of the local virtual private cloud (VPC).'."\n" ."\n" .'> You can set this parameter when an Express Connect circuit is used.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.0.6', 'title' => ''], ], [ 'name' => 'HealthCheckTargetIp', 'in' => 'query', 'schema' => ['description' => 'The destination IP address that is used to perform health checks.'."\n" ."\n" .'> This parameter is required if you specify **HealthCheckSourceIp**'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.0.8', 'title' => ''], ], [ 'name' => 'AccessPointId', 'in' => 'query', 'schema' => ['description' => 'The ID of the access point to which the VBR belongs.'."\n" ."\n" .'You can call the [DescribeAccessPoints](~~36062~~) operation to obtain the IDs of access points.'."\n" ."\n" .'> This parameter is required if the VBR is connected to an Express Connect circuit.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ap-cn-hangzhou-yh-ts-A', 'title' => ''], ], [ 'name' => 'OppositeAccessPointId', 'in' => 'query', 'schema' => ['description' => 'The ID of the access point to which the peer belongs.'."\n" ."\n" .'> This parameter is required if the peer router interface is associated with a VBR. The specified value cannot be changed after the router interface is created.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ap-cn-shanghai-nt-aligroup-C', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the router interface.'."\n" ."\n" .'The description must be 2 to 256 characters in length. It must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'abcabc', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the router interface.'."\n" ."\n" .'The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-).'."\n", 'type' => 'string', 'required' => false, 'example' => 'abc', 'title' => ''], ], [ 'name' => 'Period', 'in' => 'query', 'schema' => ['description' => 'The subscription duration. Valid values:'."\n" ."\n" .'* Valid values when PricingCycle is set to Month: **1 to 9**.'."\n" .'* Valid values when PricingCycle is set to Year: **1 to 3**.'."\n" ."\n" .'> This parameter is required if **InstanceChargeType** is set to **PrePaid**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], ], [ 'name' => 'InstanceChargeType', 'in' => 'query', 'schema' => ['description' => 'The billing method of the router interface. Valid values:'."\n" ."\n" .'* **PrePaid**: subscription'."\n" .'* **PostPaid**: pay-as-you-go'."\n", 'type' => 'string', 'required' => false, 'example' => 'PrePaid', 'title' => ''], ], [ 'name' => 'AutoPay', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable automatic payment. Valid values:'."\n" ."\n" .'* **false** (default): The automatic payment is disabled. If you select this option, you must go to the Order Center to complete the payment after an order is generated.'."\n" .'* **true**: The automatic payment is enabled. Payments are automatically complete after an order is generated.'."\n" ."\n" .'> This parameter is required if **InstanceChargeType** is set to **PrePaid**.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'PricingCycle', 'in' => 'query', 'schema' => ['description' => 'The billing cycle of the subscription. Valid values:'."\n" ."\n" .'* **Month** (default)'."\n" .'* **Year**'."\n" ."\n" .'> This parameter is required if **InstanceChargeType** is set to **PrePaid**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Month', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'FastLinkMode', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'Specifies whether the VBR that is created in the Fast Link mode is uplinked to the router interface. The Fast Link mode helps automatically connect router interfaces that are created for the VBR and its peer VPC. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n" ."\n" .'> '."\n" ."\n" .'* This parameter takes effect only if **RouterType** is set to **VBR** and **OppositeRouterType** is set to **VRouter**.'."\n" ."\n" .'* If **FastLinkMode** is set to **true**, **Role** must be set to **InitiatingSide**. In this case, **AccessPointId**, **OppositeRouterType**, **OpppsiteRouterId**, and **OppositeInterfaceOwnerId** are required.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''], ], [ 'name' => 'AutoRenew', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable auto-renewal. Valid values:'."\n" ."\n" .'* **false** (default)'."\n" .'* **true**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group.'."\n" ."\n" .'For more information about resource group, see [What is Resource Management?](~~94475~~)'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag to add to the resource.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key to add to the resource. You must enter at least one tag key. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'A tag key can be at most 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value to add to the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '079874CD-AEC1-43E6-AC03-ADD96B6E4907', 'title' => ''], 'OrderId' => ['description' => 'The order number. This parameter is returned if InstanceChargeType is set to PrePaid.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '20210101123456', 'title' => ''], 'RouterInterfaceId' => ['description' => 'The ID of the router interface.'."\n", 'type' => 'string', 'example' => 'ri-2ze7fbuohm****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidPrice.NotFound', 'errorMessage' => 'Pricing plan result not found.', 'description' => 'The Price parameter is set to an invalid value.'], ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid Aliuid.', 'description' => 'The Aliuid parameter is set to an invalid value.'], ['errorCode' => 'InvalidRole.ValueNotSupported', 'errorMessage' => 'The specified Role is not valid.', 'description' => ''], ['errorCode' => 'InvalidSpec.ValudNotSupported', 'errorMessage' => 'The specified Spec is not supported.', 'description' => ''], ['errorCode' => 'InvalidRouterType.ValueNotSupported', 'errorMessage' => 'The specified RouterType is not valid.', 'description' => ''], ['errorCode' => 'InvalidName.Malformed', 'errorMessage' => 'The specified "Name" is not valid.', 'description' => ''], ['errorCode' => 'Forbidden.BillsOutstanding', 'errorMessage' => 'You cannot create more RouterInterface because you have bills outstanding.', 'description' => ''], ['errorCode' => 'LimitationExceed.InterfaceNumberOnRouter', 'errorMessage' => 'Total number of RouterInterfaces on a Router exceeded.', 'description' => ''], ['errorCode' => 'Forbidden.NotInRouterInterfaceCreateWhitelist', 'errorMessage' => 'Not in router interface create whitelist.', 'description' => ''], ['errorCode' => 'RI_CREATE_ONE_LIMIT_BY_SYNC', 'errorMessage' => 'Create ri only one limit by sync.', 'description' => ''], ['errorCode' => 'InvalidAccessPoint.ValueNotAllowed', 'errorMessage' => 'The non-vbr router interface cannot have access point configured.', 'description' => ''], ['errorCode' => 'InvalidParam.NotFound', 'errorMessage' => 'Parameter must not be null,uid, bid,regionNo, remoteRegionNo, routerId or accessPointId', 'description' => 'The parameter value cannot be null.'], ['errorCode' => 'InvalidAccessPoint.NotMatch', 'errorMessage' => 'The accessPoint id is not matched', 'description' => ''], ['errorCode' => 'InvalidAccessPoint.NotExist', 'errorMessage' => 'The accessPoint not exit', 'description' => ''], ['errorCode' => 'INVAID_VBR_STATUS', 'errorMessage' => 'VBR status must be active', 'description' => ''], ['errorCode' => 'IncorrectStatus.CenStatus', 'errorMessage' => 'Cen status must not be middle status.', 'description' => 'Check the status of the CEN instance.'], ['errorCode' => 'Forbidden.AcceptRoleNotSupportPrePay', 'errorMessage' => 'Acception side ri not support chargetype for prepaid.', 'description' => 'The subscription billing method is not supported.'], ['errorCode' => 'InvalidRouterInterfaceSpec.Malformed', 'errorMessage' => 'Specified RouterInterface spec is not valid.', 'description' => 'The RouterInterface Spec parameter is set to an invalid value.'], ['errorCode' => 'VpcSubnet.NotFound', 'errorMessage' => 'Vpc subnet not exist.', 'description' => 'The VPC subnet does not exist.'], ['errorCode' => 'IllegalParam.HealthcheckIp', 'errorMessage' => 'Healthcheck ip cannot equal with instance ip.', 'description' => 'The IP address configured for health checks cannot be the same as the IP address of the instance.'], ['errorCode' => 'OperationFailed.HcForInvalidRiType', 'errorMessage' => 'Healthchecksourceip and healthchecktargetip is only valid for vr ri that is connected to vbr.', 'description' => 'The IP address configured for health checks is invalid.'], ['errorCode' => 'OperationFailed.SyncOrderToSub', 'errorMessage' => 'SyncOrderToSub error.', 'description' => 'The operation failed.'], ['errorCode' => 'IllegalParam.CrossBorderBandwidth', 'errorMessage' => 'CrossBorder bandwidth error.', 'description' => 'The inter-region bandwidth plan is invalid.'], ['errorCode' => 'IllegalParam.VRouterType', 'errorMessage' => 'The VRouterType is not supported.', 'description' => 'The VRouterType parameter is set to an invalid value.'], ['errorCode' => 'IllegalParam.Spec', 'errorMessage' => 'The spec is illegal.', 'description' => 'The spec parameter is set to an invalid value.'], ['errorCode' => 'Forbidden.CrossBorder', 'errorMessage' => 'User not authorized to create cross border routerInterface.', 'description' => 'You do not have the permissions to create a cross-border router interface.'], ['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.', 'description' => 'The RouterId parameter is set to an invalid value.'], ['errorCode' => 'InvalidCommodity.NotFound', 'errorMessage' => 'Commodity is not exist.', 'description' => 'The Commodity parameter is set to an invalid value.'], ['errorCode' => 'InvalidRouterInterfaceChargeType.Malformed', 'errorMessage' => 'Specified RouterInterface ChargeType is not valid.', 'description' => 'The RouterInterface ChargeType parameter is set to an invalid value.'], ['errorCode' => 'IllegalParam.RegionId', 'errorMessage' => 'The specified regionId is illegal.', 'description' => 'The regionId parameter is set to an invalid value.'], ['errorCode' => 'PAY.MAYI_WITHHOLDING_AGREEMENT_ILLEGAL', 'errorMessage' => 'User withhoding argeement is illegal.', 'description' => ''], ['errorCode' => 'QuotaExceeded', 'errorMessage' => 'RiPerUser quota exceeded', 'description' => ''], ['errorCode' => 'OperationFailed.PconnTrafficNotEnable', 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', 'description' => 'Billing for outbound data transfer is disabled.'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The regionId provided does not exist in ec region list.', 'description' => ''], ['errorCode' => 'ResourceNotInResourceGroup', 'errorMessage' => 'The specified resource is not in the specified ResourceGroup.', 'description' => 'The specified resource does not belong to the resource group.'], ['errorCode' => 'HaveConnectionBetweenRouters', 'errorMessage' => 'Have connection between routers', 'description' => 'A connection is established between the two routers.'], ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'The specified "Description" is not valid.', 'description' => 'The description can be 2 to 256 characters in length and cannot start with http:// and https.'], ['errorCode' => 'InvalidBandwidth.NotEnough', 'errorMessage' => 'Bandwidth not enough.', 'description' => 'The bandwidth plan has insufficient bandwidth.'], ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'The user does not support this action.', 'description' => 'You do not have the required permissions.'], ['errorCode' => 'OperationFailed.NotSupportIPv6', 'errorMessage' => 'Router interface not support IPv6.', 'description' => 'The router interface does not support IPv6.'], ['errorCode' => 'InvalidParam.AvailableZoneId', 'errorMessage' => 'The specified AvailableZoneId did not retrieve the corresponding cluster IP address.', 'description' => 'The specified AvailableZoneId does not obtain 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.', 'description' => 'Your account balance is negative. Top up your account before you can make a purchase.'], ['errorCode' => 'OperationFailed.OperationLocked', 'errorMessage' => 'Operation failed because OperationLocked.', 'description' => 'The operation failed because the instance is locked due to O&M.'], ['errorCode' => 'OperationFailed.InvalidEcGrant', 'errorMessage' => 'The VBR have no grant to create EC.', 'description' => 'The VBR instance is not grant by the VPC instance. Please try again after grant.'], ['errorCode' => 'OperationFailed.CannotConnectOtherOwnerInstance', 'errorMessage' => 'Can not connect with other owner VPC or CEN.', 'description' => 'Failed to bind the current resource to another account\'s VPC or CEN. Check whether you have the relevant permissions and try again.'], ['errorCode' => 'InvalidParams.NotNull', 'errorMessage' => 'params must not null.', 'description' => 'The parameter is required.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The regionId provided does not exist in our records.', 'description' => 'The RegionId parameter is set to an invalid value. Specify a valid value and try again.'], ['errorCode' => 'InvalidRouterId.NotFound', 'errorMessage' => 'The specified RouterId does not exist in our recored.', 'description' => ''], ['errorCode' => 'InvalidRouterId.AttacedToCEN', 'errorMessage' => 'Can not create ri when attaced to CEN.', 'description' => 'You cannot attach the router interface to the CEN instance.'], ], ], 'title' => 'CreateRouterInterface', 'description' => 'When you call this operation, take note of the following limits:'."\n" ."\n" .'* You can create only one pair of interfaces to be connected between two routers.'."\n" .'* You can create a maximum of five router interfaces for a router.'."\n" .'* If your Alibaba Cloud account has a router interface with overdue payments, you cannot create new router interfaces.'."\n" .'* Each destination CIDR block of route entries in the same route table must be unique.'."\n" .'* A virtual border router (VBR) can serve only as a requester. The VBR must be in the Activated state.'."\n" .'* You can call this operation to create subscription and pay-as-you-go router interfaces.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-03-19T10:32:29.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-06-28T02:56:12.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-05-08T02:53:52.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-04-17T09:28:16.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-12-22T03:57:04.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-12-21T05:47:23.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-09-11T08:51:34.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-20T11:21:55.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2023-05-18T06:22:07.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2022-12-05T07:58:08.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2022-09-14T08:06:40.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-09-14T08:06:40.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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 202008594930117\\n ri-2ze7fbuohm****\\n","errorExample":""}]', ], 'CreateSnatEntry' => [ 'summary' => 'Adds an SNAT entry to an SNAT table.', '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' => 'The region ID of the NAT gateway.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n" ."\n" .'Valid values:'."\n" ."\n" .'* ap-northeast-2-pop'."\n" ."\n" .' '."\n" ."\n" .' :'."\n" ."\n" .' '."\n" ."\n" .' ap-northeast-2-pop'."\n" ."\n" .' '."\n" ."\n" .' .'."\n", 'enumValueTitles' => ['ap-northeast-2-pop' => 'ap-northeast-2-pop'], 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => '', ], ], [ 'name' => 'SnatTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the SNAT table.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'stb-bp190wu8io1vgev****', 'title' => ''], ], [ 'name' => 'SourceVSwitchId', 'in' => 'query', 'schema' => ['description' => 'The ID of the vSwitch.'."\n" ."\n" .'* When you add an SNAT entry to an Internet NAT gateway, this parameter specifies that ECS instances in the vSwitch can use the SNAT entry to access the Internet. If you select multiple elastic IP addresses (EIPs) to create an SNAT address pool, connections are hashed to these EIPs. Network traffic may not be evenly distributed to the EIPs because the amount of traffic that passes through each connection varies. We recommend that you associate these EIPs with the same EIP bandwidth plan to prevent service interruptions due to the bandwidth limits on individual EIPs.'."\n" .'* When you add an SNAT entry to a VPC NAT gateway, this parameter specifies that ECS instances in the vSwitch can use the SNAT entry to access external networks.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1nhx2s9ui5o****', 'title' => ''], ], [ 'name' => 'SourceCIDR', 'in' => 'query', 'schema' => ['description' => 'You can specify the CIDR block of a VPC, a vSwitch, or an ECS instance or enter a custom CIDR block.'."\n" ."\n" .'You can specify an SNAT entry in the following ways:'."\n" ."\n" .'* You can specify the CIDR block of the VPC where the NAT gateway is deployed. Then, all ECS instances in the VPC can access the Internet or external networks by using SNAT.'."\n" .'* You can specify the CIDR block of a vSwitch, for example, 192.168.1.0/24. Then, the ECS instances in the vSwitch can access the Internet or external networks by using SNAT.'."\n" .'* You can specify the IP address of an ECS instance, for example, 192.168.1.1/32. Then, the ECS instance can access the Internet or external networks by using SNAT.'."\n" .'* You can specify a custom CIDR block. Then, all ECS instances within the specified CIDR block can access the Internet or external networks by using SNAT.'."\n" ."\n" .'When you add an SNAT entry to an Internet NAT gateway, if **SnatIp** is set to an EIP, the ECS instance uses the specified EIP to access the Internet.'."\n" ."\n" .'If **SnatIp** is set to multiple EIPs, the ECS instance randomly selects an EIP specified in the **SnatIp** parameter to access the Internet.'."\n" ."\n" .'You cannot specify this parameter and **SourceVSwtichId** at the same time. If **SourceVSwitchId** is specified, you cannot specify **SourceCIDR**. If **SourceCIDR** is specified, you cannot specify **SourceVSwitchId**.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.1.1.0/24', 'title' => ''], ], [ 'name' => 'SnatIp', 'in' => 'query', 'schema' => ['description' => '* The EIPs in the SNAT entry when you add an SNAT entry to an Internet NAT gateway. Separate EIPs with commas (,).'."\n" ."\n" .'> If you specify multiple EIPs in the SNAT IP address pool, the service connection is allocated to multiple EIPs by using the hashing algorithm. The traffic of each EIP may be different. Therefore, we recommend that you associate the EIPs with an Internet Shared Bandwidth instance to prevent service interruptions caused by bandwidth exhaustion.'."\n" ."\n" .'* When you add SNAT entries for a VPC NAT gateway, this parameter specifies the NAT IP addresses in the SNAT entry. Separate multiple NAT IP addresses with commas (,).'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '47.98.XX.XX', 'title' => ''], ], [ 'name' => 'SnatEntryName', 'in' => 'query', 'schema' => ['description' => 'The name of the SNAT entry.'."\n" ."\n" .'The name must be 2 to 128 characters in length. It must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SnatEntry-1', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The `client token` can contain only ASCII characters.'."\n" ."\n" .'**'."\n" ."\n" .'**Description** 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****', 'title' => ''], ], [ 'name' => 'EipAffinity', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'Specifies whether to enable EIP affinity. Valid values:'."\n" ."\n" .'* **0**: no'."\n" .'* **1**: yes'."\n" ."\n" .'**'."\n" ."\n" .'**Description** After you enable EIP affinity, if multiple EIPs are associated with an SNAT entry, each client uses one EIP to access the Internet. If EIP affinity is disabled, each client uses a random EIP to access the Internet.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'NetworkInterfaceId', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'Elastic Network Interface ID. '."\n" .'> The IPv4 address set of the elastic network interface will be used as the SNAT address.', 'type' => 'string', 'required' => false, 'example' => 'eni-gw8g131ef2dnbu3k****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'allowEmptyValue' => false, 'schema' => ['description' => 'Indicates whether to only precheck this request. Values:'."\n" .'- **true**: Sends a precheck request and does not create an SNAT entry. The precheck includes verifying if the AccessKey is valid, checking the RAM user\'s authorization, and ensuring that all required parameters are filled out. If the precheck fails, the corresponding error is returned. If the precheck passes, the error code `DryRunOperation` is returned.'."\n" .'- **false** (default): Sends a normal request. After passing the precheck, it returns a 2xx HTTP status code and creates an SNAT entry.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The ID of the SNAT entry.'."\n", 'type' => 'object', 'properties' => [ 'SnatEntryId' => ['description' => 'The ID of the SNAT entry.'."\n", 'type' => 'string', 'example' => 'snat-kmd6nv8fy****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '2315DEB7-5E92-423A-91F7-4C1EC9AD****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'UnsupportedFeature.PrivateLinkEnabled', 'errorMessage' => 'The feature of PrivateLinkEnabled is not supported.', 'description' => ''], ['errorCode' => 'InvalidSourceCIDR.Malformed', 'errorMessage' => 'SourceCIDR is illegal.', 'description' => ''], ['errorCode' => 'NOT_ALLOW_USE_SOURCECIDR_OUTSIDEVPC', 'errorMessage' => 'The User not in sourcecidr_unlimited_outsidevpc white list. Cannot use SourceCidr outside VpcCidr.', 'description' => ''], ['errorCode' => 'NOT_ALLOW_USE_SOURCECIDR_AUTODEFINE', 'errorMessage' => 'The User not in sourcecidr_unlimited_insidevpc white list. Cannot use SourceCidr auto defined.', 'description' => ''], ['errorCode' => 'NOT_ALLOW_USE_SOURCECIDR_CONTAINSZERO', 'errorMessage' => 'The User not in sourcecidr_unlimited_outsidevpc_containszero white list. Cannot use SourceCidr outside VpcCidr.', 'description' => ''], ['errorCode' => 'Forbidden.IpHasBeenUsedInDnat', 'errorMessage' => 'The snat ip can\'t be used. Because it has been used in dnat', 'description' => ''], ['errorCode' => 'Forbidden.SourceVSwitchId.IncludeHaVip', 'errorMessage' => 'There is some HaVips under specified VSwitch', 'description' => 'The specified vSwitch is associated with HAVIPs.'], ['errorCode' => 'InvalidSnatIp.Malformed', 'errorMessage' => 'The specified SnatIp is not a valid IP address.', 'description' => ''], ['errorCode' => 'SNAT_IP_POOL_COUNT_TOO_MANY', 'errorMessage' => 'The Snat pool ip too many.', 'description' => ''], ['errorCode' => 'Forbidden.SnatEntryCountLimited', 'errorMessage' => 'SNAT entry in the specified SNAT table reach its limit.', 'description' => 'The number of SNAT entries has reached the upper limit.'], ['errorCode' => 'NOT_ALLOW_USE_SOURCECIDR', 'errorMessage' => 'The User not in nat_scope_unlimited white list. Cannot use SourceCidr param.', 'description' => ''], ['errorCode' => 'INVALID_PARAMETER', 'errorMessage' => 'The parameter invalid.', 'description' => ''], ['errorCode' => 'Forbidden.SourceVSwitchId.Duplicated', 'errorMessage' => 'The specified SourceCIDRis duplicated.', 'description' => ''], ['errorCode' => 'Forbidden.IpUsedInForwardTable', 'errorMessage' => 'The specified SnatIp already used in forward table', 'description' => ''], ['errorCode' => 'Forbindden', 'errorMessage' => 'The specified Instance already bind eip', 'description' => ''], ['errorCode' => 'EIP_NOT_SUPPORT_SNAT_POOL', 'errorMessage' => 'The Eip cannot support snat pool', 'description' => ''], ['errorCode' => 'EIP_NOT_IN_GATEWAY', 'errorMessage' => 'The Eip not in nat gateway', 'description' => ''], ['errorCode' => 'OperationUnsupported.CidrConflict', 'errorMessage' => 'The specified CIDR block conflicts with an existing SNAT entry.', 'description' => 'The specified CIDR block conflicts with those in existing SNAT entries.'], ['errorCode' => 'InvalidNatGatewayId.NotFound', 'errorMessage' => 'The NatGateway instance not exist.', 'description' => ''], ['errorCode' => 'InvalidParameter.Name.Malformed', 'errorMessage' => 'The specified Name is not valid.', 'description' => ''], ['errorCode' => 'InvalidParameter.SnatIp', 'errorMessage' => 'Ip semgment must be subnet cidr.', 'description' => ''], ['errorCode' => 'QuotaExceeded.SnatIp', 'errorMessage' => 'Public ip number exceeds quota.', 'description' => ''], ['errorCode' => 'OperationUnsupported.EipInBinding', 'errorMessage' => 'Create snat entry with eip in associating status is unsupported.', 'description' => 'You cannot use an associated EIP when you create an SNAT entry.'], ['errorCode' => 'OperationFailed.VSwitchNotInVpc', 'errorMessage' => 'The specified vswitch and natgateway are not in the same vpc.', 'description' => ''], ['errorCode' => 'QuotaExceeded.SnatEntry', 'errorMessage' => 'SNAT entry in the specified SNAT table reach it?s limit.', 'description' => ''], ['errorCode' => 'IncorrectStatus.NATGW', 'errorMessage' => 'NATGW status is invalid.', 'description' => 'The NAT gateway is in an invalid state.'], ['errorCode' => 'IncorrectStatus.VSwitch', 'errorMessage' => 'The specified vSwitch status is invalid.', 'description' => 'The virtual switch status is abnormal.'], ['errorCode' => 'MissingParam.SnatIp', 'errorMessage' => 'The input parameter SnatIp that is mandatory for processing this request is not supplied.', 'description' => 'You need to specify the SnatIp parameter when creating a Snat rule for public network NAT or private network NAT.'], ['errorCode' => 'MissingParam.NetworkInterfaceId', 'errorMessage' => 'The input parameter NetworkInterfaceId that is mandatory for processing this request is not supplied.', 'description' => 'You need to specify NetworkInterfaceId parameters when creating a Snat rule for NAT with the private network link service enabled.'], ['errorCode' => 'ParamExclusive.SnatIpAndNetworkInterfaceId', 'errorMessage' => 'SnatIp and NetworkInterfaceId is mutually exclusive when create a snat entry for nat.', 'description' => 'When you create an SNAT rule for a NAT Gateway instance, you cannot specify the SnatIp parameter and the NetworkInterfaceId parameter at the same time.'], ['errorCode' => 'IllegalParam.NetworkInterfaceId', 'errorMessage' => 'The param of NetworkInterfaceId is illegal.', 'description' => 'Invalid NetworkInterfaceId value.'], ['errorCode' => 'OperationUnsupported.EipNatBWPCheck', 'errorMessage' => 'The EIP is not associated with a NAT service plan.', 'description' => '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.', 'description' => '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.', 'description' => 'The operation failed because the SNAT rule IP address pool was added to multiple bandwidth packages.'], ['errorCode' => 'IncorrectStatus.SnatEntry', 'errorMessage' => 'The SNAT rule status is invalid. Please try again later.', 'description' => 'The SNAT rule is in the intermediate state, or the status is abnormal. Please try again later.'], ['errorCode' => 'IncorrectStatus.NatIp', 'errorMessage' => 'NatIp status is invalid, please try again later.', 'description' => 'NatIp is in intermediate state, please try again later.'], ['errorCode' => 'OperationUnsupported.EipNatIpCheck', 'errorMessage' => 'The operation failed because the EIP is not bound to this NAT gateway.', 'description' => '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.', 'description' => 'The operation failed because the IP in the SNAT rule IP address pool 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.', 'description' => 'The operation fails because the IP address in the Snat rule IP address pool is not added to the shared bandwidth packet.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidSnatTableId.NotFound', 'errorMessage' => 'Specified SNAT table does not exist.', 'description' => ''], ['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'The specified virtual switch does not exists.', 'description' => ''], ['errorCode' => 'InvalidSnatIp.NotFound', 'errorMessage' => 'Specified SnatIp does not found on the NAT Gateway', 'description' => ''], ['errorCode' => 'ResourceNotFound.NatGateway', 'errorMessage' => 'The NatGateway instance not exist.', 'description' => 'The NAT gateway does not exist.'], ['errorCode' => 'ResourceNotFound.NatIp', 'errorMessage' => 'The NatIp instance not exist.', 'description' => ''], ['errorCode' => 'ResourceNotFound.VSwitch', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The specified vSwitch does not exist, please check your input is correct'], ], 500 => [ ['errorCode' => 'DefaultValidate.Error', 'errorMessage' => 'validte fail.', 'description' => ''], ['errorCode' => 'OperationFailed.CrateSnatEntryTimeOut', 'errorMessage' => 'Operation failed because create snatEntry timeout.', 'description' => ''], ], ], 'title' => 'CreateSnatEntry', 'description' => 'You can call this operation to add SNAT entries to Internet NAT gateways and Virtual Private Cloud (VPC) NAT gateways. In this topic, a **NAT** gateway refers to both gateway types.'."\n" ."\n" .'Before you call this operation, take note of the following limits:'."\n" ."\n" .'* **CreateSnatEntry** 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 [DescribeSnatTableEntries](~~42677~~) operation to query the status of the task.'."\n" ."\n" .' * If the SNAT entry is in the **Pending** state, the system is adding the SNAT entry. You can only query the status of the SNAT entry, and cannot perform other operations.'."\n" .' * If the SNAT entry is in the **Available** state, the SNAT entry is added.'."\n" ."\n" .'* You cannot repeatedly call the **CreateSnatEntry** operation to add an SNAT entry to an SNAT table within the specified period of time.'."\n" ."\n" .'* The vSwitch and Elastic Compute Service (ECS) instance specified in an SNAT entry must be created in the VPC where the NAT gateway is deployed.'."\n" ."\n" .'* Each vSwitch or ECS instance can be specified in only one SNAT entry.'."\n" ."\n" .'* If a high-availability virtual IP address (HAVIP) exists in a vSwitch, you cannot create SNAT entries.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-12-03T02:23:00.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-08-09T10:10:00.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2024-01-18T07:07:57.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-09-18T03:27:52.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2023-03-01T06:45:55.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-11-07T11:48:28.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-07-22T06:28:14.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SnatEntryId\\": \\"snat-kmd6nv8fy****\\",\\n \\"RequestId\\": \\"2315DEB7-5E92-423A-91F7-4C1EC9AD****\\"\\n}","type":"json"}]', 'translator' => 'manual', ], 'CreateSslVpnClientCert' => [ 'summary' => 'Creates an SSL-VPN client certificate by calling the CreateSslVpnClientCert operation.', '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 and cannot exceed 64 characters in length.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], [ '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 region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'SslVpnServerId', 'in' => 'query', 'schema' => ['description' => 'The ID of the SSL-VPN server.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vss-m5et0q3iy1qex328w****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the client certificate.'."\n" ."\n" .'The name must be 1 to 100 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'SslVpnClientCert1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '606998F0-B94D-48FE-8316-ACA81BB230DA', 'title' => ''], 'Name' => ['description' => 'The name of the SSL-VPN client certificate.', 'type' => 'string', 'example' => 'SslVpnClientCert', 'title' => ''], 'SslVpnClientCertId' => ['description' => 'The ID of the SSL-VPN client certificate.', 'type' => 'string', 'example' => 'vsc-m5euof6s5jy8vs5kd****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'VpnGateway.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => ''], ['errorCode' => 'InvalidName', 'errorMessage' => 'The name is not valid', 'description' => ''], ['errorCode' => 'SslVpnClientCreateTimes.ReachLimits', 'errorMessage' => 'The number of client cert creation operations reaches the upper limit.', 'description' => ''], ['errorCode' => 'CreateSslCertsQuotaFull.QuotaFull', 'errorMessage' => 'Create the number of SSL certificates that exceed the quota limit.', 'description' => '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.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidSslVpnServerId.NotFound', 'errorMessage' => 'The specified SSL VPN server id does not exist.', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not found during access authentication.', 'description' => 'The specified area is not found during authentication.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 1000, 'maxCallbackTimes' => 10], 'title' => 'Create an SSL-VPN client certificate', 'description' => 'Before you create an SSL-VPN client certificate, make sure that an SSL-VPN server has been created for the VPN gateway instance. For more information, see [CreateSslVpnServer](~~2794075~~).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-01-04T07:17:11.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateSslVpnClientCert'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateSslVpnClientCert', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SslVpnClientCert', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnclientcert/*'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SslVpnServer', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnserver/{#SslVpnServerId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"606998F0-B94D-48FE-8316-ACA81BB230DA\\",\\n \\"Name\\": \\"SslVpnClientCert\\",\\n \\"SslVpnClientCertId\\": \\"vsc-m5euof6s5jy8vs5kd****\\"\\n}","type":"json"}]', ], 'CreateSslVpnServer' => [ 'summary' => 'Creates an SSL server.', '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 client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPN gateway.'."\n" ."\n" .'You can call [DescribeRegions](~~36063~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPN gateway.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpn-bp1hgim8by0kc9nga****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the SSL server.'."\n" ."\n" .'The name must be 1 to 100 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'sslvpnname', 'title' => ''], ], [ 'name' => 'ClientIpPool', 'in' => 'query', 'schema' => ['description' => 'The client CIDR block.'."\n" ."\n" .'The client CIDR block is used to allocate IP addresses to virtual network interface controllers (NICs) of clients. It does not refer to the existing internal network CIDR block of the client.'."\n" ."\n" .'When a client accesses the local network through an SSL-VPN connection, the VPN gateway allocates an IP address from the specified client CIDR block to the client. The client uses the allocated IP address to access cloud resources.'."\n" ."\n" .'When you specify the client CIDR block, make sure that the number of IP addresses in the client CIDR block is at least four times the 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 with a 30-bit subnet mask from the 192.168.0.0/24 CIDR block, such as 192.168.0.4/30, and then allocates one IP address from 192.168.0.4/30 to the client. The remaining three IP addresses are used by the system to ensure network communication. In this case, one client consumes four IP addresses. Therefore, to ensure that all clients can be allocated IP addresses, make sure that the number of IP addresses in the client CIDR block is at least four times the number of SSL-VPN connections supported by the VPN gateway.'."\n" .'
'."\n" ."\n" .'
'."\n" .'Click to view unsupported CIDR blocks'."\n" ."\n" .'- 100.64.0.0 to 100.127.255.255'."\n" .'- 127.0.0.0 to 127.255.255.255'."\n" .'- 169.254.0.0 to 169.254.255.255'."\n" .'- 224.0.0.0 to 239.255.255.255'."\n" .'- 255.0.0.0 to 255.255.255.255'."\n" .'
'."\n" ."\n" .'
'."\n" .'Click to view recommended client CIDR blocks for each number of SSL-VPN connections'."\n" ."\n" .'- If the number of SSL-VPN connections is 5, the subnet mask of the client CIDR block must be 27 bits or less. Example: 10.0.0.0/27 or 10.0.0.0/26.'."\n" .'- If the number of SSL-VPN connections is 10, the subnet mask of the client CIDR block must be 26 bits or less. Example: 10.0.0.0/26 or 10.0.0.0/25.'."\n" .'- If the number of SSL-VPN connections is 20, the subnet mask of the client CIDR block must be 25 bits or less. Example: 10.0.0.0/25 or 10.0.0.0/24.'."\n" .'- If the number of SSL-VPN connections is 50, the subnet mask of the client CIDR block must be 24 bits or less. Example: 10.0.0.0/24 or 10.0.0.0/23.'."\n" .'- If the number of SSL-VPN connections is 100, the subnet mask of the client CIDR block must be 23 bits or less. Example: 10.0.0.0/23 or 10.0.0.0/22.'."\n" .'- If the number of SSL-VPN connections is 200, the subnet mask of the client CIDR block must be 22 bits or less. Example: 10.0.0.0/22 or 10.0.0.0/21.'."\n" .'- If the number of SSL-VPN connections is 500, the subnet mask of the client CIDR block must be 21 bits or less. Example: 10.0.0.0/21 or 10.0.0.0/20.'."\n" .'- If the number of SSL-VPN connections is 1000, the subnet mask of the client CIDR block must be 20 bits or less. Example: 10.0.0.0/20 or 10.0.0.0/19.'."\n" ."\n" .'
'."\n" ."\n" .'> - The subnet mask of the client CIDR block must be 16 to 29 bits.'."\n" .'> - Make sure that the client CIDR block does not overlap with the local CIDR block, the virtual private cloud (VPC) CIDR block, or any routing CIDR block associated with the client terminal.'."\n" .'> - When you specify the client CIDR block, use 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, or their subnets. If you want to specify a public CIDR block as the client CIDR block, set the public CIDR block as a user CIDR block of the VPC to ensure that the VPC can access the public CIDR block. For more information about user CIDR blocks, see [VPC FAQ](~~185311~~).'."\n" .'> - After the SSL server is created, the system automatically adds the routing of the client CIDR block to the route table of the VPC instance. Do not manually add the routing of the client CIDR block to the route table of the VPC instance. Otherwise, SSL-VPN connection traffic may be abnormal.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '192.168.1.0/24', 'title' => ''], ], [ 'name' => 'LocalSubnet', 'in' => 'query', 'schema' => ['description' => 'The local CIDR block.'."\n" ."\n" .'The local CIDR block is the CIDR block that the client needs to access through the SSL-VPN connection.'."\n" ."\n" .'The local CIDR block can be the CIDR block of a VPC, the CIDR block of a vSwitch, the CIDR block of an on-premises data center that is connected to a VPC through an Express Connect circuit, or the CIDR block of a cloud service such as Object Storage Service (OSS).'."\n" ."\n" .'The subnet mask of the local CIDR block must be 8 to 32 bits. The following CIDR blocks cannot be specified as the local CIDR block:'."\n" ."\n" .'- 127.0.0.0 to 127.255.255.255'."\n" .'- 169.254.0.0 to 169.254.255.255'."\n" .'- 224.0.0.0 to 239.255.255.255'."\n" .'- 255.0.0.0 to 255.255.255.255.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '10.0.0.0/8', 'title' => ''], ], [ 'name' => 'Proto', 'in' => 'query', 'schema' => ['description' => 'The protocol used by the SSL server. Valid values:'."\n" ."\n" .'- **TCP** (default): TCP protocol.'."\n" .'- **UDP**: UDP protocol.', 'type' => 'string', 'required' => false, 'example' => 'UDP', 'title' => ''], ], [ 'name' => 'Cipher', 'in' => 'query', 'schema' => ['description' => 'The encryption algorithm used by the SSL-VPN connection.'."\n" ."\n" .'- If the client uses Tunnelblick or OpenVPN 2.4.0 or later, the SSL server and the client dynamically negotiate the encryption algorithm and preferentially use the encryption algorithm with the highest security level that is supported by both parties. The encryption algorithm that you specify for the SSL server does not take effect.'."\n" ."\n" .'- If the client uses OpenVPN earlier than 2.4.0, the SSL server and the client use the encryption algorithm that you specify for the SSL server. The SSL server supports the following encryption algorithms:'."\n" ."\n" .' - **AES-128-CBC** (default): AES-128-CBC algorithm.'."\n" ."\n" .' - **AES-192-CBC**: AES-192-CBC algorithm.'."\n" ."\n" .' - **AES-256-CBC**: AES-256-CBC algorithm.'."\n" ."\n" .' - **none**: no encryption algorithm is used.', 'type' => 'string', 'required' => false, 'example' => 'AES-128-CBC', 'title' => ''], ], [ 'name' => 'Port', 'in' => 'query', 'schema' => ['description' => 'The port used by the SSL server. Valid values: **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**, or **4500**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1194', 'title' => ''], ], [ 'name' => 'Compress', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to compress communication data. Valid values:'."\n" ."\n" .'- **true**: compresses communication data.'."\n" ."\n" .'- **false** (default): does not compress communication data.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'EnableMultiFactorAuth', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable two-factor authentication. If you enable two-factor authentication, you must also configure `IDaaSInstanceId`, `IDaaSRegionId`, and `IDaaSApplicationId`. Valid values:'."\n" ."\n" .'- **true**: enabled.'."\n" ."\n" .'- **false** (default): disabled.'."\n" ."\n" .'> - If you use two-factor authentication for the first time, 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) before creating the SSL server.'."\n" .'> - When you create an SSL server in the UAE (Dubai) region, bind an IDaaS EIAM 2.0 instance in the Singapore region to reduce cross-region latency.'."\n" .'> - IDaaS EIAM 1.0 instances are no longer available for purchase. If your Alibaba Cloud account has IDaaS EIAM 1.0 instances, you can still bind IDaaS EIAM 1.0 instances after enabling two-factor authentication. If your Alibaba Cloud account does not have IDaaS EIAM 1.0 instances, you can bind only IDaaS EIAM 2.0 instances after enabling two-factor authentication.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'IDaaSInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IDaaS EIAM instance.', 'type' => 'string', 'required' => false, 'example' => 'idaas-cn-hangzhou-p****', 'title' => ''], ], [ 'name' => 'IDaaSRegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IDaaS EIAM instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'IDaaSApplicationId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IDaaS application.'."\n" ."\n" .'- If you bind an IDaaS EIAM 2.0 instance, enter the IDaaS application ID.'."\n" .'- If you bind an IDaaS EIAM 1.0 instance, you do not need to enter the IDaaS application ID.', 'type' => 'string', 'required' => false, 'example' => 'app_my6g4qmvnwxzj2f****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'* **true**: performs a dry run without performing the actual request. The system checks the required parameters, request syntax, and limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" ."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => ''], ], [ 'name' => 'DnsServers', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'SslVpnServerId' => ['description' => 'The ID of the SSL server.', 'type' => 'string', 'example' => 'vss-bp18q7hzj6largv4v****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E98A9651-7098-40C7-8F85-C818D1EBBA85', 'title' => ''], 'Name' => ['description' => 'The name of the SSL server.', 'type' => 'string', 'example' => 'test', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'InvalidName', 'errorMessage' => 'The name is not valid', 'description' => ''], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'VpnGateway.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => ''], ['errorCode' => 'SslVpnServer.AlreadyExist', 'errorMessage' => 'The SSL VPN server of specified vpn gateway already exists.', 'description' => 'The specified SSL server already exists on the VPN gateway.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified route entry has conflict.', 'description' => 'Route conflicts exist.'], ['errorCode' => 'IpConflict', 'errorMessage' => 'Client IP pool conflict with local IP range.', 'description' => 'The client IP pool conflicts with the local IP range.'], ['errorCode' => 'SslVpnServer.AddRouteError', 'errorMessage' => 'Add route error whose destination is client IP pool, please check vpc route entry and relevant quota.', 'description' => 'The system failed to add the route that points to the client CIDR block. View the VPC route and 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.', 'description' => 'The subnet mask of the client IP pool must range from 16 to 29.'], ['errorCode' => 'ClientIpPool.SubnetInvalid', 'errorMessage' => 'The specified client IP pool cannot be used.', 'description' => 'The client CIDR block is unavailable.'], ['errorCode' => 'MissingParameter.IDaaSInstanceId', 'errorMessage' => 'The input parameter IDaaSInstanceId is mandatory when enable multi-factor authentication.', 'description' => 'You must set the IDaaSInstanceId parameter when you enable two-factor authentication.'], ['errorCode' => 'OperationFailed.NoRamPermission', 'errorMessage' => 'Vpn Service has no permission to operate your IDaaS instances.', 'description' => 'The VPN service does not have the permissions to manage your IDaaS instance.'], ['errorCode' => 'OperationUnsupported.NotSupportMultiFactorAuth', 'errorMessage' => 'Current version of the VPN does not support multi-factor authentication.', 'description' => ''], ['errorCode' => 'QuotaExceeded.VpnRouteEntry', 'errorMessage' => 'The number of route entries to the VPN gateway in the VPC routing table has reached the quota limit.', 'description' => '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.', 'description' => ''], ['errorCode' => 'SslVpnServerPort.Illegal', 'errorMessage' => 'The server port is not in the range of [1-65535].', 'description' => 'The port of the SSL-VPN server must be from 1 to 65535.'], ['errorCode' => 'EnableHaCheck.SslVpnServerClientCidrContainsVpcRouteDest', 'errorMessage' => 'Ssl vpn client cidr contains vpc route prefix. The vpc route prefix is %s.', 'description' => 'The prefix %s in the VPC route table falls within the CIDR block of the SSL client.'], ['errorCode' => 'VpnGateway.SslVpnDisabled', 'errorMessage' => 'The VPN gateway has not enabled SSL VPN.', 'description' => 'The SSL-VPN feature is disabled for the VPN gateway.'], ['errorCode' => 'IllegalParam.LocalSubnet', 'errorMessage' => 'The specified "LocalSubnet" (%s) is invalid.', 'description' => '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.', 'description' => 'The specified IDaaS application instance ID is invalid. The application instance must be created based on the dedicated SSL VPN template.'], ['errorCode' => 'SslVpnIDaaS2.NotSupport', 'errorMessage' => 'Current version of the VPN does not support IDaaS2.0.', 'description' => 'The current version of the VPN instance does not support IDaaS2.0.'], ['errorCode' => 'MissingParam.IDaaSApplicationId', 'errorMessage' => 'The input parameter IDaaSApplicationId is mandatory when enable multi-factor authentication.', 'description' => 'Enter the IDaaSApplicationId parameters when starting two-factor authentication.'], ['errorCode' => 'MissingParam.IDaaSRegionId', 'errorMessage' => 'The input parameter IDaaSRegionId is mandatory when enable multi-factor authentication.', 'description' => 'Enter the IDaaSRegionId parameters when starting two-factor authentication.'], ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The request passed the dry run.'], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not found during access authentication.', 'description' => 'The specified area is not found during authentication.'], ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ['errorCode' => 'InvalidIDaaSInstanceId.NotFound', 'errorMessage' => 'The specified IDaaS instance ID does not exist.', 'description' => 'The specified IDaaS instance does not exist.'], ['errorCode' => 'InvalidIDaaSApplicationId.NotFound', 'errorMessage' => 'The specified IDaaS application Id does not exist.', 'description' => 'The ID of the specified IDaaS application instance does not exist.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 2000, 'maxCallbackTimes' => 60], 'title' => 'Create an SSL server', 'description' => '- **CreateSslVpnServer** is an asynchronous operation. After you send a request, the system returns an instance ID but the SSL server has not been created yet. The creation task is still running in the background. You can call [DescribeVpnGateway](~~2794055~~) to query the status of the VPN gateway instance to determine the creation status of the SSL server:'."\n" .' - If the VPN gateway instance is in the **updating** state, the SSL server is being created.'."\n" .' - If the VPN gateway instance is in the **active** state, the SSL server is created.'."\n" .'- **CreateSslVpnServer** does not support concurrent creation of SSL servers under the same VPN gateway.'."\n" ."\n" .'### Before you begin'."\n" .'- You have created a VPN gateway with the SSL-VPN feature enabled. 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 instance supports this feature. You may need to upgrade the VPN gateway instance. For more information, see [SSL-VPN two-factor authentication supports IDaaS EIAM 2.0](~~2785320~~).', 'changeSet' => [ ['createdAt' => '2025-05-23T06:50:35.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2024-05-10T02:03:16.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2023-10-19T08:26:51.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-05-30T06:58:57.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 3600, 'regionId' => '*', 'api' => 'CreateSslVpnServer'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateSslVpnServer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SslVpnServer', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnserver/*'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SslVpnServerId\\": \\"vss-bp18q7hzj6largv4v****\\",\\n \\"RequestId\\": \\"E98A9651-7098-40C7-8F85-C818D1EBBA85\\",\\n \\"Name\\": \\"test\\"\\n}","type":"json"}]', ], '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' => 'The description of the traffic mirror filter.'."\n" ."\n" .'The description must be 1 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'this is a filter.', 'title' => ''], ], [ 'name' => 'TrafficMirrorFilterName', 'in' => 'query', 'schema' => ['description' => 'The name of the traffic mirror filter.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'abc', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the value of **RequestId** as the value of **ClientToken**. The value of **RequestId** is different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'- **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error code is returned. If the request passes the dry run, the error code `DryRunOperation` is returned.'."\n" ."\n" .'- **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the filter is created.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'IngressRules', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The information about the inbound rules.', 'type' => 'array', 'items' => [ 'description' => 'The information about the inbound rules.', 'type' => 'object', 'properties' => [ 'Action' => ['description' => 'The collection policy of the inbound rule. Valid values:'."\n" ."\n" .'- **accept**: collects network traffic.'."\n" .'- **drop**: does not collect network traffic.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'accept', 'title' => ''], 'SourceCidrBlock' => ['description' => 'The source CIDR block of the inbound rule.', 'type' => 'string', 'required' => false, 'example' => '10.0.0.0/24', 'title' => ''], 'Protocol' => ['description' => 'The protocol type of the network traffic to be mirrored for the inbound rule. Valid values:'."\n" ."\n" .'- **ALL**: all protocols.'."\n" .'- **ICMP**: Internet Control Message Protocol.'."\n" .'- **TCP**: Transmission Control Protocol.'."\n" .'- **UDP**: User Datagram Protocol.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'TCP', 'title' => ''], 'IpVersion' => ['description' => 'The IP version of the instance. Valid values:'."\n" ."\n" .'- **IPv4**: IPv4.'."\n" .'- **IPv6**: IPv6.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'IPv4', 'title' => ''], 'DestinationPortRange' => ['description' => 'The destination port range of the inbound rule. Valid values for port numbers: **1** to **65535**. Separate the start port and end port with a forward slash (/). Format: **1/200** or **80/80**.'."\n" ."\n" .'> If **IngressRules.N.Protocol** is set to **ALL** or **ICMP**, this parameter does not need to be set, which indicates that all ports are available.'."\n", 'type' => 'string', 'required' => false, 'example' => '80/120', 'title' => ''], 'Priority' => ['description' => 'The priority of the inbound rule. A smaller value indicates a higher priority.'."\n" .'The maximum value of **N** is **10**, which indicates that a filter can have up to 10 inbound rules.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], 'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the inbound rule.', 'type' => 'string', 'required' => false, 'example' => '10.0.0.0/24', 'title' => ''], 'SourcePortRange' => ['description' => 'The source port range of the inbound rule. Valid values for port numbers: **1** to **65535**. Separate the start port and end port with a forward slash (/). Format: **1/200** or **80/80**.'."\n" ."\n" .'> If **IngressRules.N.Protocol** is set to **ALL** or **ICMP**, this parameter does not need to be set, which indicates that all ports are available.', 'type' => 'string', 'required' => false, 'example' => '80/120', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], [ 'name' => 'EgressRules', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The information about the outbound rules.', 'type' => 'array', 'items' => [ 'description' => 'The information about the outbound rules.', 'type' => 'object', 'properties' => [ 'Action' => ['description' => 'The collection policy of the outbound rule. Valid values:'."\n" ."\n" .'- **accept**: collects network traffic.'."\n" .'- **drop**: does not collect network traffic.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'accept', 'title' => ''], 'SourceCidrBlock' => ['description' => 'The source CIDR block of the outbound rule.', 'type' => 'string', 'required' => false, 'example' => '10.0.0.0/24', 'title' => ''], 'Protocol' => ['description' => 'The protocol type of the network traffic to be mirrored for the outbound rule. Valid values:'."\n" ."\n" .'- **ALL**: all protocols.'."\n" .'- **ICMP**: Internet Control Message Protocol.'."\n" .'- **TCP**: Transmission Control Protocol.'."\n" .'- **UDP**: User Datagram Protocol.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'TCP', 'title' => ''], 'IpVersion' => ['description' => 'The IP version of the instance. Valid values:'."\n" ."\n" .'- **IPv4**: IPv4.'."\n" .'- **IPv6**: IPv6.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'IPv4', 'title' => ''], 'DestinationPortRange' => ['description' => 'The destination port range of the outbound rule. Valid values for port numbers: **1** to **65535**. Separate the start port and end port with a forward slash (/). Format: **1/200** or **80/80**. The value **-1/-1** cannot be set independently and indicates that all ports are available.'."\n" ."\n" .'> If **EgressRules.N.Protocol** is set to **ALL** or **ICMP**, this parameter does not need to be set, which indicates that all ports are available.', 'type' => 'string', 'required' => false, 'example' => '22/40', 'title' => ''], 'Priority' => ['description' => 'The priority of the outbound rule. A smaller value indicates a higher priority.'."\n" .'The maximum value of **N** is **10**, which indicates that a filter can have up to 10 outbound rules.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], 'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the outbound rule.', 'type' => 'string', 'required' => false, 'example' => '10.0.0.0/24', 'title' => ''], 'SourcePortRange' => ['description' => 'The source port range of the outbound rule. Valid values for port numbers: **1** to **65535**. Separate the start port and end port with a forward slash (/). Format: **1/200** or **80/80**. The value **-1/-1** cannot be set independently and indicates that all ports are available.'."\n" ."\n" .'> If **EgressRules.N.Protocol** is set to **ALL** or **ICMP**, this parameter does not need to be set, which indicates that all ports are available.', 'type' => 'string', 'required' => false, 'example' => '22/40', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the traffic mirror.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID. For more information about the regions that support traffic mirroring, see [Traffic Mirroring overview](~~207513~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hongkong', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the traffic mirror belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'description' => 'The tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The instance ID of the traffic mirror filter.', 'type' => 'object', 'properties' => [ 'TrafficMirrorFilterId' => ['description' => 'The instance ID of the traffic mirror filter.', 'type' => 'string', 'example' => 'tmf-j6cmls82xnc86vtpe****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '28DB147D-217B-43E8-9E94-A3F6837DDC8A', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the traffic mirror belongs.', 'type' => 'string', 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'UnsupportedFeature.IpVersion', 'errorMessage' => 'The ipversion type is not supported.', 'description' => ''], ['errorCode' => 'IncorrectBusinessStatus.TrafficMirror', 'errorMessage' => 'The business status of traffic mirror is incorrect.', 'description' => 'Traffic mirroring is in an invalid state.'], ['errorCode' => 'OptInRequired.TrafficMirror', 'errorMessage' => 'You need to subscribe to the traffic mirror service first.', 'description' => 'Traffic mirroring is disabled.'], ['errorCode' => 'QuotaExceeded.TrafficMirrorFilter', 'errorMessage' => 'The maximum number of traffic image filters is exceeded.', 'description' => 'The number of filters has reached the upper limit.'], ['errorCode' => 'DuplicatedParam.Priority', 'errorMessage' => 'The specified priority conflicts with the existing priority.', 'description' => 'The specified priority is the same as an existing one.'], ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'The feature is not supported in current region.', 'description' => 'The feature is not supported in the current region.'], ['errorCode' => 'IllegalParamFormat.SrcCidrBlock', 'errorMessage' => 'The format of the specified source CIDR block is invalid.', 'description' => 'The error message returned because the format of the source CIDR block is invalid.'], ['errorCode' => 'IllegalParamFormat.DstCidrBlock', 'errorMessage' => 'The format of the specified dst CIDR block is invalid.', 'description' => 'The format of the destination CIDR block is invalid.'], ['errorCode' => 'IllegalParam.DestinationCidrBlock', 'errorMessage' => 'The param of DestinationCidrBlock %s is illegal.', 'description' => ''], ['errorCode' => 'IllegalParam.SourceCidrBlock', 'errorMessage' => 'The param of SourceCidrBlock %s is illegal.', 'description' => ''], ['errorCode' => 'IllegalParam.Protocol', 'errorMessage' => 'The specified Protocol %s is invalid.', 'description' => ''], ], ], 'title' => 'CreateTrafficMirrorFilter', 'summary' => 'Calls the CreateTrafficMirrorFilter operation to create a traffic mirror filter.', 'description' => 'The **CreateTrafficMirrorFilter** operation is an asynchronous operation. After you send the request, the system returns an instance ID but the traffic mirror filter is not yet created. The creation task is still running in the background. You can call [ListTrafficMirrorFilters](~~261353~~) to query the status of the traffic mirror filter:'."\n" .'- If the traffic mirror filter is in the **Creating** state, the traffic mirror filter is being created.'."\n" .'- If the traffic mirror filter is in the **Created** state, the traffic mirror filter is created.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-04-25T09:57:13.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2023-08-30T06:17:00.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-05T05:51:50.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'], ['createdAt' => '2022-07-21T09:47:24.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2022-07-11T03:25:00.000Z', 'description' => 'Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTrafficMirrorFilter'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateTrafficMirrorFilter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TrafficMirrorFilterId\\": \\"tmf-j6cmls82xnc86vtpe****\\",\\n \\"RequestId\\": \\"28DB147D-217B-43E8-9E94-A3F6837DDC8A\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4ph****\\"\\n}","type":"json"}]', ], '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' => 'The ID of the filter.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tmf-j6cmls82xnc86vtpe****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not set this parameter, the system uses **RequestId** as **ClientToken**. **RequestId** may be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to check the request without performing the operation. Valid values:'."\n" ."\n" .'* **true**: checks the request without performing the operation. The system checks the required parameters, request format, and limits. If the request fails the precheck, an error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): sends the request. After the request passes the check, the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'IngressRules', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The information about the inbound rules.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The information about the inbound rule.'."\n", 'type' => 'object', 'properties' => [ 'Action' => ['description' => 'The policy of the inbound rule. Valid values:'."\n" ."\n" .'* **accept**: collects network traffic.'."\n" .'* **drop**: drops network traffic.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'accept', 'title' => ''], 'SourceCidrBlock' => ['description' => 'The source CIDR block of the inbound traffic.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.0.0/24', 'title' => ''], 'Protocol' => ['description' => 'The protocol that is used by the inbound traffic to be mirrored. Valid values:'."\n" ."\n" .'* **ALL**: all protocols'."\n" .'* **ICMP**: Internet Control Message Protocol.'."\n" .'* **TCP**: Transmission Control Protocol.'."\n" .'* **UDP**: User Datagram Protocol.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'TCP', 'title' => ''], 'IpVersion' => ['description' => 'The IP version of the instance. The following value may be returned:'."\n" ."\n" .'* **IPv4**: IPv4'."\n" .'* **IPv6**: IPv6'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'IPv4', 'title' => ''], 'DestinationPortRange' => ['description' => 'The destination port range of the inbound traffic. Valid value: **1** to **65535**. Separate the first and the last port with a forward slash (/). For example, **1/200** or **80/80**.'."\n" ."\n" .'> If the **IngressRules.N.Protocol** parameter is set to **ALL** or **ICMP**, you do not need to set this parameter. In this case, all ports are available.'."\n", 'type' => 'string', 'required' => false, 'example' => '80/120', 'title' => ''], 'Priority' => ['description' => 'The priority of the inbound rule. A smaller value indicates a higher priority. The maximum value of **N** is **10**. You can configure up to 10 inbound rules for a filter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], 'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the inbound traffic.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.0.0/24', 'title' => ''], 'SourcePortRange' => ['description' => 'The source port range of the inbound traffic. Valid value: **1** to **65535**. Separate the first and last port with a forward slash (/). For example **1/200** and **80/80**. You cannot set this parameter to \\*\\*-1/-1\\*\\*, which indicates all ports.'."\n" ."\n" .'> If the **IngressRules.N.Protocol** parameter is set to **ALL** or **ICMP**, you do not need to set this parameter. In this case, all ports are available.'."\n", 'type' => 'string', 'required' => false, 'example' => '80/120', 'title' => ''], ], 'required' => false, 'title' => '', ], 'required' => false, 'maxItems' => 10, 'title' => '', ], ], [ 'name' => 'EgressRules', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The information about the outbound rule.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The information about the outbound rule.'."\n", 'type' => 'object', 'properties' => [ 'Action' => ['description' => 'The collection policy of the outbound rule. Valid values:'."\n" ."\n" .'* **accept**: accepts network traffic.'."\n" .'* **drop**: drops network traffic.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'accept', 'title' => ''], 'SourceCidrBlock' => ['description' => 'The source CIDR block of the outbound traffic.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.0.0/24', 'title' => ''], 'Protocol' => ['description' => 'The protocol that is used by the outbound traffic to be mirrored. Valid values:'."\n" ."\n" .'* **ALL**: all protocols'."\n" .'* **ICMP**: Internet Control Message Protocol.'."\n" .'* **TCP**: Transmission Control Protocol.'."\n" .'* **UDP**: User Datagram Protocol.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'TCP', 'title' => ''], 'IpVersion' => ['description' => 'The IP version of the instance. Valid values:'."\n" ."\n" .'* **IPv4**: IPv4'."\n" .'* **IPv6**: IPv6'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'IPv4', 'title' => ''], 'DestinationPortRange' => ['description' => 'The destination port range of the outbound traffic. Valid value: **1** to **65535**. Separate the first and last port with a forward slash (/). For example **1/200** and **80/80**. You cannot set this parameter to \\*\\*-1/-1\\*\\*, which indicates all ports.'."\n" ."\n" .'> If **EgressRules.N.Protocol** is set to **ALL** or **ICMP**, you do not need to set this parameter. In this case, all ports are available.'."\n", 'type' => 'string', 'required' => false, 'example' => '22/40', 'title' => ''], 'Priority' => ['description' => 'The priority of the outbound rule. A smaller value indicates a higher priority. The maximum value of **N** is **10**. You can configure up to 10 outbound rules for a filter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], 'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the outbound traffic.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.0.0/24', 'title' => ''], 'SourcePortRange' => ['description' => 'The source port range of the outbound traffic. Valid value: **1** to **65535**. Separate the first and last port with a forward slash (/). For example **1/200** and **80/80**. You cannot set this parameter to \\*\\*-1/-1\\*\\*, which indicates all ports.'."\n" ."\n" .'> If **EgressRules.N.Protocol** is set to **ALL** or **ICMP**, you do not need to set this parameter. In this case, all ports are available.'."\n", 'type' => 'string', 'required' => false, 'example' => '22/40', 'title' => ''], ], 'required' => false, 'title' => '', ], 'required' => false, 'maxItems' => 10, 'title' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region to which the mirrored traffic belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list. For more information about regions that support traffic mirror, see [Overview of traffic mirror](~~207513~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hongkong', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '07F272E2-6AD5-433A-8207-A607C76F1676', 'title' => ''], 'IngressRules' => [ 'description' => 'The list of inbound rules.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'InstanceId' => ['description' => 'The ID of the inbound rule.'."\n", 'type' => 'string', 'example' => 'tmr-j6c6rtallo51ouzv3****', 'title' => ''], ], 'title' => '', ], 'title' => '', ], 'EgressRules' => [ 'description' => 'The list of outbound rules.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'InstanceId' => ['description' => 'The ID of the outbound rule.'."\n", 'type' => 'string', 'example' => 'tmr-j6cok23ugp53eeib5****', 'title' => ''], ], 'title' => '', ], 'title' => '', ], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.TrafficMirrorFilter', 'errorMessage' => 'The specified resource of traffic mirror filter is not found.', 'description' => 'The specified filter does not exist.'], ['errorCode' => 'IncorrectStatus.TrafficMirrorFilter', 'errorMessage' => 'The status of traffic mirror filter is incorrect.', 'description' => 'The filter is in an invalid state.'], ['errorCode' => 'IncorrectStatus.TrafficMirrorSession', 'errorMessage' => 'The status of traffic mirror session is incorrect.', 'description' => ''], ['errorCode' => 'QuotaExceeded.TrafficMirrorRulesPerFilter', 'errorMessage' => 'The quota of the number of traffic mirror rules per filter is exceeded.', 'description' => 'The number of rules associated with the filter has reached the upper limit.'], ['errorCode' => 'DuplicatedParam.Priority', 'errorMessage' => 'The specified priority conflicts with the existing priority.', 'description' => 'The specified priority is the same as an existing one.'], ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'The feature is not supported in current region.', 'description' => 'The feature is not supported in the current region.'], ['errorCode' => 'IllegalParam.CidrBlock', 'errorMessage' => 'The specified CidrBlock is illegal.', 'description' => 'The operation failed because CidrBlock is set to an invalid value.'], ['errorCode' => 'IllegalParam.SourceCidrBlock', 'errorMessage' => 'The param of SourceCidrBlock %s is illegal.', 'description' => ''], ['errorCode' => 'IllegalParam.DestinationCidrBlock', 'errorMessage' => 'The param of DestinationCidrBlock %s is illegal.', 'description' => ''], ['errorCode' => 'IllegalParam.Protocol', 'errorMessage' => 'The specified Protocol %s is invalid.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'title' => 'CreateTrafficMirrorFilterRules', 'summary' => 'Creates an inbound or outbound rule for traffic mirror.', 'changeSet' => [ ['createdAt' => '2025-04-25T09:57:13.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2023-07-20T03:51:36.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-07-21T09:47:24.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2022-07-11T03:25:00.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateTrafficMirrorFilterRules', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/{#TrafficMirrorFilterId}'], ], ], ], ], ], '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' => 'The description of the traffic mirror session.'."\n" ."\n" .'The description must be 1 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'This is a trafficmirrorsession.', 'title' => ''], ], [ 'name' => 'TrafficMirrorSessionName', 'in' => 'query', 'schema' => ['description' => 'The name of the traffic mirror session.'."\n" ."\n" .'The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must ensure that the value is unique among all requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not set this parameter, the system uses **RequestId** as **ClientToken**. **RequestId** might be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'* **true**: performs a dry run. The system checks the required parameters, request format, and limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and sends the request. If the request passes the dry run, the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'TrafficMirrorTargetId', 'in' => 'query', 'schema' => ['description' => 'The ID of the traffic mirror destination. You can specify only an elastic network interface (ENI) or a Server Load Balancer (SLB) instance as a traffic mirror destination.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eni-j6c8znm5l1yt4sox****', 'title' => ''], ], [ 'name' => 'TrafficMirrorTargetType', 'in' => 'query', 'schema' => ['description' => 'The type of the traffic mirror destination. Valid values:'."\n" ."\n" .'* **NetworkInterface**: an ENI'."\n" .'* **SLB**: an SLB instance'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'NetworkInterface', 'title' => ''], ], [ 'name' => 'TrafficMirrorFilterId', 'in' => 'query', 'schema' => ['description' => 'The ID of the filter.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tmf-j6cmls82xnc86vtpe****', 'title' => ''], ], [ 'name' => 'VirtualNetworkId', 'in' => 'query', 'schema' => ['description' => 'The VXLAN network identifier (VNI). Valid values: **0** to **16777215**.'."\n" ."\n" .'You can use VNIs to identify mirrored traffic from different sessions at the traffic mirror destination. You can specify a custom VNI or use a random VNI allocated by the system. If you want the system to randomly allocate a VNI, do not enter a value.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'Priority', 'in' => 'query', 'schema' => ['description' => 'The priority of the traffic mirror session. Valid values: **1** to **32766**.'."\n" ."\n" .'A smaller value indicates a higher priority. You cannot specify identical priorities for traffic mirror sessions that are created in the same region by using the same account.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '32766', 'minimum' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'Enabled', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable the traffic mirror session. Valid values:'."\n" ."\n" .'* **false** (default): does not enable the traffic mirror session.'."\n" .'* **true**: enables the traffic mirror session.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'PacketLength', 'in' => 'query', 'schema' => ['description' => 'The maximum transmission unit.'."\n" ."\n" .'Valid values: **64 to 9600**. Default value: **1500**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1500', 'title' => ''], ], [ 'name' => 'TrafficMirrorSourceIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The ID of the traffic mirror source. You can specify only an elastic network interface (ENI) as the traffic mirror source. The default value of **N** is **1**, which indicates that you can add only one traffic mirror source to a traffic mirror session.'."\n", 'type' => 'array', 'items' => ['description' => 'The ID of the traffic mirror source. You can specify only an ENI as the traffic mirror source. The default value of **N** is **1**, which means that you can add only one traffic mirror source to a traffic mirror session.'."\n", 'type' => 'string', 'required' => false, 'example' => 'eni-j6c2fp57q8rr47rp****', 'title' => ''], 'required' => true, 'docRequired' => true, 'example' => 'eni-j6c2fp57q8rr47rp****', 'maxLength' => 128, 'maxItems' => 30, 'title' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region to which the traffic mirror session belongs. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list. For more information about regions that support traffic mirror, see [Overview of traffic mirror](~~207513~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hongkong', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the mirrored traffic belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag of the resource.', 'type' => 'array', 'items' => [ 'description' => 'The tag of the resource.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. You can specify at most 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value. You can specify at most 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'TrafficMirrorSessionId' => ['description' => 'The ID of the traffic mirror session.'."\n", 'type' => 'string', 'example' => 'tms-j6ce5di4w7nvigfjz****', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the mirrored traffic belongs.'."\n", 'type' => 'string', 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectBusinessStatus.TrafficMirror', 'errorMessage' => 'The business status of traffic mirror is incorrect.', 'description' => 'Traffic mirroring is in an invalid state.'], ['errorCode' => 'OptInRequired.TrafficMirror', 'errorMessage' => 'You need to subscribe to the traffic mirror service first.', 'description' => 'Traffic mirroring is disabled.'], ['errorCode' => 'DuplicatedParam.SourceInstanceIds', 'errorMessage' => 'The parameter of source instance IDs contains duplicate values.', 'description' => 'Duplicate values are set for TrafficMirrorSourceIds.N.'], ['errorCode' => 'OperationDenied.DuplicateRole', 'errorMessage' => 'The network interface must not be the source and the target of traffic mirror sessions at the same time.', 'description' => ''], ['errorCode' => 'ResourceNotFound.NetworkInterface', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The error message returned because NetworkInterface is set to an invalid value.'], ['errorCode' => 'ResourceNotFound.EcsInstance', 'errorMessage' => 'The specified resource of ECS instance is not found.', 'description' => ''], ['errorCode' => 'ResourceNotFound.Slb', 'errorMessage' => 'The specified resource of SLB is not found.', 'description' => ''], ['errorCode' => 'OperationDenied.SlbNotInVpc', 'errorMessage' => 'The specified SLB is not in any VPC.', 'description' => ''], ['errorCode' => 'ResourceNotFound.TrafficMirrorFilter', 'errorMessage' => 'The specified resource of traffic mirror filter is not found.', 'description' => 'The specified filter does not exist.'], ['errorCode' => 'IncorrectStatus.TrafficMirrorFilter', 'errorMessage' => 'The status of traffic mirror filter is incorrect.', 'description' => 'The filter is in an invalid state.'], ['errorCode' => 'OperationDenied.EcsNotSupportTrafficMirror', 'errorMessage' => 'The ECS instance does not support traffic mirroring.', 'description' => ''], ['errorCode' => 'QuotaExceeded.SessionNum', 'errorMessage' => 'The quota of the number of traffic mirror sessions is exceeded.', 'description' => 'The number of traffic mirror sessions has reached the upper limit.'], ['errorCode' => 'QuotaExceeded.FilterRelatedSession', 'errorMessage' => 'The quota of the number of traffic mirror sessions related to one filter is exceeded.', 'description' => 'The number of traffic mirror sessions associated with the filter has reached the upper limit.'], ['errorCode' => 'QuotaExceeded.SourceNumPerSession', 'errorMessage' => 'The quota of the number of traffic mirror sources per session is exceeded.', 'description' => 'The number of traffic mirror sources associated with a traffic mirror session has reached the upper limit.'], ['errorCode' => 'QuotaExceeded.NetworkInterfaceRelatedSession', 'errorMessage' => 'The quota of the number of traffic mirror sessions related to one network interface is exceeded.', 'description' => 'The number of traffic mirror sessions associated with an ENI has reached the upper limit.'], ['errorCode' => 'QuotaExceeded.SlbRelatedSession', 'errorMessage' => 'The quota of the number of traffic mirror sessions related to one SLB is exceeded.', 'description' => 'The number of traffic mirror sessions associated with an SLB instance has reached the upper limit.'], ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'The feature is not supported in current region.', 'description' => 'The feature is not supported in the current region.'], ['errorCode' => 'InvalidLoadBalancerId.NotFound', 'errorMessage' => 'The specified resource of load balancer is not found.', 'description' => 'The SLB instance does not exist.'], ['errorCode' => 'OperationDenied.FreeNetworkInterface', 'errorMessage' => 'The network interface is not attached to any ECS instance.', 'description' => 'The ENI is not associated with an ECS instance.'], ['errorCode' => 'OperationDenied.ClassicSLB', 'errorMessage' => 'The operation is not allowed because of ClassicSLB.', 'description' => 'The error message returned because you cannot perform the operation on a CLB instance.'], ['errorCode' => 'ResourceNotFound.TargetInstance', 'errorMessage' => 'The specified target instance for traffic mirroring is not found.', 'description' => 'The specified traffic mirror destination does not exist.'], ['errorCode' => 'QuotaExceeded.SourceNumPerTarget', 'errorMessage' => 'The maximum number of traffic mirror sources for a target is exceeded.', 'description' => 'The number of traffic mirror sources associated with the image exceeds the upper limit.'], ['errorCode' => 'IncorrectStatus.NetworkInterface', 'errorMessage' => 'The status of network interface is incorrect.', 'description' => 'The status of the ENI is invalid.'], ['errorCode' => 'OperationFailed.NotSupportBizType', 'errorMessage' => 'The specified instance type does not support the operation.', 'description' => '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.', 'description' => 'The specified Priority is illegal or identical to another mirroring session'], ['errorCode' => 'OperationDenied.UnsupportedTargetType', 'errorMessage' => 'Traffic mirror target must be SLB if traffic mirror sources contain nat gateway network interface.', 'description' => 'When a NAT gateway NIC exists in the traffic mirroring source, the traffic mirroring purpose must be SLB type.'], ['errorCode' => 'OperationDenied.TargetTypeNotSupportGatewayLoadBalancerEndpoint', 'errorMessage' => 'Operation denied because of target type can not be GatewayLoadBalancerEndpoint.', 'description' => 'Gateway-based load balancing endpoints are not supported as traffic mirrors mu d'], ['errorCode' => 'OperationDenied.TargetTypeNotSupportBondEni', 'errorMessage' => 'Operation denied because of target type can not be Bond Network Interface.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => 'Traffic mirror currently does not support source full packet mirroring. TrafficMirrorSourceTruncateMode can only be set to 0, which is the default mode.'], ['errorCode' => 'QuotaExceeded.SessionNumPerTarget', 'errorMessage' => 'The quota of the number of traffic mirror sessions per target is exceeded.', 'description' => ''], ['errorCode' => 'OperationDenied.NotSupportBondEniAsTrafficMirrorSource', 'errorMessage' => 'The operation is not allowed because bond eni cannot be the source of traffic mirror.', 'description' => 'Bond eni is not allowed to be the source of traffic mirror.'], ['errorCode' => 'IncorrectStatus.TrafficMirrorSessionTarget', 'errorMessage' => 'The status of the target of the traffic mirror session is incorrect.', 'description' => 'The status of the intent of the traffic mirroring session is incorrect.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.GatewayLoadBalancerEndpoint', 'errorMessage' => 'GatewayLoadBalancerEndpoint instance not found.', 'description' => 'GatewayLoadBalancerEndpoint instance not found.'], ], ], 'title' => 'CreateTrafficMirrorSession', 'summary' => 'Creates a traffic mirror session.', 'description' => '**CreateTrafficMirrorSession**接口属于异步接口,即系统返回一个实例ID,但该镜像会话尚未创建成功,系统后台的创建任务仍在进行。您可以调用[ListTrafficMirrorSessions](~~261367~~)查询镜像会话的创建状态:'."\n" .'- 当镜像会话处于**Creating**状态时,表示镜像会话正在创建中。'."\n" .'- 当镜像会话处于**Created**状态时,表示镜像会话创建完成。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-05-09T07:44:49.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-02-08T09:45:32.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-09-11T02:36:44.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-01-15T05:37:08.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-09-26T07:21:14.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-09-21T07:06:31.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-09-14T05:43:10.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-30T03:22:02.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-10T02:02:24.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-06-25T06:28:07.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2023-04-14T10:13:04.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-16T08:04:23.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TrafficMirrorSessionId\\": \\"tms-j6ce5di4w7nvigfjz****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4ph****\\"\\n}","type":"json"}]', 'translator' => 'manual', ], 'CreateVSwitch' => [ 'summary' => 'Creates a vSwitch.', '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' => 'The tag of the resource.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. You can specify at most 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be at most 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], 'Value' => ['description' => 'The tag value. You can specify at most 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length, but cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'ZoneId', 'in' => 'query', 'schema' => ['description' => 'The zone ID of the vSwitch.'."\n" ."\n" .'You can call the [DescribeZones](~~36064~~) operation to query the most recent zone list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou-b', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the vSwitch.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'CidrBlock', 'in' => 'query', 'schema' => ['description' => 'The CIDR block of the vSwitch. Take note of the following limits:'."\n" ."\n" .'* The subnet mask of the CIDR block must be 16 to 29 bits in length.'."\n" .'* The CIDR block of the vSwitch must fall within the CIDR block of the VPC to which the vSwitch belongs.'."\n" .'* The CIDR block of a vSwitch cannot be the same as the destination CIDR block in a route entry of the VPC. However, it can be a subset of the destination CIDR block.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '172.16.0.0/24', 'title' => ''], ], [ 'name' => 'Ipv6CidrBlock', 'in' => 'query', 'schema' => ['description' => 'The last eight bits of the IPv6 CIDR block of the vSwitch. Valid values: **0** to **255**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC where you want to create the vSwitch.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-257gqcdfvx6n****', 'title' => ''], ], [ 'name' => 'VSwitchName', 'in' => 'query', 'schema' => ['description' => 'The name of the vSwitch.'."\n" ."\n" .'The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vSwitch-1', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the vSwitch.'."\n" ."\n" .'The description must be 1 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vSwitch', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among all requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** may be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', 'title' => ''], ], [ 'name' => 'VpcIpv6CidrBlock', 'in' => 'query', 'schema' => ['description' => 'The IPv6 CIDR block of the VPC.'."\n", 'type' => 'string', 'required' => false, 'example' => '2408:XXXX:0:6a::/56', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'VSwitchId' => ['description' => 'The ID of the vSwitch.'."\n", 'type' => 'string', 'example' => 'vsw-25navfgbue4g****', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.ResourceConflict', 'errorMessage' => 'vpc only support one cloud box.', 'description' => ''], ['errorCode' => 'OperationFailed.IdempotentTokenProcessing', 'errorMessage' => 'Action is processing.', 'description' => ''], ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'Invalid description.', 'description' => ''], ['errorCode' => 'InvalidVSwitchName.Malformed', 'errorMessage' => 'Specified virtual switch name is not valid.', 'description' => 'The format of the specified vSwitch name is invalid. Specify the name in the valid format.'], ['errorCode' => 'InvalidVSwitchDiscription.Malformed', 'errorMessage' => 'Specified virtual switch description is not valid.', 'description' => ''], ['errorCode' => 'Abs.Vpc.InvalidDescription.Malformed', 'errorMessage' => 'Specified virtual switch name is not valid.', 'description' => ''], ['errorCode' => 'MissingParam.vpcId', 'errorMessage' => 'The parameter vpcId is mandatory.', 'description' => 'The vpcId parameter is required.'], ['errorCode' => 'ResourceNotAvailable', 'errorMessage' => 'Resource you requested is not available in this region or zone.', 'description' => ''], ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Specified CIDR block is not valid in VPC.', 'description' => ''], ['errorCode' => 'InvalidCidrBlock.Overlapped', 'errorMessage' => 'Specified CIDR block overlapped with other subnets.', 'description' => ''], ['errorCode' => 'QuotaExceeded.VSwitch', 'errorMessage' => 'Virtual switch quota exceeded.', 'description' => 'The number of vSwitches has reached the upper limit. Reduce the number of vSwitches and try again later.'], ['errorCode' => 'IncorrectRouteEntryStatus', 'errorMessage' => 'Some route entry status blocked this operation.', 'description' => ''], ['errorCode' => 'IncorrectVSwitchStatus', 'errorMessage' => 'Some virtual switch is modifying within the same VPC.', 'description' => 'Multiple vSwitches are in the Modifying state in the same VPC. Try again later.'], ['errorCode' => 'InvalidCirdrBlock.MaskLength', 'errorMessage' => 'Specified CIDR block is not valid .', 'description' => 'Invalid CIDR block.'], ['errorCode' => 'IncorrectVpcStatus', 'errorMessage' => 'Current VPC status does not support this operation.', 'description' => ''], ['errorCode' => 'CreateVSwitch.IncorrectStatus.cbnStatus', 'errorMessage' => 'Current CBN status does not support this operation.', 'description' => 'You cannot create a vSwitch when the CEN instance is in the current state.'], ['errorCode' => 'InvalidCidrBlock.Malformed', 'errorMessage' => 'Specified CIDR block is not valid.', 'description' => ''], ['errorCode' => 'MissingParameter', 'errorMessage' => 'Miss mandatory parameter.', 'description' => ''], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent, TaskConflict.', 'description' => 'The system is unavailable. Try again later.'], ['errorCode' => 'VPC.SWITCH.RULE.QUOTA.NOT.EXISTS', 'errorMessage' => 'vSwitch quota rule not exists.', 'description' => ''], ['errorCode' => 'Forbidden.VpcNotFound', 'errorMessage' => 'Specified VPC can not found.', 'description' => 'The specified VPC does not exist.'], ['errorCode' => 'RouteConflict.AlreadyExist', 'errorMessage' => 'Route conflict exists in routing table.', 'description' => 'Route conflicts exist in the route table.'], ['errorCode' => 'OperationFailed.CidrAcross', 'errorMessage' => 'Classic link instance cidr must not across.', 'description' => ''], ['errorCode' => 'Duplicated.ClientToken', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationFailed.Ipv6CidrBlockExisted', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.Ipv6CidrBlock', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationFailed.VpcIpv6Disabled', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IncorrectStatus.cbnStatus', 'errorMessage' => 'Current CBN status does not support this operation.', 'description' => 'The status of the CEN instance is invalid.'], ['errorCode' => 'OperationFailed.NotifyCenCreate', 'errorMessage' => 'Failed to notify cen when create vswitch.', 'description' => ''], ['errorCode' => 'OperationFailed.DistibuteLock', 'errorMessage' => 'Distibute lock fail.', 'description' => 'The operation is locked by another request;'], ['errorCode' => 'UnsupportedFeature.CloudBoxIpv6', 'errorMessage' => 'The IPv6 feature is not supported by cloud box.', 'description' => 'You cannot create an IPv6 address for a CloudBox instance.'], ['errorCode' => 'OperationDenied.VpcPeerExist', 'errorMessage' => 'The operation is not allowed because the VPC peer exists.', 'description' => 'The operation failed because VPC peering connections exist.'], ['errorCode' => 'OperationDenied.CenAttached', 'errorMessage' => 'The operation is not allowed because the VPC is attached to CEN.', 'description' => 'The operation is not allowed because the VPC is attached to a CEN instance.'], ['errorCode' => 'OperationDenied.NatgwExist', 'errorMessage' => 'The operation is not allowed because the NAT gateway exists in VPC.', 'description' => 'The operation is not allowed because NAT gateways exist in the VPC.'], ['errorCode' => 'MissingParam.Ipv6CidrBlock', 'errorMessage' => 'The parameter Ipv6CidrBlock is mandatory.', 'description' => 'The Ipv6CidrBlock parameter is required.'], ['errorCode' => 'IllegalParam.VpcIpv6CidrBlock', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationDenied.OtherSubnetCreating', 'errorMessage' => 'The operation is not allowed because the other VSwitch is creating.', 'description' => ''], ['errorCode' => 'OperationDenied.VpcPeerExists', 'errorMessage' => 'The operation is not allowed because the VpcPeer exists.', 'description' => 'The VPC has a VPC peering connection.'], ['errorCode' => 'IllegalParam.CidrBlock', 'errorMessage' => 'The param of CidrBlock [%s] is illegal.', 'description' => 'The CidrBlock parameter is set to an invalid value.'], ['errorCode' => 'InvalidStatus.RouteEntry', 'errorMessage' => 'RouteEntry status error.', 'description' => ''], ['errorCode' => 'InvalidZoneId.NotFound', 'errorMessage' => 'Specified zone does not exist.', 'description' => ''], ['errorCode' => 'OperationDenied.ZoneIsDisabled', 'errorMessage' => 'The specified zone is disabled. You cannot create a vSwitch in a disabled zone.', 'description' => 'The specified zone is disabled. You cannot create a vSwitch in a disabled zone.'], ], 404 => [ ['errorCode' => 'Invalid.NotExist', 'errorMessage' => 'witch mask rule not exists.', 'description' => ''], ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'Specified VPC does not exist.', 'description' => ''], ], ], 'title' => 'CreateVSwitch', 'description' => 'When you call this operation, take note of the following limits:'."\n" ."\n" .'* You can create at most 150 vSwitches in a virtual private cloud (VPC).'."\n" ."\n" .'* The first IP address and last three IP addresses of each vSwitch CIDR block are reserved. For example, if the CIDR block of a vSwitch is 192.168.1.0/24, the IP addresses 192.168.1.0, 192.168.1.253, 192.168.1.254, and 192.168.1.255 are reserved.'."\n" ."\n" .'* The number of instances in a vSwitch cannot exceed the remaining capacity of the VPC. The remaining capacity is the difference between 15,000 and the current number of instances.'."\n" ."\n" .'* Each instance can belong to only one vSwitch.'."\n" ."\n" .'* vSwitches do not support multicast or broadcast.'."\n" ."\n" .'* After you create a vSwitch, you cannot modify its CIDR block.'."\n" ."\n" .'* **CreateVSwitch** 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 [DescribeVSwitchAttributes](~~94567~~) to query the status of the task.'."\n" ."\n" .' * If the vSwitch is in the **Pending** state, the vSwitch is being configured.'."\n" .' * If the vSwitch is in the **Available** state, the vSwitch is available.'."\n" ."\n" .'* You cannot repeatedly call the **CreateVSwitch** operation to create a vSwitch in a VPC within the specified period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-01-17T10:03:48.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-05T05:51:47.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2021-11-17T09:56:46.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'CreateVSwitchCidrReservation' => [ 'summary' => 'Creates a reserved CIDR block for a vSwitch.', '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' => 'Resource tags'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N to add to the resource. You can specify at most 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot start with aliyun or acs:, and cannot contain http:// or https://.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of tag N to add to the resource. You can specify at most 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot start with acs: or aliyun. It cannot contain http:// or https://.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'VSwitchId', 'in' => 'query', 'schema' => ['description' => 'The ID of the vSwitch to which the reserved CIDR block belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vsw-25navfgbue4g****', 'title' => ''], ], [ 'name' => 'VSwitchCidrReservationName', 'in' => 'query', 'schema' => ['description' => 'The name of the reserved CIDR block.'."\n" ."\n" .'The name must be 2 to 128 characters in length and can contain digits, underscores (\\_), and hyphens (-). It must start with a letter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ReservationName', 'title' => ''], ], [ 'name' => 'VSwitchCidrReservationDescription', 'in' => 'query', 'schema' => ['description' => 'The description of the reserved CIDR block. This parameter is empty by default.'."\n" ."\n" .'The description must be 2 to 256 characters in length. It must start with a letter and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ReservationDescription', 'title' => ''], ], [ 'name' => 'IpVersion', 'in' => 'query', 'schema' => ['description' => 'The IP version of the reserved CIDR block. Valid values:'."\n" ."\n" .'* **IPv4** (default)'."\n" .'* **IPv6**'."\n", 'type' => 'string', 'required' => false, 'example' => 'IPv4', 'title' => ''], ], [ 'name' => 'VSwitchCidrReservationMask', 'in' => 'query', 'schema' => ['description' => 'The subnet mask of the reserved CIDR block.'."\n" ."\n" .'* When **IpVersion** is set to **IPv4**, the subnet mask length of the CIDR block must be greater than the IPv4 subnet mask length of the vSwitch and cannot be greater than 28.'."\n" .'* When **IpVersion** is set to **IPv6**, the subnet mask length of the CIDR block must be greater than the IPv6 subnet mask length of the vSwitch and cannot be greater than 80.'."\n" ."\n" .'> You must specify one of **VSwitchCidrReservationMask** and **VSwitchCidrReservationCidr**.'."\n", 'type' => 'string', 'required' => false, 'example' => '28', 'title' => ''], ], [ 'name' => 'VSwitchCidrReservationCidr', 'in' => 'query', 'schema' => ['description' => 'The reserved CIDR block of the vSwitch.'."\n" ."\n" .'* When **IpVersion** is set to **IPv4**, the reserved CIDR block must be a proper subset of the IPv4 CIDR block of the vSwitch and the subnet mask length of the reserved CIDR block cannot be greater than 28.'."\n" .'* When **IpVersion** is set to **IPv6**, the reserved CIDR block must be a proper subset of the IPv6 CIDR block of the vSwitch and the subnet mask length of the reserved CIDR block cannot be greater than 80.'."\n" ."\n" .'> You must specify one of **VSwitchCidrReservationMask** and **VSwitchCidrReservationCidr**.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.1.64/28', 'title' => ''], ], [ 'name' => 'VSwitchCidrReservationType', 'in' => 'query', 'schema' => ['description' => 'The type of reserved CIDR block. Set the value to **prefix**.'."\n" ."\n" .'> When a user or a cloud service allocates a CIDR block to an elastic network interface (ENI), the CIDR block must be allocated from the reserved CIDR block. If the reserved CIDR block is exhausted, an error is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'prefix', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run, without performing the actual request. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the vSwitch is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The ID of the reserved CIDR block.'."\n", 'type' => 'object', 'properties' => [ 'VSwitchCidrReservationId' => ['description' => 'The ID of the reserved CIDR block.'."\n", 'type' => 'string', 'example' => 'vcr-bp1m12saqteraw3rp****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParamFormat', 'errorMessage' => 'IllegalParamFormat', 'description' => 'The parameter format is invalid.'], ['errorCode' => 'IllegalParamFormat.VSwitchCidrReservationCidr', 'errorMessage' => 'The param format of VSwitchCidrReservationCidr is illegal.', 'description' => 'The VSwitchCidrReservationCidr value is invalid.'], ['errorCode' => 'ResourceNotFound.VSwitch', 'errorMessage' => 'The specified resource of VSwitch is not found.', 'description' => 'The specified vSwitch does not exist.'], ['errorCode' => 'UnsupportedFeature.ReservedType', 'errorMessage' => 'The specified ReservedType is not supported.', 'description' => 'The ReservedType value is invalid.'], ['errorCode' => 'UnsupportedFeature.VSwitchIpv6', 'errorMessage' => 'The ipv6 feature of switch is not supported.', 'description' => 'IPv6 is not enabled for the specified vSwitch.'], ['errorCode' => 'OperationFailed.VSwitchCidrReservationCidr', 'errorMessage' => 'The specified VSwitchCidrReservationCidr conflicts with existed cidr reservation or vswitch cidr.', 'description' => 'The VSwitchCidrReservationCidr value conflicts with an existing VSwitchCidrReservation value.'], ['errorCode' => 'MissingParam.CidrReservationMaskOrCidrReservationCidr', 'errorMessage' => 'Either VSwitchCidrReservationMask or VSwitchCidrReservationCidr should be specified.', 'description' => 'You cannot leave both the VSwitchCidrReservationMask and VSwitchCidrReservationCidr parameters empty. Set a value and try again.'], ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'UnsupportedRegion', 'description' => 'The error message returned because the current region does not support this feature.'], ['errorCode' => 'UnsupportedFeature.VpcAdvancedFeature', 'errorMessage' => 'UnsupportedFeature.VpcAdvancedFeature', 'description' => 'The error message returned because the VPC where the specified vSwitch is deployed does not support advanced VPC features. Specify another vSwitch and try again.'], ['errorCode' => 'QuotaExceeded.CidrReservationCount', 'errorMessage' => 'The quota of VSwitchCidrReservation is exceeded.', 'description' => 'The VSwitchCidrReservation value exceeds the upper limit.'], ['errorCode' => 'Conflict.CidrReservationMaskAndCidrReservationCidr', 'errorMessage' => 'The specified VSwitchCidrReservationMask and VSwitchCidrReservationCidr is conflict.', 'description' => 'The VSwitchCidrReservationMask value conflicts with the VSwitchCidrReservationCidr value. Adjust the values and try again.'], ['errorCode' => 'OperationFailed.CidrNotEnoughInVSwitch', 'errorMessage' => 'No enough cidr to allocate in this vswitch.', 'description' => 'The specified vSwitch does not have sufficient CIDR blocks.'], ['errorCode' => 'OperationFailed.SystemReservedIpContained', 'errorMessage' => 'The specified VSwitchCidrReservationCidr cannot contain system reserved IP addresses.', 'description' => 'VSwitchCidrReservationCidr cannot contain a reserved IP address.'], ['errorCode' => 'OperationFailed.AlreadyUsedIpContained', 'errorMessage' => 'The specified VSwitchCidrReservationCidr cannot contain already used IP addresses.', 'description' => 'The reserved CIDR block cannot contain used IP addresses.'], ['errorCode' => 'IncorrectStatus.VSWITCH', 'errorMessage' => 'The status of the specified VSwitch is invalid.', 'description' => '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.', 'description' => '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.', 'description' => 'The operation failed because of the quota %s. The mask of the reserved CIDR block exceeds the default mask of the current IP Prefix, %s/%s.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::ListVSwitchCidrReservations', 'callbackInterval' => 3, 'maxCallbackTimes' => 10], 'title' => 'CreateVSwitchCidrReservation', 'description' => '## [](#)Description'."\n" ."\n" .'Take note of the following items:'."\n" ."\n" .'* You can create at most 10 reserved IPv4 CIDR blocks and 10 reserved IPv6 CIDR blocks for each vSwitch in a virtual private cloud (VPC).'."\n" ."\n" .'* After you create a reserved CIDR block for a vSwitch, the CIDR block cannot contain the IP address of the subnet gateway of the VPC to which the vSwitch belongs.'."\n" ."\n" .'* **CreateVSwitchCidrReservation** 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 [ListVSwitchCidrReservations](~~610155~~) to query the status of the task:'."\n" ."\n" .' * If the vSwitch is in the **Assigning** state, the reserved CIDR block is being created.'."\n" .' * If the vSwitch is in the **Assigned** state, the reserved CIDR block is created.'."\n" ."\n" .'* When you create a reserved IPv4 CIDR block for a vSwitch, the first IP address and the last three IP addresses of the vSwitch are reserved by the system. The four IP addresses will not be allocated.'."\n" ."\n" .'* When you create a reserved IPv6 CIDR block for a vSwitch, the first IP address and the last nine IP addresses of the vSwitch are reserved by the system. The 10 IP addresses will not be allocated. For example, if you create a reserved IPv4 CIDR block for a vSwitch whose CIDR block is 192.168.1.0/24, the reserved CIDR block cannot contain the following IP addresses: 192.168.1.0, 192.168.1.253, 192.168.1.254, and 192.168.1.255.'."\n", 'changeSet' => [ ['createdAt' => '2025-05-07T02:32:57.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-11-27T03:27:10.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVSwitchCidrReservation', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitchCidrReservation', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitchcidrreservation/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"VSwitchCidrReservationId\\": \\"vcr-bp1m12saqteraw3rp****\\",\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","type":"json"}]', ], 'CreateVbrHa' => [ 'summary' => 'Creates a VBR failover group by calling the CreateVbrHa operation.', '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' => 'The description of the VBR failover group.'."\n" ."\n" .'The description must be 2 to 256 characters in length and must start with a letter or a Chinese character. It cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'VBRHa', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the VBR failover group.', 'type' => 'string', 'required' => false, 'example' => 'VBRHa', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => 'CBCE910E-D396-4944-8****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run. The system checks the required parameters, request syntax, and instance status. If the check fails, the corresponding error is returned. If the check succeeds, `DRYRUN.SUCCESS` is returned.'."\n" ."\n" .'- **false** (default): sends the request. After the request passes the check, the instance is started.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'VbrId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the VBR.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vbr-bp1jcg5cmxjbl9xgc****', 'title' => ''], ], [ 'name' => 'PeerVbrId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the other VBR in the VBR failover group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vbr-bp12mw1f8k3jgygk9****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VBR.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'VbrHaId' => ['description' => 'The instance ID of the VBR failover group.', 'type' => 'string', 'example' => 'vbrha-sa1sxheuxtd98****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.VbrCenNotConsistent', 'errorMessage' => 'The VBR and the peer VBR are attached to different CENs.', 'description' => ''], ['errorCode' => 'OperationFailed.VbrAliUidNotConsistent', 'errorMessage' => 'The VBR and the peer VBR belong to different AliUids.', 'description' => ''], ['errorCode' => 'OperationFailed.VbrAccessDeviceSame', 'errorMessage' => 'The VBR and the peer VBR are in the same device.', 'description' => ''], ['errorCode' => 'OperationFailed.VbrBandWidthExceed', 'errorMessage' => 'The VBR bandwidth exceeds the limit.', 'description' => ''], ['errorCode' => 'OperationFailed.VbrInUsedByOtherHa', 'errorMessage' => 'The VBR is used by another VBR HA.', 'description' => ''], ['errorCode' => 'OperationFailed.VbrBgpPeerNotEnableBfd', 'errorMessage' => 'The VBR BGP has not enabled BFD.', 'description' => ''], ['errorCode' => 'OperationFailed.VbrCenNotRelation', 'errorMessage' => 'The VBR is not attached to any CEN.', 'description' => ''], ['errorCode' => 'OperationFailed.BgpGroupLocalAsnMustSameEachOther', 'errorMessage' => 'VBR bgpGroup local asn must same each other.', 'description' => 'The BGP group AS numbers of the VBRs in the switching group must be consistent with each other.'], ['errorCode' => 'IllegalParam.BgpGroupLocalAsn', 'errorMessage' => 'Vbr bgp group local asn must same with ecr asn.', 'description' => 'The Alibaba Cloud BGP AS number of the BGP group must be the same as that of the ECR.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.Vbr', 'errorMessage' => 'The VBR resource is not found.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Create a VBR failover group', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-07-29T02:44:51.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVbrHa'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVbrHa', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"VbrHaId\\": \\"vbrha-sa1sxheuxtd98****\\",\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","type":"json"}]', ], 'CreateVcoRouteEntry' => [ 'summary' => 'Adds a destination-based route for an IPsec-VPN connection.', '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' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VpnConnectionId', 'in' => 'query', 'schema' => ['description' => 'The response parameters.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vco-p0w2jpkhi2eeop6q6****', 'title' => ''], ], [ 'name' => 'RouteDest', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPsec-VPN connection.'."\n", 'type' => 'string', 'required' => true, 'example' => '192.168.10.0/24', 'title' => ''], ], [ 'name' => 'Weight', 'in' => 'query', 'schema' => ['description' => 'The destination CIDR block of the destination-based route.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '100', 'title' => ''], ], [ 'name' => 'NextHop', 'in' => 'query', 'schema' => ['description' => 'The next hop of the destination-based route.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vco-p0w2jpkhi2eeop6q6****', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The weight of the destination-based route. Valid values:'."\n" ."\n" .'* **0**: a low priority.'."\n" .'* **100**: a high priority.'."\n", 'type' => 'string', 'required' => false, 'example' => 'desctest', 'title' => ''], ], [ 'name' => 'OverlayMode', 'in' => 'query', 'schema' => ['description' => 'The tunneling protocol.'."\n" ."\n" .'The value is set to **Ipsec**, which indicates the IPsec tunneling protocol.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Ipsec', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The status of the destination-based route.'."\n" ."\n" .'Only **published** is returned, which indicates that the current route is published to the transit router.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to only precheck the request. Valid values:'."\n" ."\n" .'* **true**: prechecks the request without performing the operation. The system prechecks the required parameters, request syntax, and limits. If the request fails to pass the precheck, an error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): sends the request. After the request passes the precheck, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'PlainResponse4OpenApi', 'description' => 'The timestamp when the destination-based route was created. Unit: milliseconds.'."\n" ."\n" .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'object', 'properties' => [ 'VpnConnectionId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'vco-p0w2jpkhi2eeop6q6****', 'title' => ''], 'RouteDest' => ['description' => 'The description of the destination-based route.'."\n", 'type' => 'string', 'example' => '192.168.10.0/24', 'title' => ''], 'NextHop' => ['type' => 'string', 'description' => 'The next hop of the destination-based route entry. ', 'example' => 'vco-p0w2jpkhi2eeop6q6****', 'title' => ''], 'Weight' => ['type' => 'integer', 'description' => 'The weight of the destination-based route entry. '."\n" ."\n" .'- **0**: indicates low priority. '."\n" .'- **100**: indicates high priority. ', 'format' => 'int32', 'example' => '100', 'title' => ''], 'OverlayMode' => ['type' => 'string', 'description' => 'The tunnel protocol. '."\n" ."\n" .'Valid value: **Ipsec**, which indicates the IPsec tunnel protocol. ', 'example' => 'Ipsec', 'title' => ''], 'State' => ['type' => 'string', 'description' => 'The publish status of the destination-based route entry. '."\n" ."\n" .'Valid value: **published**, which indicates that the route entry has been published to the transit router instance. ', 'example' => 'published', 'title' => ''], 'CreateTime' => ['type' => 'integer', 'description' => 'The UNIX timestamp when the destination-based route entry was created. Unit: milliseconds. '."\n" ."\n" .'The timestamp follows the Unix time format, which represents the total number of milliseconds elapsed since 00:00:00 UTC on January 1, 1970, until the destination-based route entry was created. ', 'format' => 'int64', 'example' => '1658387202664', 'title' => ''], 'RequestId' => ['type' => 'string', 'description' => 'The request ID. ', 'example' => 'CFC4D13B-E680-3985-95B1-87AA155481DF', 'title' => ''], 'Description' => ['type' => 'string', 'description' => 'The description of the destination-based route entry. ', 'example' => 'desctest', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'VpnConnection.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => 'The service is being configured. Try again later.'], ['errorCode' => 'VpnConnection.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => 'The error message returned because the service is locked due to overdue payments.'], ['errorCode' => 'VpnRouteEntry.AlreadyExists', 'errorMessage' => 'The specified route entry is already exist.', 'description' => 'The route already exists.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified route entry has conflict.', 'description' => 'Route conflicts exist.'], ['errorCode' => 'VpnRouteEntry.ConflictSSL', 'errorMessage' => 'The specified route entry has conflict with SSL client.', 'description' => 'The route conflicts with the SSL client.'], ['errorCode' => 'VpnRouteEntry.BackupRoute', 'errorMessage' => 'Validate backup route entry failed.', 'description' => 'Active/standby routes failed authentication.'], ['errorCode' => 'InvalidNextHop.NotFound', 'errorMessage' => 'The specified NextHop does not exist.', 'description' => 'The specified next hop does not exist.'], ['errorCode' => 'IllegalParam.RouteDest', 'errorMessage' => 'The specified RouteDest is invalid', 'description' => 'The destination address is invalid.'], ['errorCode' => 'OperationFailed.InvalidCidrBlock', 'errorMessage' => 'Operation failed because the specified network block is invalid.', 'description' => 'The CIDR 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.', 'description' => '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.', 'description' => 'Your requests are too frequent. Try again later.'], ['errorCode' => 'Resource.PbrRouteQuotaFull', 'errorMessage' => 'The quota of Policy-based route is full.', 'description' => 'Policy routing quota exceeded'], ['errorCode' => 'CreatePbrRoutesQuotaFull.QuotaFull', 'errorMessage' => 'The number of policy routes exceeds the quota limit.', 'description' => 'The number of policy routes exceeds the quota limit.'], ['errorCode' => 'CreateDbrRoutesQuotaFull.QuotaFull', 'errorMessage' => 'The number of created destination routes exceeds the quota limit.', 'description' => 'The number of created destination routes exceeds the quota limit.'], ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The request passed the dry run.'], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'The error message returned because you do not have the permissions to manage the resource.'], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', 'errorMessage' => 'The specified vpn connection instance id does not exist.', 'description' => 'The specified vpn connection instance id does not exist.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnConnection', 'callbackInterval' => 1000, 'maxCallbackTimes' => 10], 'title' => 'CreateVcoRouteEntry', 'description' => '- The IPsec-VPN connection must be attached to a transit router instance. For more information, see [CreateTransitRouterVpnAttachment](~~468249~~). '."\n" .'- You cannot add a destination-based route with a destination CIDR block of 0.0.0.0/0. '."\n" .'- Do not add destination-based routes with a destination CIDR block of 100.64.0.0/10, any subnet within 100.64.0.0/10, or any CIDR block that includes 100.64.0.0/10. Such route entries may cause the console to fail to display the status of the IPsec-VPN connection or cause IPsec tunnel negotiation to fail. '."\n" .'- The **CreateVcoRouteEntry** API is asynchronous. The system immediately returns an instance ID, but the destination-based route entry is not yet created successfully. The creation task continues in the background. You can invoke [DescribeVpnConnection](~~53046~~) to query the creation status of the destination-based route entry: '."\n" .' - If the IPsec-VPN connection is in the **updating** state, the destination-based route entry is being created. '."\n" .' - If the IPsec-VPN connection is in the **attached** state, the destination-based route entry has been created successfully. '."\n" .'- The **CreateVcoRouteEntry** API does not support concurrent creation of destination-based route entries under the same IPsec-VPN connection. ', 'changeSet' => [ ['createdAt' => '2025-05-23T06:50:35.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2024-01-04T07:17:09.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-16T10:11:31.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'translator' => 'machine', ], 'CreateVirtualBorderRouter' => [ 'summary' => 'Creates a virtual border router (VBR).', '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' => 'The region ID of the Express Connect circuit.'."\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', 'title' => ''], ], [ 'name' => 'PhysicalConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Express Connect circuit.'."\n" ."\n" .'You can create a VBR for a dedicated connection or a hosted connection.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'pc-2zextbehcx****', 'title' => ''], ], [ 'name' => 'VbrOwnerId', 'in' => 'query', 'schema' => ['description' => 'The account ID of the VBR owner.'."\n" ."\n" .'The default value is the ID of the current Alibaba Cloud account.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '168811111****', 'title' => ''], ], [ 'name' => 'VlanId', 'in' => 'query', 'schema' => ['description' => 'The VLAN ID of the VBR. Valid values: **0 to 2999**.'."\n" ."\n" .'> Only the owner of the Express Connect circuit can set this parameter. The VLAN IDs of two VBRs of the same the Express Connect circuit must be different.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '0', 'title' => ''], ], [ 'name' => 'CircuitCode', 'in' => 'query', 'schema' => ['description' => 'The circuit code of the Express Connect circuit. The circuit code is provided by the connectivity provider.'."\n" ."\n" .'> Only the owner of the Express Connect circuit can set this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'longtel001', 'title' => ''], ], [ 'name' => 'LocalGatewayIp', 'in' => 'query', 'schema' => ['description' => 'The IP address of the VBR. Only the owner of the VBR can set or modify this parameter.'."\n" ."\n" .'When you create a VBR for the owner of the Express Connect circuit, this parameter is required.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '192.168.XX.XX', 'title' => ''], ], [ 'name' => 'PeerGatewayIp', 'in' => 'query', 'schema' => ['description' => 'The IP address of the gateway device in the data center. Only the owner of the VBR can set or modify this parameter.'."\n" ."\n" .'When you create a VBR for the owner of the Express Connect circuit, this parameter is required.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '116.62.XX.XX', 'title' => ''], ], [ 'name' => 'PeeringSubnetMask', 'in' => 'query', 'schema' => ['description' => 'The subnet mask of the IP addresses of the VBR and the gateway device in the data center.'."\n" ."\n" .'The two IP addresses must fall within the same subnet.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '255.255.255.252', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the VBR.'."\n" ."\n" .'The description must be 2 to 256 characters in length. The description must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'desc', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the VBR.'."\n" ."\n" .'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests.'."\n" ."\n" .'> If you do not set this parameter, the system automatically sets **ClientToken** to the value of **RequestId**. The value of **RequestId** may be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'LocalIpv6GatewayIp', 'in' => 'query', 'schema' => ['description' => 'The IPv6 address of the VBR. Only the owner of the VBR can set or modify this parameter.'."\n" ."\n" .'When you create a VBR for the owner of the Express Connect circuit, this parameter is required.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '2001:XXXX:3c4d:0015:0000:0000:0000:1a2b', 'title' => ''], ], [ 'name' => 'PeerIpv6GatewayIp', 'in' => 'query', 'schema' => ['description' => 'The IPv6 address of the gateway device in the data center. Only the owner of the VBR can set or modify this parameter.'."\n" ."\n" .'When you create a VBR for the owner of the Express Connect circuit, this parameter is required.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '2001:XXXX:4:4:4:4:4:4', 'title' => ''], ], [ 'name' => 'PeeringIpv6SubnetMask', 'in' => 'query', 'schema' => ['description' => 'The subnet mask of the IPv6 addresses of the VBR and the gateway device in the data center.'."\n" ."\n" .'The two IPv6 addresses must fall within the same subnet.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '2408:4004:cc:400::/56', 'title' => ''], ], [ 'name' => 'EnableIpv6', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable IPv6. Valid values:'."\n" ."\n" .'* **true**: enables IPv6.'."\n" .'* **false** (default): disables IPv6.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The bandwidth of the VBR. Unit: Mbit/s.'."\n" ."\n" .'* When you create a VBR for a dedicated connection, valid values are **50**, **100**, **200**, **300**, **400**, **500**, **1000**, **2048**, **5120**, **8192**, **10240**, **20480**, **40960**, **50120**, **61440**, and **102400**.'."\n" .'* You do not need to set this parameter when you create a VBR for a hosted connection. The bandwidth is already configured when the hosted connection is created.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The resource group ID.'."\n" ."\n" .'For more information about resource group, see [What is Resource Management?](~~94475~~)'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The information about the tags.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. You must enter at least one tag key. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'A tag key can be at most 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value. You can specify at most 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'VbrId' => ['description' => 'The ID of the VBR.'."\n", 'type' => 'string', 'example' => 'vbr-bp1jcg5cmxjbl9xgc****', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.PconnAllocateVlan0', 'errorMessage' => 'Vlan 0 Vbr cannot share the physical connection with another Vbr.', 'description' => 'The operation failed because VLAN 0 is set to a VBR associated with the Express Connect circuit and you cannot set VLAN 0 to other VBRs.'], ['errorCode' => 'IllegalParam.IpAddress', 'errorMessage' => 'The specified IpAddress (%s) is illegal.', 'description' => 'The IpAddress parameter is set to an invalid value.'], ['errorCode' => 'IllegalParam.CidrBlock', 'errorMessage' => 'The specified CidrBlock (%s) is illegal.', 'description' => 'The CidrBlock parameter is set to an invalid value.'], ['errorCode' => 'InvalidPhysicalConnectionId.NotFound', 'errorMessage' => 'The specified PhysicalConnectionId is not found.', 'description' => 'The specified Express Connect circuit ID does not exist.'], ['errorCode' => 'InvalidVlanId.Used', 'errorMessage' => 'The specified VlanId has been used.', 'description' => ''], ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter \'PhysicalConnectionId\' that is mandatory for processing this request is not supplied.', 'description' => ''], ['errorCode' => 'InvalidPhysicalConnectionId.NotEnabled', 'errorMessage' => 'The specified PhysicalConnectionId is not in Enabled state.', 'description' => ''], ['errorCode' => 'InvalidVlanId.Malformed', 'errorMessage' => 'The specified VlanId is not valid.', 'description' => ''], ['errorCode' => 'InvalidCircuitCode.Malformed', 'errorMessage' => 'The specified CircuitCode is not valid.', 'description' => ''], ['errorCode' => 'InvalidLocalGatewayIp.Malformed', 'errorMessage' => 'The specified LocalGatewayIp is not valid.', 'description' => ''], ['errorCode' => 'InvalidPeeringSubnetMask.Malformed', 'errorMessage' => 'The specified PeeringSubnetMask is not valid.', 'description' => 'PeeringSubnetMask is set to an invalid value.'], ['errorCode' => 'InvalidName.Malformed', 'errorMessage' => 'The specified ?Name? is not valid.', 'description' => ''], ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'The specifid ?Description? is not valid.', 'description' => 'The error message returned because the specified resource description is invalid. The description must be 2 to 256 characters in length and cannot start with http:// or https://.'], ['errorCode' => 'QuotaExceeded.vbrPerpConn', 'errorMessage' => 'Virtual boarder router per PhysicalConnection quota exceed.', 'description' => ''], ['errorCode' => 'QuotaExceeded.freevbr', 'errorMessage' => 'Free virtual boarder router quota exceed.', 'description' => ''], ['errorCode' => 'InvalidIp.NotSameSubnet', 'errorMessage' => 'Local gateway ip and peer gateway ip are not in the same subnet.', 'description' => 'The IP addresses of the local gateway and the peer gateway do not fall within the same subnet.'], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', 'description' => 'Your requests are too frequent. Try again later.'], ['errorCode' => 'QuotaExceeded.CrossUserVBRPerUser', 'errorMessage' => 'Cross virtual boarder router per user quota exceed.', 'description' => 'The upper limit is reached.'], ['errorCode' => 'OperationFailed.VlanIdInUse', 'errorMessage' => 'Operation failed because vlanId is in use.', 'description' => 'The VLAN ID is already used.'], ['errorCode' => 'QuotaExceeded.SameAccountVBRPerPconn', 'errorMessage' => 'Same account virtual boarder router per physicalConnection quota exceed.', 'description' => 'The number of VBRs exceeds the upper limit.'], ['errorCode' => 'QuotaExceeded.VbrPerPconnPortSpec', 'errorMessage' => 'Quota exceed for current port spec', 'description' => 'The upper limit is reached.'], ['errorCode' => 'QuotaExceeded.VbrPerAccessDevice', 'errorMessage' => 'Virtual boarder router per access device quota exceed.', 'description' => 'The number of devices exceeds the upper limit.'], ['errorCode' => 'OperationUnsupported.IPV6ForThisRegion', 'errorMessage' => 'This Region do not support IPV6.', 'description' => 'The region does not support IPv6.'], ['errorCode' => 'VbrBandwidthExceed', 'errorMessage' => 'VBR bandwidth exceed for this physical connection.', 'description' => 'The bandwidth of the VBR exceeds the upper limit supported by the Express Connect circuit.'], ['errorCode' => 'OperationFailed.PconnExistVlan0Vbr', 'errorMessage' => 'The physical connection has VLAN 0 VBR. You cannot create another VBR.', 'description' => 'You cannot create other VBRs for this Express Connect circuit because a VBR with VLAN 0 is already created for this Express Connect circuit.'], ['errorCode' => 'OperationFailed.Vlan0VbrUnSharePconn', 'errorMessage' => 'VLAN 0 VBR cannot share the physical connection with another VBR.', 'description' => 'You cannot create a VBR with VLAN 0 for this Express Connect circuit because another VBR with VLAN 0 is already created for this Express Connect circuit.'], ['errorCode' => 'OperationFailed.PconnTrafficNotEnable', 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', 'description' => 'Billing for outbound data transfer is disabled.'], ['errorCode' => 'ResourceNotEnough.Bandwidth', 'errorMessage' => 'The specified resource of Bandwidth is not enough.', 'description' => 'The specified resource of Bandwidth is insufficient.'], ['errorCode' => 'OperationUnsupported.VirtualBorderRouterEnableIPv6', 'errorMessage' => 'The operation failed. The device or region does not support IPv6 functions.', 'description' => 'The operation failed because the device or region does not support IPv6.'], ['errorCode' => 'IllegalParam.OwnerAliUid', 'errorMessage' => 'The param of VbrOwnerId is illegal.', 'description' => 'The UID of the resource owner is invalid.'], ['errorCode' => 'Forbidden.OwnerAliUid', 'errorMessage' => 'RAM account or Partner account is forbidden to be OwnerAliUid.', 'description' => 'You must set VbrOwnerId to the ID of a RAM user or a partner account. You cannot use the VBR owner account.'], ['errorCode' => 'OperationDenied.VPconn', 'errorMessage' => 'Vpconn is forbidden to create vbr for another account.', 'description' => 'You cannot create a VBR for another account.'], ['errorCode' => 'OperationFailed.NotConsistentWithVpconn', 'errorMessage' => 'VBR bandwidth is not consistent with vpconn', 'description' => 'The bandwidth value of the VBR is not the same as the bandwidth value of the hosted connection to which the VBR belongs.'], ['errorCode' => 'IllegalParam.Bandwidth', 'errorMessage' => 'The param of bandwidth is illegal.', 'description' => 'The Bandwidth parameter is set to an invalid value.'], ['errorCode' => 'OperationFailed.VirtualPhysicalConnectionExistVBR', 'errorMessage' => 'The virtual physical connect has already created another VBR.', 'description' => 'You cannot create another VBR for the hosted connection because a VBR is already created.'], ['errorCode' => 'ResourceNotInResourceGroup', 'errorMessage' => 'The specified resource is not in the specified ResourceGroup.', 'description' => 'The specified resource does not belong to the resource group.'], ['errorCode' => 'IncorrectStatus.VirtualPhysicalConnection', 'errorMessage' => 'The status of PhysicalConnection [%s] is incorrect.', 'description' => 'The status of the shared Express Connect circuit [%s] is invalid.'], ['errorCode' => 'EcAssociatedQoSPconnNotAllowCreateCrossAccountVbr', 'errorMessage' => 'The specified Pconn associated with Qos is not allowed to create cross account VBR.Please contact the business manager.', 'description' => 'Shared physical lines bound with QoS policies do not allow cross-account virtual border routers to be created. Contact the business manager.'], ['errorCode' => 'OperationFailed.VbrBandWidthMust0InVlan0Vbr', 'errorMessage' => 'The operation is failed because of VbrBandWidthMust0InVlan0Vbr.', 'description' => 'Operation failed, speed limit configuration is not allowed.'], ['errorCode' => 'OperationDenied.PhysicalConnectionNotSupportMPBGPAndMPBGP-v6', 'errorMessage' => 'The operation is not allowed because this physical connection not support MPBGP and MPBGP-v6.', 'description' => 'The operation is not allowed because the current physical port does not support advanced capabilities such as MPBGP and MPBGP-v6.'], ], 403 => [ ['errorCode' => 'Forbidden.LocalGatewayIpNotAllowedByCaller', 'errorMessage' => 'The caller is not allowed to specify the LocalGatewayIp parameter.', 'description' => ''], ['errorCode' => 'Forbidden.PeerGatewayIpNotAllowedByCaller', 'errorMessage' => 'The caller is not allowed to specify the PeerGatewayIp parameter.', 'description' => ''], ['errorCode' => 'Forbidden.PeeringSubnetMaskNotAllowedByCaller', 'errorMessage' => 'The caller is not allowed to specify the PeeringSubnetMask parameter.', 'description' => ''], ['errorCode' => 'Forbidden.NameNotAllowedByCaller', 'errorMessage' => 'The caller is not allowed to specify the Name parameter.', 'description' => ''], ['errorCode' => 'Forbidden.DescriptionNotAllowedByCaller', 'errorMessage' => 'The caller is not allowed to specify the Description parameter.', 'description' => ''], ], [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId is not found.', 'description' => 'The specified region ID is invalid. Check whether the service is available in the specified region.'], ['errorCode' => 'InvalidVbrOwnerId.NotFound', 'errorMessage' => 'The specified VbrOwnerId is not valid.', 'description' => ''], ['errorCode' => 'CROSS_BID.FORBIDDEN', 'errorMessage' => 'Create VBR across bid is illegal', 'description' => 'You are not allowed to create a VBR for another Alibaba Cloud account.'], ['errorCode' => 'OperationFailed.AccessDeviceDisabled', 'errorMessage' => 'Access device is disabled and can not create vbr.', 'description' => 'You cannot create a VBR because the access device is disabled.'], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => 'An internal error occurred.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], 'title' => 'CreateVirtualBorderRouter', 'description' => 'After you create a VBR, the VBR is in the **active** state.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-11-12T08:03:53.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-02-01T03:33:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-24T11:57:52.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-20T11:21:57.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2022-12-07T08:23:09.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-05T08:06:02.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-07-30T09:21:18.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-07-30T09:21:18.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-07-30T09:21:18.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'CreateVirtualPhysicalConnection' => [ 'summary' => 'Invokes the CreateVirtualPhysicalConnection operation to create shared Express Connect circuits.', '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' => '', 'description' => 'The payer of the shared Express Connect circuits. Valid values:'."\n" ."\n" .'- **PayByPhysicalConnectionOwner**: The partner pays.'."\n" .'- **PayByVirtualPhysicalConnectionOwner**: The tenant pays.', 'type' => 'string', 'required' => true, 'example' => 'PayByVirtualPhysicalConnectionOwner', 'enum' => ['PayByVirtualPhysicalConnectionOwner', 'PayByPhysicalConnectionOwner'], ], ], [ 'name' => 'VlanId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The VLAN ID of the shared Express Connect circuits. Valid values: **0** to **2999**.'."\n" ."\n" .'- If the VLAN ID is set to **0**, the physical switch port of the Virtual Border Router (VBR) uses Layer 3 routing interface mode instead of VLAN mode. In Layer 3 routing interface mode, each Express Connect circuit corresponds to one VBR.'."\n" .'- If the VLAN ID is set to a value from **1** to **2999**, the physical switch port of the VBR uses VLAN-based Layer 3 subinterface mode. In Layer 3 subinterface mode, each VLAN ID corresponds to one VBR. In this case, the Express Connect circuit of the VBR can connect to VPCs under multiple accounts. VBRs in different VLANs have Layer 2 network isolation and cannot communicate with each other.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '4'], ], [ 'name' => 'Spec', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The bandwidth value of the shared Express Connect circuits.'."\n" ."\n" .'Valid values: **50M**, **100M**, **200M**, **300M**, **400M**, **500M**, **1G**, **2G**, **5G**, **8G**, and **10G**.'."\n" ."\n" .''."\n" .'> The bandwidth values **2G**, **5G**, **8G**, and **10G** are not available by default. To use these values, contact your account manager.'."\n" ."\n" .''."\n" .'> The bandwidth values **2G**, **5G**, **8G**, and **10G** are not available by default. To use these values, contact your account manager.'."\n" ."\n" .'Unit: **M** indicates Mbit/s. **G** indicates Gbit/s.', 'type' => 'string', 'required' => true, 'example' => '50M'], ], [ 'name' => 'VpconnAliUid', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The Alibaba Cloud account ID of the tenant.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1210123456123456'], ], [ 'name' => 'PhysicalConnectionId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the Express Connect circuit associated with the shared Express Connect circuits.', 'type' => 'string', 'required' => true, 'example' => 'pc-bp1ciz7ekd2grn1as****'], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The name of the shared Express Connect circuits.'."\n" ."\n" .'The name must be 2 to 128 characters in length and must start with a letter or a Chinese character. It can contain digits, underscores (\\_), and hyphens (-) but cannot start with `http://` or `https://`.', 'type' => 'string', 'example' => 'nametest', 'required' => false], ], [ 'name' => 'Token', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a parameter value from your client to ensure uniqueness across different requests. ClientToken supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => 'CBCE910E-D396-4944-8****'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run without creating the shared Express Connect circuits. The system checks the required parameters, request format, and instance status. If the check fails, the corresponding error is returned. If the check succeeds, `DRYRUN.SUCCESS` is returned.'."\n" .'- **false** (default): sends a Normal request. After the request passes the check, the shared Express Connect circuits are created.', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The description of the shared Express Connect circuits.'."\n" ."\n" .'The description must be 2 to 256 characters in length and must start with a letter or a Chinese character. It cannot start with `http://` or `https://`.', 'type' => 'string', 'example' => 'desctest', 'required' => false], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the shared Express Connect circuits.'."\n" ."\n" .'You can invoke the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the shared Express Connect circuits belong.', 'type' => 'string', 'required' => false, 'example' => 'rg-aekzjty2chzuqky', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ 'description' => 'The list of tags.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 64 characters in length and can contain digits, periods (.), underscores (\\_), and hyphens (-). It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and can contain digits, periods (.), underscores (\\_), and hyphens (-). It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The request ID.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'CD14EA74-E9C3-59A9-942A-DFEC7E12818D'], 'VirtualPhysicalConnection' => ['title' => '', 'description' => 'The instance ID of the shared Express Connect circuits.', 'type' => 'string', 'example' => 'pc-bp1mrgfbtmc9brre7****'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.VbrBindedPconn', 'errorMessage' => 'The operation is failed because of VbrBindedPconn.', 'description' => 'A hosted connection is created for the VBR.'], ['errorCode' => 'IllegalParam.Bandwidth', 'errorMessage' => 'The param of Bandwidth [%s] is illegal.', 'description' => 'The specified bandwidth value is invalid.'], ['errorCode' => 'ResourceNotFound.PhysicalConnectionId', 'errorMessage' => 'The specified PhysicalConnectionId [%s] is not found.', 'description' => 'PhysicalConnectionId is set to an invalid value.'], ['errorCode' => 'OperationFailed.VPconnCreated', 'errorMessage' => 'The operation is failed because of VPconnCreated.', 'description' => 'You cannot create an Express Connect circuit.'], ['errorCode' => 'MissingParam.Spec', 'errorMessage' => 'The param of Spec is missing.', 'description' => 'The Spec parameter is not set.'], ['errorCode' => 'IllegalParam.Spec', 'errorMessage' => 'The param of Spec is illegal.', 'description' => 'The Spec parameter is set to an invalid value.'], ['errorCode' => 'IllegalParam.VlanId', 'errorMessage' => 'The param of VlanId is illegal.', 'description' => 'The VlanId parameter is set to an invalid value.'], ['errorCode' => 'VLAN_ID_HAS_BEEN_USED_IN_PHYSICAL_CONNECTION', 'errorMessage' => 'vlan id has been used in physical connection', 'description' => ''], ['errorCode' => 'InvalidPhysicalConnectionId.NotFound', 'errorMessage' => 'The specified PhysicalConnectionId is not found.', 'description' => 'The specified Express Connect circuit ID does not exist.'], ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter \'PhysicalConnectionId\' that is mandatory for processing this request is not supplied.', 'description' => ''], ['errorCode' => 'InvalidPhysicalConnectionId.NotEnabled', 'errorMessage' => 'The specified PhysicalConnectionId is not in Enabled state.', 'description' => ''], ['errorCode' => 'OperationFailed.PconnAllocateVlan0', 'errorMessage' => 'The operation is failed because of PconnAllocatedResource.', 'description' => ''], ['errorCode' => 'InvalidVlanId.Malformed', 'errorMessage' => 'The specified VlanId is not valid.', 'description' => ''], ['errorCode' => 'InvalidName.Malformed', 'errorMessage' => 'The specified Name is not valid.', 'description' => 'The Name parameter is set to an invalid value.'], ['errorCode' => 'ResourceNotEnough.Bandwidth', 'errorMessage' => 'The specified resource of Bandwidth is not enough.', 'description' => 'The specified resource of Bandwidth is insufficient.'], ['errorCode' => 'IllegalParam.VpconnAliUid', 'errorMessage' => 'The specified AliUid of Vpconn is illegal.', 'description' => 'The AliUid parameter of the Express Connect circuit is set to an invalid value.'], ['errorCode' => 'IllegalParam.OrderMode', 'errorMessage' => 'The param of OrderMode is illegal.', 'description' => 'The OrderMode parameter is set to an invalid value.'], ['errorCode' => 'Forbidden.VpconnAliUid', 'errorMessage' => 'Vpconn UID is forbidden to belong to a RAM account or partner account.', 'description' => 'The UID of a shared port cannot be the UID of a RAM user or a partner account.'], ['errorCode' => 'QuotaExceeded.VPCONN', 'errorMessage' => 'The quota of VPCONN_COUNT_PER_PCONN is exceeded', 'description' => 'The number of shared ports created for an Express Connect circuit exceeds the upper limit.'], ['errorCode' => 'OperationDenied.CreateVpconn', 'errorMessage' => 'You are not allowed to create virtual physical connection. Please contact your CBM.', 'description' => 'If you do not have permission to create a shared line, please contact the business manager.'], ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'The specified Description is not valid.', 'description' => 'Parameter Description value is illegal'], ['errorCode' => 'EcAssociatedQoSPconnNotAllowCreateVpconn', 'errorMessage' => 'The specified Pconn associated with Qos is not allowed to create Vpconn.Please contact the business manager.', 'description' => 'Exclusive physical lines bound with QoS policies are not allowed to create shared physical lines. Please contact the business manager.'], ['errorCode' => 'IllegalParam.ResourceGroupId', 'errorMessage' => 'Invalid ResourceGroupld value.', 'description' => 'The specified resource group is invalid or does not exist.'], ['errorCode' => 'Forbidden.VpconnCrossBid', 'errorMessage' => 'Not allow to create across bid virtual physical connection.', 'description' => ''], ['errorCode' => 'IncorrectStatus.PhysicalConnection', 'errorMessage' => 'Invalid physical connection status.', 'description' => 'The Express Connect circuit is in an invalid state.'], ['errorCode' => 'OperationDenied.PhysicalConnectionNotSupportMPBGPAndMPBGP-v6', 'errorMessage' => 'The operation is not allowed because this physical connection not support MPBGP and MPBGP-v6.', 'description' => 'The operation is not allowed because the current physical port does not support advanced capabilities such as MPBGP and MPBGP-v6.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Create a shared express connect circuit', 'description' => 'Before calling this operation, familiarize yourself with the creation process and environment requirements for shared Express Connect circuits. For more information, see [Overview of shared Express Connect circuits](~~146571~~) and [Partner operation guide](~~155987~~).', 'changeSet' => [ ['createdAt' => '2024-05-08T02:53:52.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-02-01T03:33:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-12-21T05:47:23.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-14T12:05:06.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2022-12-22T07:46:11.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2022-12-15T01:36:50.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-05T08:06:02.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-02T02:38:40.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2021-11-17T09:56:46.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-17T09:56:46.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-09-27T03:23:37.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2021-09-27T03:23:37.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-09-27T03:23:37.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVirtualPhysicalConnection'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVirtualPhysicalConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#physicalconnectionId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CD14EA74-E9C3-59A9-942A-DFEC7E12818D\\",\\n \\"VirtualPhysicalConnection\\": \\"pc-bp1mrgfbtmc9brre7****\\"\\n}","type":"json"}]', ], 'CreateVpc' => [ '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' => 'The region ID of the VPC.'."\n" ."\n" .'You can call [DescribeRegions](~~36063~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'CidrBlock', 'in' => 'query', 'schema' => ['description' => 'The CIDR block of the VPC.'."\n" ."\n" .'- We recommend that you use an IPv4 address specified in RFC 1918 as the primary IPv4 CIDR block of the virtual private cloud (VPC). The subnet mask must be 16 to 28 bits in length. Examples: 10.0.0.0/16, 172.16.0.0/16, and 192.168.0.0/16.'."\n" .'- You can also use a custom CIDR block other than 100.64.0.0/10, 224.0.0.0/4, 127.0.0.0/8, 169.254.0.0/16, or their subnets as the primary IPv4 CIDR block of the virtual private cloud (VPC).', 'type' => 'string', 'required' => false, 'default' => '172.16.0.0/12', 'example' => '172.16.0.0/12', 'title' => ''], ], [ 'name' => 'Ipv6CidrBlock', 'in' => 'query', 'schema' => ['description' => 'The IPv6 CIDR block of the VPC. When you enable IPv6 for the VPC, the system will assign an IPv6 CIDR block. To specify an IPv6 CIDR block, you must first invoke [AllocateVpcIpv6Cidr](~~448916~~) to reserve the IPv6 CIDR block, and then pass it in.', 'type' => 'string', 'required' => false, 'example' => '2408:XXXX:0:6a::/56', 'title' => ''], ], [ 'name' => 'VpcName', 'in' => 'query', 'schema' => ['description' => 'The name of the VPC.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'abc', 'title' => ''], ], [ 'name' => 'EnableIpv6', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable IPv6. Valid values:'."\n" ."\n" .'- **false** (default): disabled.'."\n" .'- **true**: enabled.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the VPC.'."\n" ."\n" .'The description must be 1 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'This is my first Vpc', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The resource group ID.'."\n" ."\n" .'For more information about resource groups, see [What is a resource group?](~~2381067~~).', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'description' => 'The tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" .'- **true**: performs a dry run without creating the VPC. The system checks the required parameters, request format, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'- **false** (default): performs a Normal request and sends the request. If the request passes the dry run, an HTTP 2xx status code is returned and the system proceeds to create a VPC.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'UserCidr', 'in' => 'query', 'schema' => ['description' => 'The user CIDR block. Separate multiple CIDR blocks with commas (,). You can specify up to three CIDR blocks.'."\n" ."\n" .'For more information about user CIDR blocks, see the `What is a user CIDR block?` section in [virtual private cloud (VPC) FAQ](~~185311~~).', 'type' => 'string', 'required' => false, 'example' => '192.168.0.0/12', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'Ipv6Isp', 'in' => 'query', 'schema' => ['description' => 'The type of the IPv6 CIDR block of the VPC. Valid values:'."\n" ."\n" .'- **BGP** (default): Alibaba Cloud BGP IPv6.'."\n" .'- **ChinaMobile**: China Mobile (single ISP).'."\n" .'- **ChinaUnicom**: China Unicom (single ISP).'."\n" .'- **ChinaTelecom**: China Telecom (single ISP).'."\n" ."\n" .'> If your account is included in the China Telecom single-ISP bandwidth whitelist, you can set this parameter to **ChinaTelecom** (China Telecom), **ChinaUnicom** (China Unicom), or **ChinaMobile** (China Mobile).', 'type' => 'string', 'required' => false, 'example' => 'BGP', 'title' => ''], ], [ 'name' => 'Ipv4IpamPoolId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the IPv4 IPAM pool instance.', 'type' => 'string', 'required' => false, 'example' => 'ipam-pool-sycmt3p2a9v63i****', 'title' => ''], ], [ 'name' => 'Ipv4CidrMask', 'in' => 'query', 'schema' => ['description' => 'The subnet mask used to allocate a CIDR block from the IPAM pool to the VPC.'."\n" ."\n" .'> When you create a VPC by specifying an IPAM pool, you must specify at least one of CidrBlock or Ipv4CidrMask.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], ], [ 'name' => 'EnableDnsHostname', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable the DNS hostname feature. Valid values:'."\n" ."\n" .'- **false** (default): disabled.'."\n" .'- **true**: enabled.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'Ipv6IpamPoolId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the IPv6 IPAM pool instance.', 'type' => 'string', 'required' => false, 'example' => 'ipam-pool-bp1aq51kkfh477z03****', 'title' => ''], ], [ 'name' => 'Ipv6CidrMask', 'in' => 'query', 'schema' => ['description' => 'The subnet mask used to allocate an IPv6 CIDR block from the IPAM pool to the VPC.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '56', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The ID of the created VPC.', 'type' => 'object', 'properties' => [ 'VpcId' => ['description' => 'The ID of the created VPC.', 'type' => 'string', 'example' => 'vpc-bp15zckdt37pq72zv****', 'title' => ''], 'VRouterId' => ['description' => 'The ID of the vRouter that is automatically created after the VPC is created.', 'type' => 'string', 'example' => 'vrt-bp1lhl0taikrteen8****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], 'RouteTableId' => ['description' => 'The ID of the route table that is automatically created after the VPC is created.', 'type' => 'string', 'example' => 'vtb-bp145q7glnuzdv****', 'title' => ''], 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'TOKEN_PROCESSING', 'errorMessage' => 'Action is processing.', 'description' => ''], ['errorCode' => 'InvokeError', 'errorMessage' => 'instance quota rule invoke error.', 'description' => 'Failed to get rule data, please wait zai shi'], ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Specified CIDR block is not valid', 'description' => ''], ['errorCode' => 'ResourceNotAvailable', 'errorMessage' => 'Resource you requested is not available in this region or zone.', 'description' => ''], ['errorCode' => 'InvalidVpcName.Malformed', 'errorMessage' => 'Specified VPC name is not valid.', 'description' => ''], ['errorCode' => 'InvalidVpcDiscription.Malformed', 'errorMessage' => 'Specified VPC description is not valid.', 'description' => ''], ['errorCode' => 'QuotaExceeded.Vpc', 'errorMessage' => 'VPC quota exceeded.', 'description' => 'The number of VPCs in this account has reached the upper limit.'], ['errorCode' => 'ResourceNotAvailable.Vpc', 'errorMessage' => 'Resource you requested is not available in this region or zone.', 'description' => ''], ['errorCode' => 'InvalidUserCidr.Quota', 'errorMessage' => 'Specified UserCidr number is greater than 3.', 'description' => ''], ['errorCode' => 'InvalidUserCidr.Malformed', 'errorMessage' => 'Specified UserCidr overlapping in of 100.64.0.0/10.', 'description' => 'The user CIDR block that you specify overlaps with 100.64.0.0/10.'], ['errorCode' => 'InvalidResourceGroupId', 'errorMessage' => 'The specified ResourceGroupId does not exist.', 'description' => 'The specified resource group ID does not exist.'], ['errorCode' => 'IllegalParam.Ipv6CidrBlock', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationFailed.IPv6CidrNotReserved', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'MissingParam.EnableIpv6', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationUnsupported.Ipv6Feature', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'System.ServiceBusy', 'errorMessage' => 'System is busy, please try later.', 'description' => ''], ['errorCode' => 'IllegalParam.UserCidr', 'errorMessage' => 'UserCidr is not a valid or strict address.', 'description' => 'UserCidr is illegal.'], ['errorCode' => 'OperationUnsupported.ResourceGroupId', 'errorMessage' => 'ResourceGroup is not supported in this region.', 'description' => 'The operation is not supported. Resource group IDs are not supported in Alibaba Finance Cloud.'], ['errorCode' => 'IllegalParam.EnableIpv6', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidIpv6CidrBlock.Malformed', 'errorMessage' => 'Specified Ipv6CidrBlock is not valid.', 'description' => ''], ['errorCode' => 'UnsupportedFeature.Ipv6Isp', 'errorMessage' => 'The Ipv6Isp feature is not supported.', 'description' => 'The specified IPv6 ISP is not supported.'], ['errorCode' => 'ResourceNotEnough.Ipv6Cidr', 'errorMessage' => 'The specified resource of Ipv6Cidr is not enough.', 'description' => 'IPv6 addresses are insufficient.'], ['errorCode' => 'UnsupportedFeature.IPAM', 'errorMessage' => 'VPCs cannot be created by using IPAM.', 'description' => 'You cannot use IPAM to create a VPC.'], ['errorCode' => 'IllegalParam.Ipv4CidrMask', 'errorMessage' => 'The specified Ipv4CidrMask is illegal.', 'description' => 'Invalid Ipv4CidrMask.'], ['errorCode' => 'IllegalParam.IpamPool', 'errorMessage' => 'The specified IPAM pool cannot be empty.', 'description' => 'The 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.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => 'The operation is not allowed because the input CIDR is within the illegal CIDRs.'."\n"], ['errorCode' => 'OperationDenied.AvailableCidrInsufficient', 'errorMessage' => 'The operation is not allowed because available CIDR is insufficient.', 'description' => 'The operation is not allowed because available CIDR is insufficient.'], ['errorCode' => 'UnsupportedFeature.Ipam', 'errorMessage' => 'IPAM is not supported in this region.', 'description' => 'The IPAM feature is not supported in this region.'], ['errorCode' => 'OperationDenied.CidrUnavailableInPool', 'errorMessage' => 'The operation is not allowed because the CIDR is unavailable in the IPAM pool.', 'description' => '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.', 'description' => 'The subnet mask of the CIDR block is invalid.'], ['errorCode' => 'UnsupportedFeature.VpcDnsHostname', 'errorMessage' => 'The feature of vpc dns hostname is unsupported.', 'description' => 'The VPC private domain name function does not take effect in the current region.'], ['errorCode' => 'OperationDenied.MaskOfCidrIsNotAllowed', 'errorMessage' => 'The input mask or mask of the input CIDR is not allowed.', 'description' => 'The input mask or mask of the input CIDR is not allowed.'], ['errorCode' => 'IllegalParam.Ipv6Isp', 'errorMessage' => 'The specified Ipv6Isp is illegal.', 'description' => 'The specified Ipv6Isp is illegal.'], ['errorCode' => 'IllegalParam.CidrMask', 'errorMessage' => 'The input CIDR mask is illegal.', 'description' => 'The input CIDR mask is illegal.'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'Specified value of "regionId" is not supported.', 'description' => ''], ['errorCode' => 'UnsupportedFeature.DhcpOptionsSet', 'errorMessage' => 'The feature of dhcp options set is unsupported.', 'description' => 'The DHCP Options Set function does not take effect in the current region.'], ['errorCode' => 'OperationDenied.CidrMaskTooLarge', 'errorMessage' => 'The operation is denied because the CIDR mask %s is larger than the allocationMaxNetmask %s of the pool.', 'description' => 'The operation is denied because the CIDR mask %s is larger than the allocationMaxNetmask %s of the pool.'], ['errorCode' => 'OperationDenied.CidrMaskTooSmall', 'errorMessage' => 'The operation is denied because the CIDR mask %s is less than the allocationMinNetmask %s of the pool.', 'description' => 'The operation is denied because the CIDR mask %s is less than the allocationMinNetmask %s of the pool.'], ['errorCode' => 'Mismatch.ParamIpv6IspAndIpamPoolIpv6Isp', 'errorMessage' => 'The specified IPv6 ISP %s does not match the IPAM pool\'s IPv6 ISP %s.', 'description' => 'The specified IPv6 ISP does not match the IPv6 ISP configured in the IPAM pool.'], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'ResourceNotFound.IpamPool', 'errorMessage' => 'The dependent IPAM pool is not found.', 'description' => 'The dependent IPAM pool is not found.'], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'title' => 'Create a VPC', 'summary' => 'Creates a virtual private cloud (VPC).', 'description' => 'When you call this operation to create a VPC, take note of the following items:'."\n" ."\n" .'- A VPC can have only one primary IPv4 CIDR block. You can add IPv4 secondary CIDR blocks to expand the address space.'."\n" ."\n" .'- After a VPC is created, you can expand or shrink the original IPv4 CIDR block. If IP addresses within the current CIDR block are already in use and fall outside the target CIDR block, the modification fails.'."\n" ."\n" .'- Each VPC supports up to 300,000 private network IP addresses for cloud resources. This quota cannot be upgraded.'."\n" .' '."\n" .'- After a VPC is created, a vRouter and a route table are automatically created.'."\n" .' '."\n" .'- Each VPC supports up to three user CIDR blocks. If user CIDR blocks overlap, the CIDR block with the shorter mask takes effect. For example, if both 10.0.0.0/16 and 10.0.0.0/24 are specified, 10.0.0.0/16 takes effect.'."\n" ."\n" .'- **CreateVpc** is an asynchronous operation. After you invoke a request, the system returns an instance ID but the VPC is not yet created. The node for creating the VPC runs in the background. You can invoke [DescribeVpcAttribute](~~94565~~) to query the creation status of the VPC:'."\n" .' - If the VPC is in the **Creating** state, the VPC is being created.'."\n" .' - If the VPC is in the **Created** state, the VPC is created.'."\n" .'- **CreateVpc** supports concurrent creation of non-default VPCs in the same region, subject to [quota](~~27750~~) limits.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-01-16T03:36:40.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-12-18T11:29:07.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-10-10T06:15:00.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-08-27T02:00:39.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-05-21T03:43:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-04-25T12:15:52.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2023-07-05T05:51:44.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-06-13T02:40:57.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-04-26T02:51:16.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-04-13T11:16:21.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2022-09-27T06:29:01.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-06-23T11:09:56.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVpc'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVpc', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'CreateVpcGatewayEndpoint' => [ 'summary' => 'Creates a gateway endpoint.', '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' => '', 'description' => 'The ID of the virtual private cloud (VPC) where you want to create the gateway endpoint.'."\n" ."\n" .'The VPC and gateway endpoint must be deployed in the same region.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vpc-bp1gsk7h12ew7oegk****'], ], [ 'name' => 'ServiceName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The name of the endpoint service.'."\n", 'type' => 'string', 'required' => true, 'example' => 'com.aliyun.cn-hangzhou.oss'], ], [ 'name' => 'PolicyDocument', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The access policy for the cloud service.'."\n" ."\n" .'For more information about the syntax and structure of the access policy, see [Policy syntax and structure](~~93739~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '{ "Version" : "1", "Statement" : [ { "Effect" : "Allow", "Resource" : [ "*" ], "Action" : [ "*" ], "Principal" : [ "*" ] } ] }'], ], [ 'name' => 'EndpointName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The name of the gateway endpoint.'."\n" ."\n" .'The name must be 1 to 128 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ 'name' => 'EndpointDescription', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The description of the gateway endpoint.'."\n" ."\n" .'The description must be 1 to 255 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['title' => '', '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" .'> '."\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' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the gateway endpoint belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N to add to the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of tag N to add to the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The region ID of the gateway endpoint.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", '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' => 'The request ID.'."\n", 'type' => 'string', 'example' => '62CFC815-E08A-5CF4-92D1-54273EC9E406'], 'EndpointId' => ['description' => 'The ID of the gateway endpoint.'."\n", 'type' => 'string', 'example' => 'vpce-bp1w1dmdqjpwul0v3****', 'title' => ''], 'ServiceName' => ['description' => 'The name of the endpoint service.'."\n", 'type' => 'string', 'example' => 'com.aliyun.cn-hangzhou.oss', 'title' => ''], 'EndpointName' => ['description' => 'The name of the gateway endpoint.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'CreationTime' => ['description' => 'The time when the gateway endpoint was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2021-08-27T01:58:37Z', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the gateway endpoint belongs.'."\n", 'type' => 'string', 'example' => 'rg-acfmxazb4ph****', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.ConcurrentOperation', 'errorMessage' => 'The operation is failed because of concurrent operation.', 'description' => ''], ['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.', 'description' => ''], ['errorCode' => 'IllegalParam.PolicyDocument', 'errorMessage' => 'The param of PolicyDocument is illegal.', 'description' => ''], ['errorCode' => 'IllegalParam.GatewayEndpointName', 'errorMessage' => 'The param of GatewayEndpointName is illegal.', 'description' => ''], ['errorCode' => 'IllegalParam.GatewayEndpointDescription', 'errorMessage' => 'The param of GatewayEndpointDescription is illegal.', 'description' => ''], ['errorCode' => 'ResourceAlreadyExist.GatewayEndpoint', 'errorMessage' => 'The specified resource gateway endpoint is already exist.', 'description' => ''], ['errorCode' => 'ResourceNotFound.ServiceName', 'errorMessage' => 'The specified resource service name is not found.', 'description' => ''], ['errorCode' => 'ResourceNotFound.VpcId', 'errorMessage' => 'The specified resource vpc is not found.', 'description' => ''], ['errorCode' => 'Forbidden.OperateShareResource', 'errorMessage' => 'The operation is failed because of shared vpc.', 'description' => ''], ['errorCode' => 'IncorrectStatus.Vpc', 'errorMessage' => 'The status of vpc [%s] is incorrect.', 'description' => ''], ['errorCode' => 'IncorrectStatus.CenStatus', 'errorMessage' => 'The status of vpc cenStatus [%s] is incorrect.', 'description' => ''], ['errorCode' => 'OperationFailed.VpcIpv6Disabled', 'errorMessage' => 'The operation is failed because of VpcIpv6Disabled.', 'description' => ''], ['errorCode' => 'UnsupportedFeature.GatewayEndpoint', 'errorMessage' => 'The feature of gatewayEndpoint is not supported for %s.', 'description' => ''], ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => ''], ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => ''], ['errorCode' => 'OperationDenied.PolicyDocument', 'errorMessage' => 'The gatewayEndpoint does not support policy.', 'description' => ''], ['errorCode' => 'MissingParam.PolicyDocument', 'errorMessage' => 'The param of PolicyDocument is missing.', 'description' => ''], ['errorCode' => 'OperationDenied.NotAuthorized', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => ''], ['errorCode' => 'InvalidPolicy.WrongFormat', 'errorMessage' => 'Invalid input policy format.', 'description' => 'The format of the policy information is invalid.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::ListVpcGatewayEndpoints', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'CreateVpcGatewayEndpoint', 'description' => '* **CreateVpcGatewayEndpoint** is an asynchronous operation. After a request is sent, the system returns an **EndpointId** and runs the task in the background. You can call the [ListVpcGatewayEndpoints](~~448682~~) operation to query the status of the task.'."\n" ."\n" .' * If the gateway endpoint is in the **Creating** state, the gateway endpoint is being created.'."\n" .' * If the gateway endpoint is in the **Created** state, the gateway endpoint is created.'."\n" ."\n" .'* You cannot repeatedly call the **CreateVpcGatewayEndpoint** operation for the same endpoint service within the specified period of time.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-07-05T05:51:47.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2023-05-29T06:12:36.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-23T02:20:38.000Z', 'description' => 'Request parameters changed, Response parameters changed, Response parameters changed'], ], 'ramActions' => [], '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":""}]', ], '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' => 'The name of the prefix list.'."\n" ."\n" .'The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'name'], ], [ 'name' => 'PrefixListDescription', 'in' => 'query', 'schema' => ['description' => 'The description of the prefix list.'."\n" ."\n" .'The description must be 1 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'description'], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among all requests. ClientToken can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request may be different.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'* **true**: performs a dry run. The system checks the required parameters, request syntax, and limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and sends the request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'MaxEntries', 'in' => 'query', 'schema' => ['description' => 'The maximum number of CIDR blocks that you can specify in the prefix list. Default value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50'], ], [ 'name' => 'PrefixListEntries', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The CIDR block information specified in the prefix list.', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Cidr' => ['description' => 'The CIDR block specified in the prefix list.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.0.0/16'], 'Description' => ['description' => 'The description of the CIDR block specified in the prefix list.'."\n" ."\n" .'The description must be 1 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CIDR'], ], 'required' => false, ], 'required' => false, 'maxItems' => 50, ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the prefix list belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-bp67acfmxazb4ph****'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where you want to create the prefix list.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'IpVersion', 'in' => 'query', 'schema' => ['description' => 'The IP version. Valid values:'."\n" ."\n" .'* **IPv4** (default)'."\n" .'* **IPv6**'."\n", 'type' => 'string', 'required' => false, 'example' => 'IPv4'], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag list.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept'], 'Value' => ['description' => 'The value of tag N. You can specify at most 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua'], ], 'required' => false, ], 'required' => false, 'maxItems' => 21, ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'PrefixListId' => ['description' => 'The ID of the prefix list.'."\n", 'type' => 'string', 'example' => 'pl-0b700s2ee3***'], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45'], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the prefix list belongs.'."\n", 'type' => 'string', 'example' => 'rg-bp67acfmxazb4ph****'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'UnsupportedFeature.IpVersion', 'errorMessage' => 'The ipversion type is not supported.', 'description' => ''], ['errorCode' => 'QuotaExceeded.PrefixListCidrCount', 'errorMessage' => 'The quota of prefixListMaxEntry count is exceeded.', 'description' => 'The value of entryCount exceeds the upper limit.'], ['errorCode' => 'OperationFailed.CidrCountExceedMaxCount', 'errorMessage' => 'The operation is failed because of cidrCountExceedMaxCount.', 'description' => ''], ['errorCode' => 'IllegalParam.CidrBlock', 'errorMessage' => 'The param of cidrBlock is illegal.', 'description' => 'The error message returned because the value of the cidrBlock parameter is invalid.'], ['errorCode' => 'IllegalParam.CidrName', 'errorMessage' => 'The param of cidrName is illegal.', 'description' => ''], ['errorCode' => 'DuplicatedParam.CidrBlock', 'errorMessage' => 'The param of cidrBlock is duplicated.', 'description' => 'The error message returned because a duplicate CIDR block is specified.'], ['errorCode' => 'QuotaExceeded.PrefixListCount', 'errorMessage' => 'The quota of prefixList count is exceeded.', 'description' => 'The value of prefixList exceeds the upper limit.'], ], ], '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' => 'CreateVpcPrefixList', 'summary' => 'Creates a prefix list.', 'description' => 'You cannot repeatedly call the **CreateVpcPrefixList** operation within the specified period of time.'."\n", 'changeSet' => [], 'ramActions' => [], ], 'CreateVpconnFromVbr' => [ 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'OrderMode', 'in' => 'query', 'schema' => [ 'title' => '', 'description' => 'The payer for the shared Express Connect circuit. Valid values:'."\n" ."\n" .'* **PayByPhysicalConnectionOwner**: the owner of the shared Express Connect circuit'."\n" .'* **PayByVirtualPhysicalConnectionOwner**: the owner of the hosted connection'."\n", 'type' => 'string', 'required' => false, 'example' => 'PayByVirtualPhysicalConnectionOwner', 'enum' => ['PayByVirtualPhysicalConnectionOwner', 'PayByPhysicalConnectionOwner'], ], ], [ 'name' => 'VbrId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the associated VBR.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vbr-bp136flp1mf8mlq6r****'], ], [ 'name' => 'Token', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must ensure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CBCE910E-D396-4944-8****'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['title' => 'DryRun', 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and instance status. If the request fails the dry run, an error message is returned. If the request passes the dry run, the system returns the ID of the request.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the hosted connection.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '5356F028-0F5C-56FC-8574-897D24379041'], 'VirtualPhysicalConnection' => ['title' => '', 'description' => 'The ID of the hosted connection.'."\n", 'type' => 'string', 'example' => 'pc-bp1mrgfbtmc9brre7****'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.TargetUserPconnTrafficNotEnable', 'errorMessage' => 'The operation failed because of TargetUserPconnTrafficNotEnable.', 'description' => 'The operation failed because the user does not have outbound traffic enabled.'], ['errorCode' => 'ResourceNotEnough.Bandwidth', 'errorMessage' => 'The specified resource of Bandwidth is not enough.', 'description' => 'The specified resource of Bandwidth is insufficient.'], ['errorCode' => 'OperationFailed.VbrBindedPconn', 'errorMessage' => 'The operation is failed because of VbrBindedPconn.', 'description' => 'A hosted connection is created for the VBR.'], ['errorCode' => 'IllegalParam.Bandwidth', 'errorMessage' => 'The param of Bandwidth [%s] is illegal.', 'description' => 'The specified bandwidth value is invalid.'], ['errorCode' => 'IncorrectStatus.VbrId', 'errorMessage' => 'The status of %s is incorrect.', 'description' => 'The status of the VBR is invalid.'], ['errorCode' => 'ResourceNotFound.PhysicalConnectionId', 'errorMessage' => 'PhysicalConnection is not found.', 'description' => 'PhysicalConnectionId is set to an invalid value.'], ['errorCode' => 'OperationFailed.VPconnCreated', 'errorMessage' => 'The operation is failed because of VPconnCreated.', 'description' => 'You cannot create an Express Connect circuit.'], ['errorCode' => 'OperationFailed.BandwidthOrVlanIdEmpty', 'errorMessage' => 'The operation is failed because of BandwidthOrVlanIdEmpty.', 'description' => ''], ['errorCode' => 'ResourceNotFound.VirtualBorderRouter', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'Virtual Border Router does not exist'], ], ], 'title' => 'CreateVpconnFromVbr', 'summary' => 'Adds a shared port to a hosted connection.', 'description' => 'If an Express Connect partner has created a virtual border router (VBR) for a tenant before, the Express Connect partner can push the Express Connect circuit that is associated with the VBR to the tenant account by adding a shared port for the tenant account. The service of the tenant is not interrupted in this process.'."\n" ."\n" .'Preparations:'."\n" ."\n" .'Before the Express Connect partner performs the operation, the Express Connect partner must notify the tenant and request the tenant to enable outbound data transfer billing. For more information, see [Enable outbound data transfer billing](~~274385~~).'."\n" ."\n" .'What to do next:'."\n" ."\n" .'1. After the Express Connect partner performs the operation, a shared port is added for the tenant account. The tenant must call the [ConfirmPhysicalConnection](~~324198~~) operation to accept the shared port.'."\n" .'2. Then, the Express Connect partner must call the [AttachVbrToVpconn](~~324191~~) operation to associate the VBR with the newly added shared port that belongs to the tenant account.'."\n", 'changeSet' => [ ['createdAt' => '2024-06-28T02:56:12.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-09-27T03:23:37.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2021-09-27T03:23:37.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2021-09-27T03:23:37.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'CreateVpnAttachment' => [ 'summary' => 'Invoke the CreateVpnAttachment API to create an IPsec-VPN connection for attaching a transit router instance. ', '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' => 'The region ID of the IPsec-VPN connection.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the IPsec-VPN connection.'."\n" ."\n" .'The name must be 1 to 100 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'nametest', 'title' => ''], ], [ 'name' => 'CustomerGatewayId', 'in' => 'query', 'schema' => ['description' => 'The customer gateway ID.'."\n" ."\n" .'> This parameter is required only when you create a single-tunnel IPsec-VPN connection.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cgw-p0w2jemrcj5u61un8****', 'title' => ''], ], [ 'name' => 'NetworkType', 'in' => 'query', 'schema' => ['title' => 'public/private', 'description' => 'The network type of the IPsec-VPN connection. Valid values:'."\n" ."\n" .'* **public** (default)'."\n" .'* **private**'."\n", 'type' => 'string', 'required' => false, 'example' => 'public'], ], [ 'name' => 'LocalSubnet', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The CIDR block on the VPC side. The CIDR block is used in Phase 2 negotiations.'."\n" ."\n" .'Separate multiple CIDR blocks with commas (,). Example: 192.168.1.0/24,192.168.2.0/24.'."\n" ."\n" .'The following routing modes are supported:'."\n" ."\n" .'* If you set **LocalSubnet** and **RemoteSubnet** to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.'."\n" .'* If you set **LocalSubnet** and **RemoteSubnet** to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.'."\n", 'type' => 'string', 'required' => true, 'example' => '10.1.1.0/24,10.1.2.0/24'], ], [ 'name' => 'RemoteSubnet', 'in' => 'query', 'schema' => ['description' => 'The CIDR block on the data center side. This CIDR block is used in Phase 2 negotiations.'."\n" ."\n" .'Separate multiple CIDR blocks with commas (,). Example: 192.168.3.0/24,192.168.4.0/24.'."\n" ."\n" .'The following routing modes are supported:'."\n" ."\n" .'* If you set **LocalSubnet** and **RemoteSubnet** to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.'."\n" .'* If you set **LocalSubnet** and **RemoteSubnet** to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.'."\n", 'type' => 'string', 'required' => true, 'example' => '10.1.3.0/24,10.1.4.0/24', 'title' => ''], ], [ 'name' => 'EffectImmediately', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Specifies whether to immediately start IPsec negotiations after the configuration takes effect. Valid values:'."\n" ."\n" .'* **true**: immediately starts IPsec negotiations after the configuration is complete.'."\n" .'* **false** (default): starts IPsec negotiations when inbound traffic is received.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'IkeConfig', 'in' => 'query', 'schema' => ['description' => 'This parameter is supported if you create an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'The configurations of Phase 1 negotiations:'."\n" ."\n" .'* **IkeConfig.Psk**: the pre-shared key that is used for identity authentication between the VPN gateway and the on-premises data center.'."\n" ."\n" .' * The key cannot contain space characters. The key must be 1 to 100 characters in length, and can contain digits, letters, and the following special characters: ``~!`@#$%^&*()_-+={}[]|;:\',.<>/?``'."\n" .' * If you do not specify a pre-shared key, the system randomly generates a 16-bit string as the pre-shared key. You can call the [DescribeVpnConnection](~~2526951~~) operation to query the pre-shared key that is automatically generated by the system.'."\n" ."\n" .' > The pre-shared key of the IPsec-VPN connection must be the same as the authentication key of the on-premises data center. Otherwise, connections between the on-premises data center and the VPN gateway cannot be established.'."\n" ."\n" .'* **IkeConfig.IkeVersion**: the version of the Internet Key Exchange (IKE) protocol. Valid values: **ikev1** and **ikev2**. Default value: **ikev1**.'."\n" ."\n" .'* **IkeConfig.IkeMode**: the negotiation mode. Valid values: **main** and **aggressive**. Default value: **main**.'."\n" ."\n" .'* **IkeConfig.IkeEncAlg:** the encryption algorithm that is used in Phase 1 negotiations. Valid values: **aes**, **aes192**, **aes256**, **des**, and **3des**. Default value: **aes**.'."\n" ."\n" .'* **IkeConfig.IkeAuthAlg**: the authentication algorithm that is used in Phase 1 negotiations. Valid values: **md5**, **sha1**, **sha256**, **sha384**, and **sha512**. Default value: **md5**.'."\n" ."\n" .'* **IkeConfig.IkePfs**: the Diffie-Hellman key exchange algorithm that is used in Phase 1 negotiations. Valid values: **group1**, **group2**, **group5**, and **group14**. Default value: **group2**.'."\n" ."\n" .'* **IkeConfig.IkeLifetime**: the SA lifetime as a result of Phase 1 negotiations. Unit: seconds. Valid values: **0** to **86400**. Default value: **86400**.'."\n" ."\n" .'* **IkeConfig.LocalId**: the identifier on the Alibaba Cloud side. The identifier cannot exceed 100 characters in length and cannot contain space characters. This parameter is empty by default.'."\n" ."\n" .'* **IkeConfig.RemoteId**: the identifier on the data center side. The identifier cannot exceed 100 characters in length and cannot contain space characters. The default value is the IP address of the customer gateway.', '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"}', 'title' => ''], ], [ 'name' => 'IpsecConfig', 'in' => 'query', 'schema' => ['description' => 'This parameter is supported if you create an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'The configurations of Phase 2 negotiations:'."\n" ."\n" .'* **IpsecConfig.IpsecEncAlg**: the encryption algorithm that is used in Phase 2 negotiations. Valid values: **aes**, **aes192**, **aes256**, **des**, and **3des**. Default value: **aes**.'."\n" .'* **IpsecConfig. IpsecAuthAlg**: the authentication algorithm that is used in Phase 2 negotiations. Valid values: **md5**, **sha1**, **sha256**, **sha384**, and **sha512**. Default value: **md5**.'."\n" .'* **IpsecConfig. IpsecPfs**: The Diffie-Hellman key exchange algorithm used in the second phase negotiation. Valid values: **disabled**, **group1**, **group2**, **group5**, and **group14**. Default value: **group2**.'."\n" .'* **IkeConfig.IkeLifetime**: the SA lifetime determined by Phase 2 negotiations. Unit: seconds. Valid values: **0** to **86400**. Default value: **86400**.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400}', 'title' => ''], ], [ 'name' => 'BgpConfig', 'in' => 'query', 'schema' => ['description' => 'This parameter is supported when you create an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'BGP configuration:'."\n" ."\n" .'* **BgpConfig.EnableBgp**: specifies whether to enable BGP. Valid values: **true** and **false** (default).'."\n" ."\n" .'* **BgpConfig.LocalAsn**: the ASN on the Alibaba Cloud side. Valid values: **1** to **4294967295**. Default value: **45104**.'."\n" ."\n" .' You can enter a value in two segments separated by a period (.). Each segment is 16 bits in length. Enter the number in each segment in decimal format.'."\n" ."\n" .' For example, if you enter 123.456, the ASN is 8061384. The ASN is calculated by using the following formula: 123 × 65536 + 456 = 8061384.'."\n" ."\n" .'* **BgpConfig.TunnelCidr**: The CIDR block of the IPsec tunnel. The CIDR block must fall into 169.254.0.0/16 and the mask of the CIDR block must be 30 bits in length. The CIDR block cannot be 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, or 169.254.169.252/30.'."\n" ."\n" .'* **LocalBgpIp**: the BGP address on the Alibaba Cloud side. It must be an IP address that falls within the CIDR block of the IPsec tunnel.'."\n" ."\n" .'> - Before you add BGP configurations, we recommend that you learn about how BGP works and the limits. For more information, see [Configure BGP dynamic routing](~~445767~~).'."\n" .'> - We recommend that you use a private ASN to establish BGP connections to Alibaba Cloud. Refer to the relevant documentation for the private ASN range.', 'type' => 'string', 'required' => false, 'example' => '{"EnableBgp":"true","LocalAsn":"45104","TunnelCidr":"169.254.11.0/30","LocalBgpIp":"169.254.11.1"}', 'title' => ''], ], [ 'name' => 'HealthCheckConfig', 'in' => 'query', 'schema' => ['description' => 'This parameter is supported if you create an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'The health check configurations:'."\n" ."\n" .'* **HealthCheckConfig.enable**: indicates whether the health check is enabled. Valid values: **true** and **false** (default).'."\n" ."\n" .'* **HealthCheckConfig.dip**: the destination IP address configured for health checks. Enter the IP address of the on-premises data center that the VPC can access through the IPsec connection.'."\n" ."\n" .'* **HealthCheckConfig.sip**: the source IP address configured for health checks. Enter the IP address of the VPC that the on-premises data center can access through the IPsec connection.'."\n" ."\n" .'* **HealthCheckConfig.interval**: the time interval of health check retries. Unit: seconds. Default value: **3**.'."\n" ."\n" .'* **HealthCheckConfig.retry**: the maximum number of health check retries. Default value: **3**.'."\n" ."\n" .'* **HealthCheckConfig.Policy**: specifies whether to withdraw published routes when health checks fail. Valid values:'."\n" ."\n" .' * **revoke_route** (default): withdraws published routes.'."\n" .' * **reserve_route**: does not withdraw published routes.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"enable":"true","dip":"192.168.1.1","sip":"10.1.1.1","interval":"3","retry":"3","Policy": "revoke_route"}', 'title' => ''], ], [ 'name' => 'AutoConfigRoute', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to automatically configure routes. Valid values:'."\n" ."\n" .'* **true** (default)'."\n" .'* **false**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'EnableDpd', 'in' => 'query', 'schema' => ['description' => 'This parameter is supported if you create an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'Specifies whether to enable DPD. Valid values: Valid values:'."\n" ."\n" .'* **true** (default): enables DPD. The initiator of the IPsec-VPN connection sends DPD packets to check the existence and availability of the peer. If no feedback is received from the peer within the specified period of time, the connection fails. In this case, ISAKMP SA and IPsec SA are deleted along with the security tunnel.'."\n" .'* **false**: disables DPD. The initiator of the IPsec-VPN connection does not send DPD packets.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'EnableNatTraversal', 'in' => 'query', 'schema' => ['description' => 'This parameter is supported if you create an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'Specifies whether to enable NAT traversal. Valid values:'."\n" ."\n" .'* **true** (default): enables NAT traversal. After NAT traversal is enabled, the initiator does not check the UDP ports during IKE negotiations and can automatically discover NAT gateway devices along the IPsec-VPN tunnel.'."\n" .'* **false**: disables NAT traversal.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'RemoteCaCert', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => 'The peer CA certificate when a ShangMi (SM) VPN gateway is used to create the IPsec-VPN connection.'."\n", 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag value.'."\n" ."\n" .'The tag value can be an empty string and cannot exceed 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n" ."\n" .'Each tag key corresponds to one tag value. You can specify up to 20 tag values in each call.'."\n", 'type' => 'array', 'items' => [ 'description' => 'Tag information.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. The tag key cannot be an empty string.'."\n" ."\n" .'It can be at most 64 characters in length, and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" ."\n" .'You can specify at most 20 tag keys in each call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TagKey', 'title' => ''], 'Value' => ['description' => 'The tag value.'."\n" ."\n" .'The tag value can be an empty string and cannot exceed 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n" ."\n" .'Each tag key corresponds to one tag value. You can specify at most 20 tag values in each call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TagValue', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the IPsec-VPN connection belongs.'."\n" ."\n" .'* You can call the [ListResourceGroups](~~158855~~) operation to query resource group IDs.'."\n" .'* If you do not specify a resource group ID, the IPsec-VPN connection belongs to the default resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzs372yg****', 'title' => ''], ], [ 'name' => 'TunnelOptionsSpecification', 'in' => 'formData', 'allowEmptyValue' => true, 'style' => 'flat', 'schema' => [ 'description' => 'The tunnel configurations.'."\n" ."\n" .'* You can specify parameters in the **TunnelOptionsSpecification** array when you create an IPsec-VPN connection in dual tunnel mode.'."\n" .'* When you create a IPsec-VPN connection in dual-tunnel mode, you must add both tunnels to IPsec-VPN connection to ensure that the IPsec-VPN connection has connection redundancy. Each IPsec-VPN connection supports only two tunnels.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The tunnel configuration.'."\n", 'type' => 'object', 'properties' => [ 'CustomerGatewayId' => ['description' => 'The ID of the customer gateway that is associated with the tunnel.'."\n" ."\n" .'> This parameter is required when you create a dual-tunnel IPsec-VPN connection.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cgw-p0w2jemrcj5u61un8****', 'title' => ''], 'EnableDpd' => ['description' => 'Specifies whether to enable the DPD feature for the tunnel. Valid values:'."\n" ."\n" .'* **true** (default): enables DPD. The initiator of the IPsec-VPN connection sends DPD packets to check the existence and availability of the peer. If no feedback is received from the peer within the specified period of time, the connection fails. In this case, ISAKMP SA and IPsec SA are deleted along with the security tunnel.'."\n" .'* **false**: disables DPD. The initiator of the IPsec-VPN connection does not send DPD packets.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], 'EnableNatTraversal' => ['description' => 'Specifies whether to enable NAT traversal for the tunnel. Valid values:'."\n" ."\n" .'* **true** (default): enables NAT traversal. After NAT traversal is enabled, the initiator does not check the UDP ports during IKE negotiations and can automatically discover NAT gateway devices along the IPsec-VPN tunnel.'."\n" .'* **false**: disables NAT traversal.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], 'TunnelIndex' => ['description' => 'The order in which the tunnel was created.'."\n" ."\n" .'* **1**: Tunnel 1.'."\n" .'* **2**: Tunnel 2.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], 'TunnelBgpConfig' => [ 'description' => 'The BGP configurations of the tunnel.'."\n" ."\n" .'> If you enable BGP for an IPsec-VPN connection, you must set **EnableTunnelsBgp** parameter to **true**.'."\n", 'type' => 'object', 'properties' => [ 'LocalAsn' => ['description' => 'The ANS of the tunnel on the Alibaba Cloud side. Valid values: **1** to **4294967295**. Default value: **45104**.'."\n" ."\n" .'> We recommend that you use a private ASN to establish BGP connections to Alibaba Cloud. Refer to the relevant documentation for the private ASN range.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '65530', 'title' => ''], 'LocalBgpIp' => ['description' => 'The BGP IP address of the tunnel on the Alibaba Cloud side. The address is an IP address that falls within the BGP CIDR block.'."\n", 'type' => 'string', 'required' => false, 'example' => '169.254.10.1', 'title' => ''], 'TunnelCidr' => ['description' => 'The BGP CIDR block of the tunnel. The CIDR block must fall into 169.254.0.0/16 and the mask of the CIDR block must be 30 bits in length. The CIDR block cannot be 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, or 169.254.169.252/30.'."\n" ."\n" .'> The two tunnels of an IPsec-VPN connection must use different CIDR blocks.'."\n", 'type' => 'string', 'required' => false, 'example' => '169.254.10.0/30', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'TunnelIkeConfig' => [ 'description' => 'The configurations of Phase 1 negotiations.'."\n", 'type' => 'object', 'properties' => [ 'IkeAuthAlg' => ['description' => 'The authentication algorithm that is used in Phase 1 negotiations. Valid values: **md5**, **sha1**, **sha256**, **sha384**, and **sha512**. Default value: **sha1**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sha1', 'title' => ''], 'IkeEncAlg' => ['description' => 'The encryption algorithm that is used in Phase 1 negotiations. Valid values: **aes**, **aes192**, **aes256**, **des**, and **3des**. Default value: **aes**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'aes', 'title' => ''], 'IkeLifetime' => ['description' => 'The SA lifetime as a result of Phase 1 negotiations. Unit: seconds.'."\n" ."\n" .'Valid values: **0** to **86400**. Default value: **86400**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '86400', 'title' => ''], 'IkeMode' => ['description' => 'The negotiation mode of IKE. Valid values: **main** and **aggressive**. Default value: **main**.'."\n" ."\n" .'* **main:** This mode offers higher security during negotiations.'."\n" .'* **aggressive**: This mode is faster with a higher success rate.'."\n", 'type' => 'string', 'required' => false, 'example' => 'main', 'title' => ''], 'IkePfs' => ['description' => 'The Diffie-Hellman key exchange algorithm that is used in Phase 1 negotiations. Default value: **group2**.\\'."\n" .'Valid values: **group1**, **group2**, **group5**, and **group14**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'group2', 'title' => ''], 'IkeVersion' => ['description' => 'The version of the IKE protocol. Valid values: **ikev1** and **ikev2**. Default value: **ikev2**.'."\n" ."\n" .'Compared with IKEv1, IKEv2 simplifies the SA negotiation process and provides better support for scenarios with multiple CIDR blocks.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ikev2', 'title' => ''], 'LocalId' => ['description' => 'The identifier of the tunnel on the Alibaba Cloud side, which is used in Phase 1 negotiations. The identifier cannot exceed 100 characters in length and cannot contain spaces. The default value is the IP address of the tunnel.'."\n" ."\n" .'**LocalId** supports fully qualified domain names (FQDNs). If you use an FQDN, we recommend that you set the negotiation mode to **aggressive**.'."\n", 'type' => 'string', 'required' => false, 'example' => '47.XX.XX.1', 'title' => ''], 'Psk' => ['description' => 'The pre-shared key that is used for identity authentication between the tunnel and the tunnel peer.'."\n" ."\n" .'* The key cannot contain spaces. The key must be 1 to 100 characters in length, and can contain digits, letters, and the following special characters: ``~!\\`@#$%^&*()_-+={}[]|;:\',.<>/?``'."\n" .'* If you do not specify a pre-shared key, the system randomly generates a 16-bit string as the pre-shared key. You can call the [DescribeVpnAttachments](~~2526939~~) operation to query the pre-shared key that is automatically generated by the system.'."\n" ."\n" .'> The tunnel and the tunnel peer must use the same pre-shared key. Otherwise, the tunnel cannot be established.'."\n", 'type' => 'string', 'required' => false, 'example' => '123456****', 'title' => ''], 'RemoteId' => ['description' => 'The identifier of the tunnel peer, which is used in Phase 1 negotiations. The identifier cannot exceed 100 characters in length and cannot contain spaces. The default value is the IP address of the customer gateway that is associated with the tunnel.'."\n" ."\n" .'**RemoteId** supports FQDNs. If you use an FQDN, we recommend that you set the negotiation mode to **aggressive**.'."\n", 'type' => 'string', 'required' => false, 'example' => '47.XX.XX.2', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'TunnelIpsecConfig' => [ 'description' => 'The configurations of Phase 2 negotiations.'."\n", 'type' => 'object', 'properties' => [ 'IpsecAuthAlg' => ['description' => 'The authentication algorithm that is used in Phase 2 negotiations.'."\n" ."\n" .'Valid values: **md5**, **sha1**, **sha256**, **sha384**, and **sha512**. Default value: **sha1**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sha1', 'title' => ''], 'IpsecEncAlg' => ['description' => 'The encryption algorithm that is used in Phase 2 negotiations. Valid values: **aes**, **aes192**, **aes256**, **des**, and **3des**. Default value: **aes**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'aes', 'title' => ''], 'IpsecLifetime' => ['description' => 'The SA lifetime as a result of Phase 2 negotiations. Unit: seconds.'."\n" ."\n" .'Valid values: **0** to **86400**. Default value: **86400**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '86400', 'title' => ''], 'IpsecPfs' => ['description' => 'The Diffie-Hellman key exchange algorithm that is used in Phase 2 negotiations. Default value: **group2**.'."\n" ."\n" .'Valid values: **disabled**, **group1**, **group2**, **group5**, and **group14**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'group2', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'title' => '', 'example' => '', ], ], [ 'name' => 'EnableTunnelsBgp', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'This parameter is available if you create an IPsec-VPN connection in dual-tunnel mode.'."\n" ."\n" .'Specifies whether to enable the BGP feature for the tunnel. Valid values: **true** and **false**. Default value: false.'."\n" ."\n" .'> Before you add BGP configurations, we recommend that you learn about how BGP works and the limits. For more information, see [Configure BGP dynamic routing](~~445767~~)'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run of the request. Valid values:'."\n" ."\n" .'- **true**: Sends a dry run request without creating the IPsec-VPN connection. The system checks whether required parameters are specified, whether the request format is valid, and whether business limits are met. If the check fails, an error is returned. If the check passes, the error code `DryRunOperation` is returned.'."\n" .'- **false** (default): Sends a normal request. If the check passes, the IPsec-VPN connection is created immediately.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'TunnelBandwidth', 'in' => 'query', 'schema' => ['title' => 'Specifies the bandwidth specification for a single VPN tunnel. Valid values:'."\n" .'Standard (Default Value): medium, default bandwidth 1 Gbps'."\n" .'Large: large, default bandwidth 3 Gbps', 'type' => 'string', 'description' => 'Specifies the bandwidth specification for a single VPN tunnel. Valid values:'."\n" .'Standard (Default Value): medium, with a default bandwidth of 1 Gbps'."\n" .'Large: large, with a default bandwidth of 3 Gbps', 'required' => false, 'example' => 'Standard'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '88187252-0E26-3C4D-9D1D-32A04454EBBA', 'title' => ''], 'VpnConnectionId' => ['description' => 'The ID of the IPsec-VPN connection.'."\n", 'type' => 'string', 'example' => 'vco-p0wb09rama8qwwgfn****', 'title' => ''], 'Name' => ['description' => 'The name of the IPsec-VPN connection.'."\n", 'type' => 'string', 'example' => 'nametest', 'title' => ''], 'CreateTime' => ['description' => 'The timestamp generated when the IPsec-VPN connection was established. Unit: milliseconds.'."\n" ."\n" .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1658201810000', 'title' => ''], 'Code' => ['description' => 'The status code returned by the current operation. **200** indicates that the operation is successful.'."\n", 'type' => 'string', 'example' => '200', 'title' => ''], 'Message' => ['description' => 'The information returned by the current operation.'."\n", 'type' => 'string', 'example' => 'successful', 'title' => ''], 'Success' => ['description' => 'Indicates whether the current operation is successful.'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'InvalidVpnConnection.AlreadyExists', 'errorMessage' => 'Vpn connection already exists.', 'description' => ''], ['errorCode' => 'VpnRouteEntry.AlreadyExists', 'errorMessage' => 'The specified route entry is already exist.', 'description' => 'The route already exists.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified route entry has conflict.', 'description' => 'Route conflicts exist.'], ['errorCode' => 'NotSupportVpnConnectionParameter.IpsecPfs', 'errorMessage' => 'The specified vpn connection ipsec Ipsec Pfs is not support.', 'description' => 'The PFS parameter set for the IPsec-VPN connection is not supported.'], ['errorCode' => 'NotSupportVpnConnectionParameter.IpsecAuthAlg', 'errorMessage' => 'The specified vpn connection ipsec Auth Alg is not support.', 'description' => 'The authentication algorithm specified for the IPsec-VPN connection is not supported.'], ['errorCode' => 'VpnRouteEntry.BackupRoute', 'errorMessage' => 'Validate backup route entry failed.', 'description' => 'Active/standby routes failed authentication.'], ['errorCode' => 'VpnRouteEntry.InvalidWeight', 'errorMessage' => 'Invalid route entry weight value.', 'description' => 'The weight specified for the route is invalid.'], ['errorCode' => 'InvalidParameter.VpnConnectionName', 'errorMessage' => 'The specified vpn connection name is invalid.', 'description' => 'The VPN connection name does not meet the requirements.'], ['errorCode' => 'QuotaExceeded.PolicyBasedRoute', 'errorMessage' => 'The maximum number of policy-based routes is exceeded. Existing routes: %s. Routes to be created: %s. Maximum routes: %s.', 'description' => 'The quota of policy-based routes is reached. Existing routes: %s. Routes to be created: %s. Quota: %s.'], ['errorCode' => 'MissingParameter.TunnelCidr', 'errorMessage' => 'The parameter TunnelCidr is mandatory when BGP is enabled.', 'description' => 'You must specify the tunnel CIDR block when you enable BGP.'], ['errorCode' => 'OperationUnsupported.EnableBgp', 'errorMessage' => 'Current region does not support enable BGP.', 'description' => 'The error message returned because the current region does not support BGP.'], ['errorCode' => 'MissingParam.CustomerGatewayAsn', 'errorMessage' => 'Asn of customer gateway is mandatory when BGP is enabled.', 'description' => 'The ASN of the customer gateway cannot be empty when you enable BGP.'], ['errorCode' => 'IllegalParam.LocalAsn', 'errorMessage' => 'The specified LocalAsn is invalid.', 'description' => 'The local ASN is invalid.'], ['errorCode' => 'InvalidParameter.BgpConfig', 'errorMessage' => 'The specified BgpConfig is invalid.', 'description' => 'The error message returned because the BGP configuration is invalid.'], ['errorCode' => 'IllegalParam.EnableBgp', 'errorMessage' => 'VPN connection must enable BGP when VPN gateway has enabled BGP.', 'description' => 'The error message returned because the VPN connection must use BGP if BGP is enabled for the VPN gateway.'], ['errorCode' => 'IllegalParam.TunnelCidr', 'errorMessage' => 'The specified TunnelCidr is invalid.', 'description' => 'The TunnelCidr parameter is set to an invalid value.'], ['errorCode' => 'InvalidLocalBgpIp.Malformed', 'errorMessage' => 'The specified LocalBgpIp is malformed.', 'description' => 'The local BGP IP address is in an abnormal state.'], ['errorCode' => 'IllegalParam.LocalBgpIp', 'errorMessage' => 'The specified LocalBgpIp is invalid.', 'description' => 'The local BGP IP address is invalid.'], ['errorCode' => 'IllegalParam.LocalSubnet', 'errorMessage' => 'The specified "LocalSubnet" (%s) is invalid.', 'description' => 'The specified "LocalSubnet" (%s) is invalid.'], ['errorCode' => 'IllegalParam.RemoteSubnet', 'errorMessage' => 'The specified "RemoteSubnet" (%s) is invalid.', 'description' => 'The specified "RemoteSubnet" (%s) is invalid.'], ['errorCode' => 'OperationFailed.MissCertificate', 'errorMessage' => 'The VPN connecton has not associated any certificates.', 'description' => 'The error message returned because the VPN gateway is not associated with a certificate.'], ['errorCode' => 'MissingParam.RemoteId', 'errorMessage' => 'The remote ID is mandatory when creating national standard VPN connection.', 'description' => 'The error message returned because the peer ID is not specified. You must specify the peer ID when you create a VPN connection encrypted by SM.'], ['errorCode' => 'CustomerGateway.ConflictRouteEntry', 'errorMessage' => 'The specified customer gateway has conflict with route entry.', 'description' => 'The customer gateway conflicts with the current routes.'], ['errorCode' => 'VpnTask.CONFLICT', 'errorMessage' => 'Vpn task has conflict.', 'description' => 'The VPN operation conflicts. Try again later.'], ['errorCode' => 'Forbidden.TagKey.Duplicated', 'errorMessage' => 'The specified tag key already exists.', 'description' => 'The tag resources are duplicate.'], ['errorCode' => 'OperationFailed.NoAvailableAmount', 'errorMessage' => 'The available amount of your account is less than 0, please recharge before attempting to purchase.', 'description' => 'Your account balance is negative. Top up your account before you can make a purchase.'], ['errorCode' => 'SizeLimitExceeded.TagNum', 'errorMessage' => 'The maximum number of tags is exceeded.', 'description' => 'The number of tags has reached the upper limit.'], ['errorCode' => 'InvalidParameter.TagValue', 'errorMessage' => 'The specified parameter TagValue is invalid.', 'description' => 'The error message returned because the specified tag value is invalid.'], ['errorCode' => 'InvalidParameter.TagKey', 'errorMessage' => 'The specified parameter TagKey is invalid.', 'description' => 'The error message returned because the specified tag key is invalid.'], ['errorCode' => 'Duplicated.TagKey', 'errorMessage' => 'The specified parameter TagKey is duplicated.', 'description' => 'The error message returned because the specified tag key already exists.'], ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], ['errorCode' => 'InvalidTunnelCidr.Malformed', 'errorMessage' => 'The specified TunnelCidr is malformed.', 'description' => 'The specified tunnel CIDR block is invalid.'], ['errorCode' => 'CustomerGateway.ConflictVpnIp', 'errorMessage' => 'The customer gateway associated with the IPSec connection should not have the same IP address as the VPN gateway.', 'description' => 'The customer gateway and VPN gateway of an IPsec-VPN connection cannot use the same IP address.'], ['errorCode' => 'MissingParameter.TunnelOptionsSpecification', 'errorMessage' => 'The required parameters are missing when creating a tunnel for dual-tunnel VPN.', 'description' => '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.', 'description' => 'The number of created destination routes exceeds the quota limit.'], ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The request passed the dry run.'], ['errorCode' => 'VpnConnection.InvalidCreateTunnelOptions', 'errorMessage' => 'The master and slave tunnels must be created at the same time.', 'description' => 'The primary and secondary tunnels must be created at the same time.'], ['errorCode' => 'OperationUnsupported.LargeTunnelBandwidth', 'errorMessage' => 'Large tunnelBandwidth VpnAttachment is unsupported.', 'description' => 'Large tunnelBandwidth VpnAttachment is unsupported.'], ['errorCode' => 'IllegalParam.TunnelBandwidth', 'errorMessage' => 'TunnelBandwidth is illegal.', 'description' => 'TunnelBandwidth is illegal.'], ['errorCode' => 'EncAlgInvalid.DesIncompatible', 'errorMessage' => 'Des/3des in IkeEncAlg and IpsecEncAlg does not support multi algorithm.', 'description' => 'Des/3des in IkeEncAlg and IpsecEncAlg does not support multi algorithm.'], ['errorCode' => 'OperationFailed.OpenCdtServiceFirst', 'errorMessage' => 'The operation is failed because of %s.', 'description' => 'The billing method requires CDT billing enabled. Enable CDT billing and try again.'], ['errorCode' => 'IkeVersionInvalid.GcmIncompatible', 'errorMessage' => 'Ikev1 does not support IkeEncAlg of gcm16.', 'description' => '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.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidCustomerGatewayInstanceId.NotFound', 'errorMessage' => 'The specified customer gateway instance id does not exist.', 'description' => 'The specified customer gateway does not exist. Check whether the ID of the customer gateway is correct.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnConnection', 'callbackInterval' => 2000, 'maxCallbackTimes' => 10], 'title' => 'Create an IPsec-VPN Connection ', 'description' => '>'."\n" ."\n" .'- In the scenario of attaching a transit router, IPsec-VPN connections have been upgraded to dual-tunnel mode. When creating an IPsec-VPN connection, in addition to required parameters, you can configure only the following request parameters related to dual-tunnel mode: **ClientToken**, **Name**, **NetworkType**, **EffectImmediately**, **Tags** array, **ResourceGroupId**, **TunnelOptionsSpecification** array, and **EnableTunnelsBgp**. For more information, see [Dual-Tunnel IPsec-VPN Connection Description for Attaching Transit Router Scenario](~~2853535~~).'."\n" ."\n" .'- By default, an IPsec-VPN connection created by invoking the `CreateVpnAttachment` API is not attached to any resource. You can later attach it to a transit router instance by invoking the [CreateTransitRouterVpnAttachment](~~443993~~) API. After the attachment, the system assigns a gateway IP address to the IPsec-VPN connection. You can call the [DescribeVpnConnection](~~2526951~~) API to view this information.'."\n" ."\n" .'>'."\n" ."\n" .'### Prerequisites'."\n" .'Before creating an IPsec-VPN connection, ensure that you have already created a customer gateway in the same Region where the IPsec-VPN connection will be created. For more information, see [CreateCustomerGateway](~~120368~~).'."\n" ."\n" .'If you need to add Border Gateway Protocol (BGP) configuration to the IPsec-VPN connection, ensure that an autonomous system number has been added to the customer gateway. ', 'changeSet' => [ ['createdAt' => '2025-05-23T06:50:35.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2024-11-28T10:47:51.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-11-25T02:24:17.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-10-24T11:19:59.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2024-05-10T02:03:15.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-10-19T07:04:02.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2023-08-09T02:17:22.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-01-09T10:06:05.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-27T12:19:50.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-08T09:38:28.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'translator' => 'machine', ], 'CreateVpnConnection' => [ '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' => 'The ID of the region where the IPsec-VPN connection is created. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''], ], [ 'name' => 'CustomerGatewayId', 'in' => 'query', 'schema' => ['description' => 'When you create an IPsec-VPN connection in single-tunnel mode, this parameter is required.'."\n" ."\n" .'The ID of the customer gateway.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'cgw-p0w2jemrcj5u61un8****', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPN gateway.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpn-bp1q8bgx4xnkm****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the IPsec-VPN connection.'."\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' => 'IPsec', 'title' => ''], ], [ 'name' => 'LocalSubnet', 'in' => 'query', 'schema' => ['description' => 'The CIDR block of the virtual private cloud (VPC) that needs to communicate with the on-premises database. The CIDR block is used in Phase 2 negotiations.'."\n" ."\n" .'Separate multiple CIDR blocks with commas (,). Example: 192.168.1.0/24,192.168.2.0/24.'."\n" ."\n" .'The following routing modes are supported:'."\n" ."\n" .'* If you set **LocalSubnet** and **RemoteSubnet** to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.'."\n" .'* If you set **LocalSubnet** and **RemoteSubnet** to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '10.10.1.0/24,10.10.2.0/24', 'title' => ''], ], [ 'name' => 'RemoteSubnet', 'in' => 'query', 'schema' => ['description' => 'The CIDR block of the on-premises database that needs to communicate with the VPC. The CIDR block is used in Phase 2 negotiations.'."\n" ."\n" .'Separate multiple CIDR blocks with commas (,). Example: 192.168.3.0/24,192.168.4.0/24.'."\n" ."\n" .'The following routing modes are supported:'."\n" ."\n" .'* If you set **LocalSubnet** and **RemoteSubnet** to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.'."\n" .'* If you set **LocalSubnet** and **RemoteSubnet** to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '10.10.3.0/24,10.10.4.0/24', 'title' => ''], ], [ 'name' => 'EffectImmediately', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to immediately start IPsec negotiations. Valid values:'."\n" ."\n" .'* **true**: immediately starts IPsec negotiations.'."\n" .'* **false** (default): starts IPsec negotiations when inbound traffic is detected.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''], ], [ 'name' => 'IkeConfig', 'in' => 'query', 'schema' => ['description' => 'This parameter is supported if you create an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'The configurations of Phase 1 negotiations:'."\n" ."\n" .'* **IkeConfig.Psk**: the pre-shared key that is used for identity authentication between the VPN gateway and the on-premises data center.'."\n" ."\n" .' * The key cannot contain spaces. The key must be 1 to 100 characters in length, and can contain digits, letters, and the following special characters: ``~!\\`@#$%^&*()_-+={}[]|;:\',.<>/?``'."\n" ."\n" .' * If you do not specify a pre-shared key, the system randomly generates a 16-bit string as the pre-shared key. You can call the [DescribeVpnConnection](~~2526951~~) operation to query the pre-shared key that is automatically generated by the system.'."\n" ."\n" .' > The pre-shared key of the IPsec-VPN connection must be the same as the authentication key of the on-premises data center. Otherwise, connections between the on-premises data center and the VPN gateway cannot be established.'."\n" ."\n" .'* **IkeConfig.IkeVersion**: the version of the Internet Key Exchange (IKE) protocol. Valid values: **ikev1** and **ikev2**. Default value: **ikev1**.'."\n" ."\n" .' Compared with IKEv1, IKEv2 simplifies the security association (SA) negotiation process and provides better support for scenarios with multiple CIDR blocks.'."\n" ."\n" .'* **IkeConfig.IkeMode**: the negotiation mode of IKE. Valid values: **main** and **aggressive**. Default value: **main**.'."\n" ."\n" .' * **main:** This mode offers higher security during negotiations.'."\n" .' * **aggressive:** This mode is faster and has a higher success rate.'."\n" ."\n" .'* **IkeConfig.IkeEncAlg**: the encryption algorithm that is used in Phase 1 negotiations.'."\n" ."\n" .' Valid values: **aes**, **aes192**, **aes256**, **des**, and **3des**. Default value: **aes**.'."\n" ."\n" .'* **IkeConfig.IkeAuthAlg**: the authentication algorithm that is used in Phase 1 negotiations.'."\n" ."\n" .' Valid values: **md5**, **sha1**, **sha256**, **sha384**, and **sha512**. Default value: **md5**.'."\n" ."\n" .'* **IkeConfig.IkePfs**: the Diffie-Hellman key exchange algorithm that is used in Phase 1 negotiations. Valid values: **group1**, **group2**, **group5**, and **group14**. Default value: **group2**.'."\n" ."\n" .'* **IkeConfig.IkeLifetime**: the SA lifetime as a result of Phase 1 negotiations. Unit: seconds Valid values: **0** to **86400**. Default value: **86400**.'."\n" ."\n" .'* **IkeConfig.LocalId**: the identifier of the VPN gateway. It can be up to 100 characters in length and cannot contain space characters. The default value is the IP address of the VPN gateway.'."\n" ."\n" .'* **IkeConfig.RemoteId**: the identifier of the customer gateway. It can be up to 100 characters in length and cannot contain space characters. The default value is the IP address of the customer gateway.', '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"}', 'title' => ''], ], [ 'name' => 'IpsecConfig', 'in' => 'query', 'schema' => ['description' => 'This parameter is available if you create an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'The configurations of Phase 2 negotiations:'."\n" ."\n" .'* **IpsecConfig.IpsecEncAlg**: the encryption algorithm that is used in Phase 2 negotiations.'."\n" ."\n" .' Valid values: **aes**, **aes192**, **aes256**, **des**, and **3des**. Default value: **aes**.'."\n" ."\n" .'* **IpsecConfig. IpsecAuthAlg**: the authentication algorithm that is used in Phase 2 negotiations.'."\n" ."\n" .' Valid values: **md5**, **sha1**, **sha256**, **sha384**, and **sha512**. Default value: **md5**.'."\n" ."\n" .'* **IpsecConfig. IpsecPfs**: the DH key exchange algorithm that is used in Phase 2 negotiations. Valid values: **disabled**, **group1**, **group2**, **group5**, and **group14**. Default value: **group2**.'."\n" ."\n" .'* **IpsecConfig. IpsecLifetime**: the SA lifetime that is determined by Phase 2 negotiations. Unit: seconds. Valid values: **0** to **86400**. Default value: **86400**.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400}', 'title' => ''], ], [ 'name' => 'HealthCheckConfig', 'in' => 'query', 'schema' => ['description' => 'This parameter is available if you create an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'The health check configuration:'."\n" ."\n" .'* **HealthCheckConfig.enable**: specifies whether to enable health checks. Valid values: **true** and **false**. Default value: false.'."\n" .'* **HealthCheckConfig.dip**: the destination IP address configured for health checks.'."\n" .'* **HealthCheckConfig.sip:** the source IP address that is used for health checks.'."\n" .'* **HealthCheckConfig.interval**: the time interval of health check retries. Unit: seconds. Default value: **3**.'."\n" .'* **HealthCheckConfig.retry**: the maximum number of health check retries. Default value: **3**.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"enable":"true","dip":"192.168.10.1","sip":"10.10.1.1","interval":"3","retry":"3"}', 'title' => ''], ], [ 'name' => 'AutoConfigRoute', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to automatically configure routes. Valid values:'."\n" ."\n" .'* **true** (default)'."\n" .'* **false**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'EnableDpd', 'in' => 'query', 'schema' => ['description' => 'This parameter is available if you create an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'Specifies whether to enable the dead peer detection (DPD) feature. Valid values:'."\n" ."\n" .'* **true** (default) The initiator of the IPsec-VPN connection sends DPD packets to verify the existence and availability of the peer. If no feedback is received from the peer within a specified period of time, the connection fails. ISAKMP SAs and IPsec SAs are deleted. The IPsec tunnel is also deleted.'."\n" .'* **false**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'EnableNatTraversal', 'in' => 'query', 'schema' => ['description' => 'This parameter is available if you create an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'Specifies whether to enable NAT traversal. Valid values:'."\n" ."\n" .'* **true** (default) After NAT traversal is enabled, the initiator does not check the UDP ports during IKE negotiations and can automatically discover NAT gateway devices along the VPN tunnel.'."\n" .'* **false**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'BgpConfig', 'in' => 'query', 'schema' => ['description' => 'This parameter is supported if you create an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'BGP configuration:'."\n" ."\n" .'* **BgpConfig.EnableBgp**: specifies whether to enable BGP. Valid values: **true** and **false** (default).'."\n" ."\n" .'* **BgpConfig.LocalAsn:** the autonomous system number (ASN) on the Alibaba Cloud side. Valid values: **1** to **4294967295**. Default value: **45104**.'."\n" ."\n" .' You can enter a value in two segments separated by a period (.). Each segment is 16 bits in length. Enter the number in each segment in decimal format.'."\n" ."\n" .' For example, if you enter 123.456, the ASN is 8061384. The ASN is calculated by using the following formula: 123 × 65536 + 456 = 8061384.'."\n" ."\n" .'* **BgpConfig.TunnelCidr**: The CIDR block of the IPsec tunnel. The CIDR block must fall within 169.254.0.0/16 and the mask of the CIDR block must be 30 bits in length. The CIDR block cannot be 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, or 169.254.169.252/30.'."\n" ."\n" .' > The CIDR block of the IPsec tunnel for each IPsec-VPN connection on a VPN gateway must be unique.'."\n" ."\n" .'* **LocalBgpIp**: the BGP address on the Alibaba Cloud side. It must be an IP address that falls within the CIDR block of the IPsec tunnel.'."\n" ."\n" .'> - Before you add BGP configurations, we recommend that you learn about how BGP works and the limits. For more information, see [Configure BGP dynamic routing](~~2638220~~).'."\n" .'> - We recommend that you use a private ASN to establish BGP connections to Alibaba Cloud. Refer to the relevant documentation for the private ASN range.', 'type' => 'string', 'required' => false, 'example' => '{"EnableBgp":"true","LocalAsn":"45104","TunnelCidr":"169.254.11.0/30","LocalBgpIp":"169.254.11.1"}', 'title' => ''], ], [ 'name' => 'RemoteCaCertificate', 'in' => 'query', 'schema' => ['description' => 'This parameter is available if you create an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'The certificate authority (CA) certificate. If the VPN gateway is of the ShangMi (SM) type, you need to configure a CA certificate for the peer gateway device.'."\n" ."\n" .'* If an SM VPN gateway is used to create the IPsec-VPN connection, this parameter is required.'."\n" .'* If a standard VPN gateway is used to create the IPsec-VPN connection, leave this parameter empty.'."\n", 'type' => 'string', 'required' => false, 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag value.'."\n" ."\n" .'The tag value can be an empty string and cannot exceed 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n" ."\n" .'Each tag key corresponds to one tag value. You can specify up to 20 tag values in each call.', 'type' => 'array', 'items' => [ 'description' => 'The tag value.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. The tag key cannot be an empty string.'."\n" ."\n" .'It can be at most 64 characters in length, and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" ."\n" .'You can specify at most 20 tag keys in each call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TagKey', 'title' => ''], 'Value' => ['description' => 'The tag value.'."\n" ."\n" .'The tag value can be an empty string and cannot exceed 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n" ."\n" .'Each tag key corresponds to one tag value. You can specify at most 20 tag values in each call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TagValue', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'TunnelOptionsSpecification', 'in' => 'formData', 'allowEmptyValue' => true, 'style' => 'flat', 'schema' => [ 'description' => 'The tunnel configurations.'."\n" ."\n" .'* You can specify parameters in the **TunnelOptionsSpecification** array when you create an IPsec-VPN connection in dual tunnel mode.'."\n" .'* When you create an IPsec-VPN connection in dual tunnel mode, you must add configurations of the active and standby tunnels for the IPsec-VPN connection. Each IPsec-VPN connection supports only one active tunnel and one standby tunnel.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The tunnel configuration.'."\n", 'type' => 'object', 'properties' => [ 'CustomerGatewayId' => ['description' => 'The ID of the customer gateway that is associated with the tunnel.'."\n" ."\n" .'> - This parameter is required when you create an IPsec-VPN connection in dual-tunnel mode.'."\n" .'> - You can specify parameters in the **TunnelOptionsSpecification** array when you create an IPsec-VPN connection in dual tunnel mode.'."\n" .'> - When you create an IPsec-VPN connection in dual tunnel mode, you must add configurations of the active and standby tunnels for the IPsec-VPN connection. Each IPsec-VPN connection supports only one active tunnel and one standby tunnel.', 'type' => 'string', 'required' => false, 'example' => 'cgw-p0wy363lucf1uyae8****', 'title' => ''], 'EnableDpd' => ['description' => 'Specifies whether to enable the Dead Peer Detection (DPD) feature for the tunnel. Valid values:'."\n" ."\n" .'* **true** (default): enables DPD. The initiator of the IPsec-VPN connection sends DPD packets to check the existence and availability of the peer. If no feedback is received from the peer within the specified period of time, the connection fails. In this case, ISAKMP SA and IPsec SA are deleted. The security tunnel is also deleted.'."\n" .'* **false**: disables DPD. The initiator of the IPsec-VPN connection does not send DPD packets.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], 'EnableNatTraversal' => ['description' => 'Specifies whether to enable NAT traversal for the tunnel. Valid values:'."\n" ."\n" .'* **true** (default): enables NAT traversal. After NAT traversal is enabled, the initiator does not check the UDP ports during IKE negotiations and can automatically discover NAT gateway devices along the IPsec-VPN tunnel.'."\n" .'* **false**: disables NAT traversal.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], 'RemoteCaCertificate' => ['description' => 'If the VPN gateway uses an SM certificate, you need to configure the CA certificate used by the IPsec peer.'."\n" ."\n" .'* If the VPN gateway uses an SM certificate, this parameter is required.'."\n" .'* If the VPN gateway does not use an SM certificate, leave this parameter empty.'."\n", 'type' => 'string', 'required' => false, 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', 'title' => ''], 'Role' => ['description' => 'The role of the tunnel. Valid values:'."\n" ."\n" .'* **master**: The tunnel is an active tunnel.'."\n" .'* **slave**: The tunnel is a standby tunnel.'."\n", 'type' => 'string', 'required' => false, 'example' => 'master', 'title' => ''], 'TunnelBgpConfig' => [ 'description' => 'The Border Gateway Protocol (BGP) configurations of the tunnel.'."\n", 'type' => 'object', 'properties' => [ 'LocalAsn' => ['description' => 'The autonomous system number (ASN) of the tunnel on the Alibaba Cloud side. Valid values: **1** to **4294967295**. Default value: **45104**.'."\n" ."\n" .'> - If you set **EnableTunnelsBgp** to **true**, you must set this parameter.'."\n" .'> - Before you add BGP configurations, we recommend that you learn about how BGP dynamic routing works and the limits. For more information, see [Configure BGP dynamic routing](~~2638220~~).'."\n" .'> - We recommend that you use a private ASN to establish BGP connections to Alibaba Cloud. For information about the range of private ASNs, see the relevant documentation.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '65530', 'title' => ''], 'LocalBgpIp' => ['description' => 'The BGP IP address of the tunnel on the Alibaba Cloud side. The address is an IP address that falls within the BGP CIDR block.'."\n", 'type' => 'string', 'required' => false, 'example' => '169.254.10.1', 'title' => ''], 'TunnelCidr' => ['description' => 'The BGP CIDR block of the tunnel. The CIDR block must fall within 169.254.0.0/16 and the mask of the CIDR block must be 30 bits in length. The CIDR block cannot be 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, or 169.254.169.252/30.'."\n" ."\n" .'> The BGP CIDR block of each tunnel must be unique on a VPN gateway.'."\n", 'type' => 'string', 'required' => false, 'example' => '169.254.10.0/30', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'TunnelIkeConfig' => [ 'description' => 'The configurations of Phase 1 negotiations.'."\n", 'type' => 'object', 'properties' => [ 'IkeAuthAlg' => ['description' => 'The authentication algorithm that is used in Phase 1 negotiations.'."\n" ."\n" .'Valid values: **md5**, **sha1**, **sha256**, **sha384**, and **sha512**. Default value: **md5**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'md5', 'title' => ''], 'IkeEncAlg' => ['description' => 'The encryption algorithm that is used in Phase 1 negotiations.'."\n" ."\n" .'Valid values: **aes**, **aes192**, **aes256**, **des**, and **3des**. Default value: **aes**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'aes', 'title' => ''], 'IkeLifetime' => ['description' => 'The SA lifetime as a result of Phase 1 negotiations. Unit: seconds'."\n" ."\n" .'Valid values: **0** to **86400**. Default value: **86400**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '86400', 'title' => ''], 'IkeMode' => ['description' => 'The negotiation mode of IKE. Valid values: **main** and **aggressive**. Default value: **main**.'."\n" ."\n" .'* **main:** This mode offers higher security during negotiations.'."\n" .'* **aggressive:** This mode is faster and has a higher success rate.'."\n", 'type' => 'string', 'required' => false, 'example' => 'main', 'title' => ''], 'IkePfs' => ['description' => 'The Diffie-Hellman key exchange algorithm that is used in Phase 1 negotiations. Default value: **group2**.\\'."\n" .'Valid values: **group1**, **group2**, **group5**, and **group14**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'group2', 'title' => ''], 'IkeVersion' => ['description' => 'The version of the IKE protocol. Valid values: **ikev1** and **ikev2**. Default value: **ikev1**.'."\n" ."\n" .'Compared with IKEv1, IKEv2 simplifies the SA negotiation process and provides better support for scenarios with multiple CIDR blocks.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ikev1', 'title' => ''], 'LocalId' => ['description' => 'The identifier of the tunnel on the Alibaba Cloud side, which is used in Phase 1 negotiations. The identifier cannot exceed 100 characters in length and cannot contain space characters. The default value is the IP address of the tunnel.'."\n" ."\n" .'**LocalId** supports fully qualified domain names (FQDNs). If you use an FQDN, we recommend that you set the negotiation mode to **aggressive**.'."\n", 'type' => 'string', 'required' => false, 'example' => '47.21.XX.XX', 'title' => ''], 'Psk' => ['description' => 'The pre-shared key that is used for identity authentication between the tunnel and the tunnel peer.'."\n" ."\n" .'* The key cannot contain spaces. The key must be 1 to 100 characters in length, and can contain digits, letters, and the following special characters: ``~!\\`@#$%^&*()_-+={}[]|;:\',.<>/?``'."\n" .'* If you do not specify a pre-shared key, the system randomly generates a 16-bit string as the pre-shared key. You can call the [DescribeVpnConnection](~~2526951~~) operation to query the pre-shared key that is automatically generated by the system.'."\n" ."\n" .'> The tunnel and the tunnel peer must use the same pre-shared key. Otherwise, the tunnel cannot be established.'."\n", 'type' => 'string', 'required' => false, 'example' => '123456****', 'title' => ''], 'RemoteId' => ['description' => 'The identifier of the tunnel peer, which is used in Phase 1 negotiations. The identifier cannot exceed 100 characters in length and cannot contain space characters. The default value is the IP address of the customer gateway that is associated with the tunnel.'."\n" ."\n" .'**RemoteId** supports FQDNs. If you use an FQDN, we recommend that you set the negotiation mode to **aggressive**.'."\n", 'type' => 'string', 'required' => false, 'example' => '47.42.XX.XX', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'TunnelIpsecConfig' => [ 'description' => 'The configurations of Phase 2 negotiations.'."\n", 'type' => 'object', 'properties' => [ 'IpsecAuthAlg' => ['description' => 'The authentication algorithm that is used in Phase 2 negotiations.'."\n" ."\n" .'Valid values: **md5**, **sha1**, **sha256**, **sha384**, and **sha512**. Default value: **md5**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'md5', 'title' => ''], 'IpsecEncAlg' => ['description' => 'The encryption algorithm that is used in Phase 2 negotiations.'."\n" ."\n" .'Valid values: **aes**, **aes192**, **aes256**, **des**, and **3des**. Default value: **aes**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'aes', 'title' => ''], 'IpsecLifetime' => ['description' => 'The SA lifetime as a result of Phase 2 negotiations. Unit: seconds'."\n" ."\n" .'Valid values: **0** to **86400**. Default value: **86400**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '86400', 'title' => ''], 'IpsecPfs' => ['description' => 'The Diffie-Hellman key exchange algorithm that is used in Phase 2 negotiations. Default value: **group2**.'."\n" ."\n" .'Valid values: **disabled**, **group1**, **group2**, **group5**, and **group14**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'group2', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'title' => '', 'example' => '', ], ], [ 'name' => 'EnableTunnelsBgp', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'This parameter is available if you create an IPsec-VPN connection in dual-tunnel mode.'."\n" ."\n" .'Specifies whether to enable the BGP feature for the tunnel. Valid values: **true** and **false**. Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run of the request. Valid values:'."\n" ."\n" .'- **true**: Sends a dry run request without creating the IPsec connection. The system checks whether required parameters are specified, whether the request format is valid, and whether the request complies with service limits. If the check fails, an error is returned. If the check passes, the error code `DryRunOperation` is returned.'."\n" .'- **false** (default): Sends a normal request. If the check passes, the IPsec connection is created immediately.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '082AD562-B8DB-4BB2-861F-DA1FCA01FD76', 'title' => ''], 'VpnConnectionId' => ['description' => 'The ID of the IPsec-VPN connection.'."\n", 'type' => 'string', 'example' => 'vco-bp15oes1py4i6****', 'title' => ''], 'Name' => ['description' => 'The name of the IPsec-VPN connection.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'CreateTime' => ['description' => 'The timestamp generated when the IPsec-VPN connection was established. Unit: milliseconds.'."\n" ."\n" .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1544666102000', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'InvalidVpnConnection.AlreadyExists', 'errorMessage' => 'Vpn connection already exists.', 'description' => ''], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'VpnGateway.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => ''], ['errorCode' => 'VpnGateway.IpsecVpnDisabled', 'errorMessage' => 'The vpn gateway does not enable IPSec VPN.', 'description' => 'The IPsec-VPN feature is not enabled for the VPN gateway.'], ['errorCode' => 'VpnRouteEntry.AlreadyExists', 'errorMessage' => 'The specified route entry is already exist.', 'description' => 'The route already exists.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified route entry has conflict.', 'description' => 'Route conflicts exist.'], ['errorCode' => 'NotSupportVpnConnectionParameter.IpsecPfs', 'errorMessage' => 'The specified vpn connection ipsec Ipsec Pfs is not support.', 'description' => 'The PFS parameter set for the IPsec-VPN connection is not supported.'], ['errorCode' => 'NotSupportVpnConnectionParameter.IpsecAuthAlg', 'errorMessage' => 'The specified vpn connection ipsec Auth Alg is not support.', 'description' => 'The authentication algorithm specified for the IPsec-VPN connection is not supported.'], ['errorCode' => 'VpnRouteEntry.ConflictSSL', 'errorMessage' => 'The specified route entry has conflict with SSL client.', 'description' => 'The route conflicts with the SSL client.'], ['errorCode' => 'VpnRouteEntry.BackupRoute', 'errorMessage' => 'Validate backup route entry failed.', 'description' => 'Active/standby routes failed authentication.'], ['errorCode' => 'VpnRouteEntry.InvalidWeight', 'errorMessage' => 'Invalid route entry weight value.', 'description' => 'The weight specified for the route is invalid.'], ['errorCode' => 'InvalidParameter.VpnConnectionName', 'errorMessage' => 'The specified vpn connection name is invalid.', 'description' => 'The VPN connection name does not meet the requirements.'], ['errorCode' => 'OperationUnsupported.SetDPD', 'errorMessage' => 'Current version of the VPN does not support setting DPD.', 'description' => 'The VPN gateway version does not support DPD.'], ['errorCode' => 'OperationUnsupported.SetNatTraversal', 'errorMessage' => 'Current version of the VPN does not support setting NAT traversal.', 'description' => 'The VPN gateway version does not support 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.', 'description' => 'The quota of policy-based routes is reached. Existing routes: %s. Routes to be created: %s. Quota: %s.'], ['errorCode' => 'MissingParameter.TunnelCidr', 'errorMessage' => 'The parameter TunnelCidr is mandatory when BGP is enabled.', 'description' => 'You must specify the tunnel CIDR block when you enable BGP.'], ['errorCode' => 'OperationUnsupported.EnableBgp', 'errorMessage' => 'Current version of the VPN does not support enable BGP.', 'description' => 'The current version of the VPN gateway does not support BGP.'], ['errorCode' => 'MissingParam.CustomerGatewayAsn', 'errorMessage' => 'Asn of customer gateway is mandatory when BGP is enabled.', 'description' => 'The ASN of the customer gateway cannot be empty when you enable BGP.'], ['errorCode' => 'IllegalParam.LocalAsn', 'errorMessage' => 'The specified LocalAsn is invalid.', 'description' => 'The local ASN is invalid.'], ['errorCode' => 'IllegalParam.BgpConfig', 'errorMessage' => 'The specified BgpConfig is invalid.', 'description' => 'The BGP configuration is invalid.'], ['errorCode' => 'IllegalParam.EnableBgp', 'errorMessage' => 'VPN connection must enable BGP when VPN gateway has enabled BGP.', 'description' => 'The error message returned because the VPN connection must use BGP if BGP is enabled for the VPN gateway.'], ['errorCode' => 'IllegalParam.TunnelCidr', 'errorMessage' => 'The specified TunnelCidr is invalid.', 'description' => 'The TunnelCidr parameter is set to an invalid value.'], ['errorCode' => 'InvalidLocalBgpIp.Malformed', 'errorMessage' => 'The specified LocalBgpIp is malformed.', 'description' => 'The local BGP IP address is in an abnormal state.'], ['errorCode' => 'IllegalParam.LocalBgpIp', 'errorMessage' => 'The specified LocalBgpIp is invalid.', 'description' => 'The local BGP IP address is invalid.'], ['errorCode' => 'IllegalParam.LocalSubnet', 'errorMessage' => 'The specified "LocalSubnet" (%s) is invalid.', 'description' => 'The specified "LocalSubnet" (%s) is invalid.'], ['errorCode' => 'IllegalParam.RemoteSubnet', 'errorMessage' => 'The specified "RemoteSubnet" (%s) is invalid.', 'description' => 'The specified "RemoteSubnet" (%s) is invalid.'], ['errorCode' => 'OperationFailed.MissCertificate', 'errorMessage' => 'The VPN gateway has not associated any certificates.', 'description' => 'The error message returned because the VPN gateway is not associated with a certificate.'], ['errorCode' => 'MissingParam.RemoteId', 'errorMessage' => 'The remote ID is mandatory when creating national standard VPN connection.', 'description' => 'The error message returned because the peer ID is not specified. You must specify the peer ID when you create a VPN connection encrypted by SM.'], ['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.', 'description' => '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.', 'description' => 'The customer gateway conflicts with the current routes.'], ['errorCode' => 'VpnTask.CONFLICT', 'errorMessage' => 'Vpn task has conflict.', 'description' => 'The VPN operation conflicts. Try again later.'], ['errorCode' => 'Forbidden.TagKey.Duplicated', 'errorMessage' => 'The specified tag key already exists.', 'description' => 'The tag resources are duplicate.'], ['errorCode' => 'SizeLimitExceeded.TagNum', 'errorMessage' => 'The maximum number of tags is exceeded.', 'description' => 'The number of tags has reached the upper limit.'], ['errorCode' => 'InvalidParameter.TagValue', 'errorMessage' => 'The specified parameter TagValue is invalid.', 'description' => 'The error message returned because the specified tag value is invalid.'], ['errorCode' => 'InvalidParameter.TagKey', 'errorMessage' => 'The specified parameter TagKey is invalid.', 'description' => 'The error message returned because the specified tag key is invalid.'], ['errorCode' => 'Duplicated.TagKey', 'errorMessage' => 'The specified parameter TagKey is duplicated.', 'description' => 'The error message returned because the specified tag key already exists.'], ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], ['errorCode' => 'InvalidTunnelCidr.Malformed', 'errorMessage' => 'The specified TunnelCidr is malformed.', 'description' => 'The specified tunnel CIDR block 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.', 'description' => 'The pre-shared key and IKE parameters must be the same for IPsec-VPN connections that are associated with the same VPN gateway and customer gateway.'], ['errorCode' => 'VpnConnectionParamInvalid.SameVpnAndCgwTrafficSelectorOverlap', 'errorMessage' => 'Traffic selectors of IPSec connections associated with the same user gateway and VPN gateway should not overlap.', 'description' => 'The protected data flows of IPsec-VPN connections that are associated with the same VPN gateway and customer gateway cannot overlap.'], ['errorCode' => 'CustomerGateway.ConflictVpnIp', 'errorMessage' => 'The customer gateway associated with the IPSec connection should not have the same IP address as the VPN gateway.', 'description' => 'The customer gateway and VPN gateway of an IPsec-VPN connection cannot use the same IP address.'], ['errorCode' => 'VpnGateway.IPsecServerAndVpnConnectionConflict', 'errorMessage' => 'The IPSec connection and IPSec server cannot be configured on the same VPN gateway at the same time.', 'description' => 'You cannot configure an IPsec server and an IPsec-VPN connection at the same time for one VPN gateway.'], ['errorCode' => 'InvalidSslVpnServerCertId.NotFound', 'errorMessage' => 'The parameter is incorrect. The corresponding SSL VPN server certificate cannot be found.', 'description' => '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.', 'description' => '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.', 'description' => 'The number of created destination routes exceeds the quota limit.'], ['errorCode' => 'CreatePbrRoutesQuotaFull.QuotaFull', 'errorMessage' => 'The number of policy routes exceeds the quota limit.', 'description' => 'The number of policy routes exceeds the quota limit.'], ['errorCode' => 'CreateVpnConnectionsQuotaFull.QuotaFull', 'errorMessage' => 'The number of VPN connections exceeds the quota limit.', 'description' => 'The number of VPN connections exceeds the quota limit.'], ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The request passed the dry run.'], ['errorCode' => 'OperationFailed.OpenCdtServiceFirst', 'errorMessage' => 'The operation is failed because of %s.', 'description' => 'The billing method requires CDT billing enabled. Enable CDT billing and try again.'], ['errorCode' => 'EncAlgInvalid.DesIncompatible', 'errorMessage' => 'Des/3des in IkeEncAlg and IpsecEncAlg does not support multi algorithm.', 'description' => 'Des/3des in IkeEncAlg and IpsecEncAlg does not support multi algorithm.'], ['errorCode' => 'IkeVersionInvalid.GcmIncompatible', 'errorMessage' => 'Ikev1 does not support IkeEncAlg of gcm16.', 'description' => '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.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidCustomerGatewayInstanceId.NotFound', 'errorMessage' => 'The specified customer gateway instance id does not exist.', 'description' => 'The specified customer gateway does not exist. Check whether the ID of the customer gateway is correct.'], ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 2000, 'maxCallbackTimes' => 60], 'title' => 'Create an IPsec-VPN connection ', 'summary' => 'Invoke the CreateVpnConnection API to create an IPsec-VPN connection. ', 'description' => '- If the VPN Gateway instance supports creating IPsec-VPN connections in dual-tunnel mode, when you invoke the `CreateVpnConnection` API, in addition to required parameters, you can also configure the following request parameters: '."\n" ."\n" .' **ClientToken**, **Name**, **EffectImmediately**, **AutoConfigRoute**, **Tags** array, **TunnelOptionsSpecification** array, and **EnableTunnelsBgp**. '."\n" ."\n" .' For information about regions and zones that support creating IPsec-VPN connections in dual-tunnel mode, see [Upgrade IPsec-VPN connections to dual-tunnel mode](~~2358946~~). '."\n" .'- If the VPN Gateway instance only supports creating IPsec-VPN connections in single-tunnel mode, when you invoke the `CreateVpnConnection` API, in addition to required parameters, you can also configure the following request parameters: '."\n" ."\n" .' **ClientToken**, **CustomerGatewayId**, **Name**, **EffectImmediately**, **IkeConfig**, **IpsecConfig**, **HealthCheckConfig**, **AutoConfigRoute**, **EnableDpd**, **EnableNatTraversal**, **BgpConfig**, **RemoteCaCertificate**, and **Tags** array. '."\n" ."\n" .'- The **CreateVpnConnection** API is asynchronous. This means that the system returns an instance ID immediately, but the IPsec-VPN connection has not yet been successfully created, and the creation task continues in the background. You can call [DescribeVpnGateway](~~73720~~) to query the status of the VPN Gateway instance and determine the creation status of the IPsec-VPN connection: '."\n" .' - If the VPN Gateway instance is in the **updating** status, the IPsec-VPN connection is being created. '."\n" .' - If the VPN Gateway instance is in the **active** status, the IPsec-VPN connection has been successfully created. '."\n" ."\n" .'- The **CreateVpnConnection** API does not support concurrent creation of IPsec-VPN connections under the same VPN Gateway. ', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-05-23T06:50:36.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2024-01-04T07:17:10.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-21T12:20:02.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-02T07:08:08.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-30T12:44:26.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-06-13T09:30:08.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-05-04T09:18:36.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2022-12-27T12:19:51.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2022-12-08T09:38:29.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"082AD562-B8DB-4BB2-861F-DA1FCA01FD76\\",\\n \\"VpnConnectionId\\": \\"vco-bp15oes1py4i6****\\",\\n \\"Name\\": \\"test\\",\\n \\"CreateTime\\": 1544666102000\\n}","type":"json"}]', 'translator' => 'machine', ], 'CreateVpnGateway' => [ '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' => 'The region ID of the VPN gateway. You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the VPN gateway. The default value is the ID of the VPN gateway.'."\n" ."\n" .'The name must be 2 to 100 characters in length. It cannot start with `http://` or `https://`. It must start with an uppercase or lowercase letter and can contain uppercase and lowercase letters, digits, underscores (\\_), hyphens (-), and periods (.). Other special characters are not supported.', 'type' => 'string', 'required' => false, 'example' => 'MYVPN', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC-connected instance to which the VPN gateway belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp1ub1yt9cvakoelj****', 'title' => ''], ], [ 'name' => 'InstanceChargeType', 'in' => 'query', 'schema' => ['description' => 'The billing method of the VPN gateway. Set the value to **PREPAY**, which specifies the subscription billing method.'."\n" .'The billing method of the VPN gateway. Set the value to **POSTPAY**, which specifies the pay-as-you-go billing method.'."\n" .'The billing method of the VPN gateway. Set the value to **POSTPAY**, which specifies the pay-as-you-go billing method.'."\n" ."\n" .'This parameter is required when you create a VPN gateway.', 'type' => 'string', 'required' => false, 'default' => 'POSTPAY', 'example' => '中国站示例值:PREPAY,国际站示例值:POSTPAY', 'title' => ''], ], [ 'name' => 'Period', 'in' => 'query', 'schema' => ['description' => 'The subscription duration. Unit: months. Valid values: **1** to **9**, **12**, **24**, and **36**.'."\n" ."\n" .''."\n" .'> This parameter is required if **InstanceChargeType** is set to **PREPAY**..', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'AutoPay', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to automatically pay the bill for the VPN gateway. Valid values:'."\n" ."\n" .'- **true**: automatically pays the bill for the VPN gateway.'."\n" ."\n" .'- **false** (default): does not automatically pay the bill for the VPN gateway.'."\n" ."\n" .'> To successfully create a VPN gateway instance, enable automatic payment. If you disable automatic payment, you must manually pay the bill to create the VPN gateway instance.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The bandwidth specification of the VPN gateway. Unit: Mbit/s.'."\n" ."\n" .'- If you want to create a public VPN gateway, valid values are **5**, **10**, **20**, **50**, **100**, **200**, **500**, and **1000**.'."\n" .'- If you want to create a private VPN gateway, valid values are **200** and **1000**.'."\n" .'- If you want to create a public VPN gateway, valid values are **10**, **100**, **200**, **500**, and **1000**.'."\n" .'- If you want to create a private VPN gateway, valid values are **200** and **1000**.'."\n" ."\n" .'>The maximum bandwidth specification supported by VPN gateways in some regions is 500 Mbit/s. For more information, see [VPN gateway limits](~~65290~~).', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '5', 'title' => ''], ], [ 'name' => 'EnableIpsec', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable the IPsec-VPN feature. Valid values:'."\n" ."\n" .'- **true** (default): enables the IPsec-VPN feature.'."\n" ."\n" .'- **false**: disables the IPsec-VPN feature.', 'type' => 'boolean', 'required' => false, 'default' => 'true', 'example' => 'true', 'title' => ''], ], [ 'name' => 'EnableSsl', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable the SSL-VPN feature. Valid values:'."\n" ."\n" .'- **true**: enables the SSL-VPN feature.'."\n" ."\n" .'- **false** (default): disables the SSL-VPN feature.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ 'name' => 'SslConnections', 'in' => 'query', 'schema' => ['description' => 'The maximum number of clients that can be simultaneously connected. Valid values: **5** (default), **10**, **20**, **50**, **100**, **200**, **500**, and **1000**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], ], [ 'name' => 'VSwitchId', 'in' => 'query', 'schema' => ['description' => 'The vSwitch associated with the VPN gateway instance. '."\n" ."\n" .'- In regions that support dual-tunnel IPsec-VPN connections, this parameter is required. You must specify a vSwitch and also specify the **DisasterRecoveryVSwitchId** parameter.'."\n" .'- In regions that support only single-tunnel IPsec-VPN connections, if you do not specify a vSwitch, the system automatically selects a vSwitch from the VPC.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1j5miw2bae9s2vt****', 'title' => ''], ], [ 'name' => 'VpnType', 'in' => 'query', 'schema' => ['description' => 'The type of the VPN gateway. Valid values:'."\n" .'- **Normal** (default): standard.'."\n" .'- **NationalStandard**: Chinese SM-based..', 'type' => 'string', 'required' => false, 'example' => 'Normal', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4****', 'title' => ''], ], [ 'name' => 'NetworkType', 'in' => 'query', 'schema' => ['description' => 'The network type of the VPN gateway. Valid values:'."\n" ."\n" .'- **public** (default): public VPN gateway.'."\n" .'- **private**: private VPN gateway.', 'type' => 'string', 'required' => false, 'example' => 'public', 'title' => ''], ], [ 'name' => 'DisasterRecoveryVSwitchId', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'The second vSwitch associated with the VPN VPC-connected instance.'."\n" ."\n" .'- If the current region supports dual-tunnel IPsec-VPN connections, this parameter is required.'."\n" .'- You must specify two vSwitches in different zones within the VPC associated with the VPN VPC-connected instance to implement zone-level disaster recovery for IPsec-VPN connections.'."\n" .'- For regions that support only one zone, zone-level disaster recovery is not supported. Specify two different vSwitches in the same zone to achieve high availability for IPsec-VPN connections. You can also specify the same vSwitch.'."\n" ."\n" .'For information about the regions and zones that support dual-tunnel IPsec-VPN connections, see [Upgrade an IPsec-VPN connection to dual-tunnel mode](~~2358946~~).', 'type' => 'string', 'required' => false, 'example' => 'vsw-p0wiz7obm0tbimu4r****', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the VPN gateway belongs.'."\n" ."\n" .'- You can call the [ListResourceGroups](~~158855~~) operation to query resource group IDs.'."\n" .'- If you do not specify a resource group ID, the VPN gateway belongs to the default resource group after it is created.'."\n" .'- After the VPN gateway is created, if you create SSL servers, SSL client certificates, IPsec servers, or IPsec-VPN connections (when the IPsec-VPN connection is associated with the VPN gateway) under the VPN gateway, these resources belong to the same resource group as the VPN gateway. The resource group of these resources cannot be modified.'."\n" ."\n" .' If you change the resource group of the VPN gateway, the resource group of the preceding resources is also changed.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzs372yg****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'VpnGatewayId' => ['description' => 'The instance ID of the VPN gateway.', 'type' => 'string', 'example' => 'vpn-uf68lxhgr7ftbqr3p****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EB2C156A-41F8-49CC-A756-D55AFC8BFD69', 'title' => ''], 'Name' => ['description' => 'The name of the VPN gateway.', 'type' => 'string', 'example' => 'MYVPN', 'title' => ''], 'OrderId' => ['description' => 'The order ID.'."\n" ."\n" .'If you did not enable automatic payment for the VPN gateway bill, go to [Expenses and Costs](https://usercenter2.aliyun.com/home) to complete the payment.'."\n" .'If you did not enable automatic payment for the VPN gateway bill, go to [Expenses and Costs](https://usercenter2-intl.aliyun.com/billing/#/account/overview) to complete the payment..', 'type' => 'integer', 'format' => 'int64', 'example' => '208240895400460', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'The specified VPC id does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidName', 'errorMessage' => 'The specified value of Name not supported.', 'description' => ''], ['errorCode' => 'InvalidSpec.NotFound', 'errorMessage' => 'The specified Spec does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidPeriod', 'errorMessage' => 'The specified period is not valid', 'description' => ''], ['errorCode' => 'ChargeType.NotSupport', 'errorMessage' => 'The specified charge type is not support.', 'description' => ''], ['errorCode' => 'InventoryNotEnough', 'errorMessage' => 'The inventory is not enough.', 'description' => ''], ['errorCode' => 'UnnecessarySslConnection', 'errorMessage' => 'The SSL connection is unnecessary for ssl vpn disabled.', 'description' => ''], ['errorCode' => 'InvalidVpnEnable', 'errorMessage' => 'Either IPsec or SSL VPN must be set enable.', 'description' => ''], ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'The specified vswitchId is not found.', 'description' => ''], ['errorCode' => 'OperationFailed.InventoryNotEnough', 'errorMessage' => 'No enough available resource. Try another vswitch with different available zone.', 'description' => ''], ['errorCode' => 'Forbidden.OperateShareResource', 'errorMessage' => 'Operating shared resources is forbidden.', 'description' => ''], ['errorCode' => 'OperationFailed.IpNotEnough', 'errorMessage' => 'Operation failed because private ip address of the virtual switch is not enough.', 'description' => ''], ['errorCode' => 'Forbidden.NoSLRPermission', 'errorMessage' => 'User not authorized to create service linked role.', 'description' => ''], ['errorCode' => 'OperationFailed.VSwitchConflict', 'errorMessage' => 'The vswitch can\'t create vpn. Try another vswitch.', 'description' => ''], ['errorCode' => 'OperationFailed.AzNotSupport', 'errorMessage' => 'Current available zone can\'t create vpn. Try another vswitch with different available zone.', 'description' => ''], ['errorCode' => 'OperationFailed.NetworkTypeNotMatch', 'errorMessage' => 'Create NationalStandard vpn with private networkType is unsupported.', 'description' => ''], ['errorCode' => 'OperationFailed.SslNotSupport', 'errorMessage' => 'Enable ssl vpn with private networkType is unsupported.', 'description' => 'You cannot enable the SSL feature for a private VPN gateway.'], ['errorCode' => 'Forbidden.TagKey.Duplicated', 'errorMessage' => 'The specified tag key already exists.', 'description' => 'The tag resources are duplicate.'], ['errorCode' => 'SizeLimitExceeded.TagNum', 'errorMessage' => 'The maximum number of tags is exceeded.', 'description' => 'The number of tags has reached the upper limit.'], ['errorCode' => 'InvalidParameter.TagValue', 'errorMessage' => 'The specified parameter TagValue is invalid.', 'description' => 'The error message returned because the specified tag value is invalid.'], ['errorCode' => 'InvalidParameter.TagKey', 'errorMessage' => 'The specified parameter TagKey is invalid.', 'description' => 'The error message returned because the specified tag key is invalid.'], ['errorCode' => 'Duplicated.TagKey', 'errorMessage' => 'The specified parameter TagKey is duplicated.', 'description' => 'The error message returned because the specified tag key already exists.'], ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], ['errorCode' => 'InvalidVSwitchId.SecondVswitchNotSupport', 'errorMessage' => 'The available zone of vswitch2 not supported.', 'description' => 'The zone of the secondary vSwitch does not support the feature.'], ['errorCode' => 'InvalidVSwitchId.FirstVswitchNotSupport', 'errorMessage' => 'The available zone of vswitch1 not supported.', 'description' => 'The zone where the primary vSwitch is located is not supported.'], ['errorCode' => 'InvalidVSwitchId.VswitchIdShouldDifferent', 'errorMessage' => 'The VSwitch ids should be different.', 'description' => 'The primary zone cannot be the same as the secondary zone.'], ['errorCode' => 'InvalidVSwitchId.FirstVswitchIpNotEnough', 'errorMessage' => 'The ip of vswitch1 not enough.', 'description' => 'Insufficient number of available IPs in primary vSwitch.'], ['errorCode' => 'InvalidVSwitchId.SecondVswitchIpNotEnough', 'errorMessage' => 'The ip of vswitch2 not enough.', 'description' => 'Insufficient IP addresses are available in the standby vSwitch.'], ['errorCode' => 'InvalidVSwitchId.ZoneIdShouldDifferent', 'errorMessage' => 'Two vSwitches should belong to different Availability Zones.', 'description' => 'When you create a dual-tunnel VPN gateway, the two vSwitches that you specify must belong to different zones.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not found during access authentication.', 'description' => 'The specified area is not found during authentication.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 6000, 'maxCallbackTimes' => 100], 'title' => 'Create a VPN gateway', 'summary' => 'Creates a VPN gateway by calling the CreateVpnGateway operation.', 'description' => '- Before you create a VPN gateway, we recommend that you familiarize yourself with the limits of VPN gateways. For more information, see [VPN gateway limits](~~65290~~).'."\n" .'- VPN gateway instances in some regions support only dual-tunnel IPsec-VPN connections by default. When you call the `CreateVpnGateway` operation to create a VPN gateway instance in these regions, you must specify the **VSwitchId** and **DisasterRecoveryVSwitchId** parameters in addition to the required parameters. For information about the regions and zones that support dual-tunnel IPsec-VPN connections, see [Upgrade an IPsec-VPN connection to dual-tunnel mode](~~2358946~~).'."\n" .'- **CreateVpnGateway** is an asynchronous operation. After you send a request, the system returns an instance ID but the VPN gateway is not yet created. The creation task is still running in the background. You can call [DescribeVpnGateway](~~73720~~) to query the creation status of the VPN gateway:'."\n" .' '."\n" .' - If the VPN gateway is in the **provisioning** state, the VPN gateway is being created.'."\n" .' - If the VPN gateway is in the **active** state, the VPN gateway is created.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-06-18T11:59:44.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-01-04T07:17:10.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-10-19T07:04:01.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-06-30T12:44:27.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-05-04T09:18:36.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-12-27T12:19:51.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2022-12-05T09:52:16.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVpnGateway'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVpnGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"VpnGatewayId\\": \\"vpn-uf68lxhgr7ftbqr3p****\\",\\n \\"RequestId\\": \\"EB2C156A-41F8-49CC-A756-D55AFC8BFD69\\",\\n \\"Name\\": \\"MYVPN\\",\\n \\"OrderId\\": 208240895400460\\n}","type":"json"}]', ], 'CreateVpnPbrRouteEntry' => [ 'summary' => 'Creates a policy-based route for a VPN gateway.', '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' => 'Specifies whether to advertise the policy-based route to a virtual private cloud (VPC) route table. Valid values:'."\n" ."\n" .'* **true**: The route is advertised to the VPC system route table, but not to a VPC custom route table.'."\n" ."\n" .' You can manually add the route the a VPC custom route table. For more information, see [CreateRouteEntry](~~448722~~).'."\n" ."\n" .'* **false**: Do not advertise the route to the route table.'."\n" ."\n" .' You must manually add a policy-based route that points to the VPN gateway in the VPC custom and system route table. Otherwise, the VPC cannot access resources in the CIDR block through an IPsec-VPN connection.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The description of the policy-based route.'."\n" ."\n" .'The description must be 1 to 100 characters in length, and cannot start with http:// or https://.'."\n", 'type' => 'string', 'required' => false, 'example' => 'd7d24a21-f4ba-4454-9173-b3****', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The tunneling protocol. Set the value to **Ipsec**.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpn-bp1a3kqjiiq9legfx****', 'title' => ''], ], [ 'name' => 'RouteSource', 'in' => 'query', 'schema' => ['description' => 'The priority of the policy-based route. Valid values: **1** to **100**. Default value: **10**.'."\n" ."\n" .'A smaller value indicates a higher priority.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '192.168.1.0/24', 'title' => ''], ], [ 'name' => 'RouteDest', 'in' => 'query', 'schema' => ['description' => 'The response parameters.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '10.0.0.0/24', 'title' => ''], ], [ 'name' => 'NextHop', 'in' => 'query', 'schema' => ['description' => 'The next hop of the policy-based route.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vco-bp15oes1py4i66rmd****', 'title' => ''], ], [ 'name' => 'Weight', 'in' => 'query', 'schema' => ['description' => 'The weight of the policy-based route. Valid values:'."\n" ."\n" .'* **100**: The IPsec-VPN connection associated with the policy-based route serves as an active connection.'."\n" .'* **0**: The IPsec-VPN connection associated with the policy-based route serves as a standby connection.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '0', 'title' => ''], ], [ 'name' => 'PublishVpc', 'in' => 'query', 'schema' => ['description' => 'The destination CIDR block of the policy-based route.'."\n", 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'true', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'desctest', 'title' => ''], ], [ 'name' => 'OverlayMode', 'in' => 'query', 'schema' => ['description' => 'The description of the policy-based route.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Ipsec', 'title' => ''], ], [ 'name' => 'Priority', 'in' => 'query', 'schema' => ['description' => 'The status of the policy-based route. Valid values:'."\n" ."\n" .'* **published**: advertised to the VPC route table.'."\n" .'* **normal**: not advertised to the VPC route table.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to only precheck the request. Valid values:'."\n" ."\n" .'* **true**: prechecks the request without performing the operation. The system prechecks the required parameters, request syntax, and limits. If the request fails to pass the precheck, an error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): sends the request. After the request passes the precheck, a 2xx HTTP status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The time when the policy-based route was created.'."\n" ."\n" .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'object', 'properties' => [ 'NextHop' => ['description' => 'The tunneling protocol. The value is **Ipsec**.'."\n", 'type' => 'string', 'example' => 'vco-bp15oes1py4i66rmd****', 'title' => ''], 'Weight' => ['description' => 'The source CIDR block of the policy-based route.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'RouteDest' => ['description' => 'The VPN gateway ID.'."\n", 'type' => 'string', 'example' => '10.0.0.0/24', 'title' => ''], 'RequestId' => ['description' => 'The priority of the policy-based route.'."\n", 'type' => 'string', 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE', 'title' => ''], 'Description' => ['description' => 'The description of the route.', 'type' => 'string', 'example' => 'desctest', 'title' => ''], 'State' => ['description' => 'The status of the policy-based route.'."\n" ."\n" .'* **published**: advertised to the VPC route table.'."\n" .'* **normal**: not advertised to the VPC route table.', 'type' => 'string', 'example' => 'normal', 'title' => ''], 'CreateTime' => ['description' => 'The timestamp generated when the policy-based route was created. Unit: milliseconds.'."\n" ."\n" .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1492747187000', 'title' => ''], 'OverlayMode' => ['description' => 'The tunneling protocol. The value is set to **Ipsec**, which indicates the IPsec tunneling protocol.'."\n", 'type' => 'string', 'example' => 'Ipsec', 'title' => ''], 'RouteSource' => ['description' => 'The source CIDR block of the policy-based route.'."\n", 'type' => 'string', 'example' => '192.168.1.0/24', 'title' => ''], 'VpnInstanceId' => ['description' => 'The ID of the VPN gateway.'."\n", 'type' => 'string', 'example' => 'vpn-bp1cmw7jh1nfe43m9****', 'title' => ''], 'Priority' => ['description' => 'The priority of the policy-based route.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'VpnGateway.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => ''], ['errorCode' => 'VpnRouteEntry.AlreadyExists', 'errorMessage' => 'The specified route entry is already exist.', 'description' => 'The route already exists.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified route entry has conflict.', 'description' => 'Route conflicts exist.'], ['errorCode' => 'VpnRouteEntry.ConflictSSL', 'errorMessage' => 'The specified route entry has conflict with SSL client.', 'description' => 'The route conflicts with the SSL client.'], ['errorCode' => 'VpnRouteEntry.BackupRoute', 'errorMessage' => 'Validate backup route entry failed.', 'description' => 'Active/standby routes failed authentication.'], ['errorCode' => 'VpnRouteEntry.InvalidWeight', 'errorMessage' => 'Invalid route entry weight value.', 'description' => 'The weight specified for the route is invalid.'], ['errorCode' => 'InvalidNextHop.NotFound', 'errorMessage' => 'The specified NextHop does not exist.', 'description' => 'The specified next hop does not exist.'], ['errorCode' => 'IllegalParam.RouteDest', 'errorMessage' => 'The specified RouteDest is invalid', 'description' => 'The destination address 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.', 'description' => '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.', 'description' => 'The CIDR 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.', 'description' => '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.', 'description' => 'The VPN gateway of the current version does not allow you to set route priorities.'], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', 'description' => 'Your requests are too frequent. Try again later.'], ['errorCode' => 'VpnTask.CONFLICT', 'errorMessage' => 'Vpn task has conflict.', 'description' => 'The VPN operation conflicts. Try again later.'], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], ['errorCode' => 'VpnRouteEntry.SrcDestWeightConflict', 'errorMessage' => 'The VPN gateway does not support Policy-based routing with the same source CIDR, destination CIDR and weight.', 'description' => 'VPN Gateway does not support policy-based routes that have the same source CIDR block, destination CIDR block, and weight.'], ['errorCode' => 'VpnRouteEntry.SamePriorityPbrRoutePrefixOverlap', 'errorMessage' => 'The source CIDR and destination CIDR of Policy-based routes with the same priority cannot overlap.', 'description' => 'VPN Gateway does not support policy-based routes that have the same priority and overlapping source CIDR blocks and destination CIDR blocks.'], ['errorCode' => 'VpnRouteEntry.SrcDestConflict', 'errorMessage' => 'The VPN gateway does not support Policy-based routing with the same source CIDR and destination CIDR.', 'description' => 'The source CIDR block and destination CIDR block of a policy-based route for a dual-tunnel VPN gateway cannot be the same.'], ['errorCode' => 'CreatePbrRoutesQuotaFull.QuotaFull', 'errorMessage' => 'The number of policy routes exceeds the quota limit.', 'description' => 'The number of policy routes exceeds the quota limit.'], ['errorCode' => 'InvalidCidrBlock.Malformed', 'errorMessage' => 'Specified CIDR block is not valid.', 'description' => ''], ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The request passed the dry run.'], ['errorCode' => 'VpnPbrRouteEntry.NotSupport', 'errorMessage' => 'Current version of the VPN does not support pbr route entry.', 'description' => '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.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 1000, 'maxCallbackTimes' => 10], 'title' => 'CreateVpnPbrRouteEntry', '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' => ' ', 'changeSet' => [ ['createdAt' => '2025-05-23T06:50:36.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2024-05-10T02:03:15.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-01-04T07:17:09.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2023-08-02T07:08:11.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-16T10:11:31.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'translator' => 'manual', ], 'CreateVpnRouteEntry' => [ 'summary' => 'Creates a destination route for a VPN gateway instance. After the destination route is created, the VPN gateway instance matches the destination IP address of traffic against destination routes and forwards the traffic based on the matched destination route.', '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' => 'The region ID of the VPN gateway instance.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => 'd7d24a21-f4ba-4454-9173-b3828dae****', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the VPN gateway.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpn-bp1a3kqjiiq9legfx****', 'title' => ''], ], [ 'name' => 'RouteDest', 'in' => 'query', 'schema' => ['description' => 'The destination CIDR block of the destination route.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '10.0.0.0/24', 'title' => ''], ], [ 'name' => 'NextHop', 'in' => 'query', 'schema' => ['description' => 'The next hop of the destination route.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vco-bp15oes1py4i66rmd****', 'title' => ''], ], [ 'name' => 'Weight', 'in' => 'query', 'schema' => ['description' => 'The weight of the destination routing entry.'."\n" ."\n" .'When you use the same VPN gateway instance to establish active/standby IPsec-VPN connections, you can specify the active and standby links by configuring the weight of the destination routing entry. A destination routing entry with a weight of 100 is the active link by default, and a destination routing entry with a weight of 0 is the standby link by default.'."\n" ."\n" .'You can configure health checks for the IPsec-VPN connection to automatically detect the connectivity of the link. If the active link is unavailable, the system automatically switches traffic to the standby link, ensuring high availability of the cloud connection. For more information, see [CreateVpnConnection](~~120391~~).'."\n" ."\n" .'- **100**: The IPsec-VPN connection associated with the destination route serves as the active link.'."\n" .'- **0**: The IPsec-VPN connection associated with the destination route serves as the standby link.'."\n" ."\n" .'> - When you specify active and standby links, the active and standby destination routes must have the same destination CIDR block, different next hops, and different weights.'."\n" .'> - For VPN gateway instances that support dual-tunnel pattern IPsec-VPN connections, you do not need to configure this parameter. A dual-tunnel pattern IPsec-VPN connection contains two tunnels that automatically form active/standby links. You do not need to specify active/standby links by configuring this parameter. If you configure this parameter, the parameter settings do not take effect.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '0', 'title' => ''], ], [ 'name' => 'PublishVpc', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to publish the destination route to the VPC. Valid values:'."\n" ."\n" .'- **true**: Publishes the destination route to the VPC. The system publishes the route only to the VPC system route table, not to VPC custom route tables.'."\n" ."\n" .' If you want the custom route table to contain this route, manually add the route. For more information, see [CreateRouteEntry](~~448722~~).'."\n" .'- **false**: Does not publish the destination route to the VPC.'."\n" ."\n" .' You must manually add a destination route with the next hop pointing to the VPN gateway instance in both the VPC system route table and custom route tables. Otherwise, the VPC cannot access resources in the destination CIDR block through the IPsec-VPN connection.', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'true', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the destination route.'."\n" ."\n" .'The description must be **1** to **100** characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'mytest', 'title' => ''], ], [ 'name' => 'OverlayMode', 'in' => 'query', 'schema' => ['description' => 'The tunneling protocol. Set the value to **Ipsec** (IPsec tunneling protocol).', 'type' => 'string', 'required' => false, 'example' => 'Ipsec', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run, without performing the actual request. Valid values:'."\n" .'- **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error code is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'- **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, an HTTP 2xx status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'NextHop' => ['description' => 'The next hop of the destination route.', 'type' => 'string', 'example' => 'vco-bp15oes1py4i66rmd****', 'title' => ''], 'Weight' => ['description' => 'The weight of the destination route. Valid values:'."\n" ."\n" .'- **100**: The destination route has a high priority.'."\n" .'- **0**: The destination route has a low priority.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'RouteDest' => ['description' => 'The destination CIDR block of the destination route.', 'type' => 'string', 'example' => '10.0.0.0/24', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE', 'title' => ''], 'Description' => ['description' => 'The description of the destination route.', 'type' => 'string', 'example' => 'mytest', 'title' => ''], 'State' => ['description' => 'The publish status of the destination route.'."\n" ."\n" .'- **published**: The destination route has been published to the route table of the VPC.'."\n" ."\n" .'- **normal**: The destination route has not been published to the route table of the VPC.', 'type' => 'string', 'example' => 'published', 'title' => ''], 'CreateTime' => ['description' => 'The timestamp when the destination route was created. Unit: milliseconds.'."\n" ."\n" .'The timestamp follows the UNIX timestamp format, which represents the total number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1492747187000', 'title' => ''], 'OverlayMode' => ['description' => 'The tunneling protocol. Set the value to **Ipsec** (IPsec tunneling protocol).', 'type' => 'string', 'example' => 'Ipsec', 'title' => ''], 'VpnInstanceId' => ['description' => 'The instance ID of the VPN gateway.', 'type' => 'string', 'example' => 'vpn-bp1a3kqjiiq9legfx****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'VpnGateway.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => ''], ['errorCode' => 'VpnRouteEntry.AlreadyExists', 'errorMessage' => 'The specified route entry is already exist.', 'description' => 'The route already exists.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified route entry has conflict.', 'description' => 'Route conflicts exist.'], ['errorCode' => 'VpnRouteEntry.ConflictSSL', 'errorMessage' => 'The specified route entry has conflict with SSL client.', 'description' => 'The route conflicts with the SSL client.'], ['errorCode' => 'VpnRouteEntry.BackupRoute', 'errorMessage' => 'Validate backup route entry failed.', 'description' => 'Active/standby routes failed authentication.'], ['errorCode' => 'VpnRouteEntry.InvalidWeight', 'errorMessage' => 'Invalid route entry weight value.', 'description' => 'The weight specified for the route is invalid.'], ['errorCode' => 'InvalidNextHop.NotFound', 'errorMessage' => 'The specified NextHop does not exist.', 'description' => 'The specified next hop does not exist.'], ['errorCode' => 'IllegalParam.RouteDest', 'errorMessage' => 'The specified RouteDest is invalid', 'description' => 'The destination address 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.', 'description' => '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.', 'description' => 'The CIDR 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.', 'description' => '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.', 'description' => 'Your requests are too frequent. Try again later.'], ['errorCode' => 'VpnTask.CONFLICT', 'errorMessage' => 'Vpn task has conflict.', 'description' => 'The VPN operation conflicts. Try again later.'], ['errorCode' => 'IncorrectVpcStatus', 'errorMessage' => 'Current VPC status does not support this operation.', 'description' => ''], ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], ['errorCode' => 'InvalidCidrBlock.Malformed', 'errorMessage' => 'Specified CIDR block is not valid.', 'description' => ''], ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The request passed the dry run.'], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 1000, 'maxCallbackTimes' => 30], 'title' => 'Create a destination route', 'description' => '### Before you begin'."\n" ."\n" .'- Before you create a destination route, make sure that you have created an IPsec-VPN connection. For more information, see [CreateVpnConnection](~~2526947~~).'."\n" .'- Before you create a destination route, we recommend that you understand the matching rules of destination routes. For more information, see [Configure destination routes](~~112476~~).'."\n" ."\n" .'### Limits'."\n" ."\n" .'- Destination routes with a destination CIDR block of 0.0.0.0/0 are not supported.'."\n" .'- Do not add destination routes with a destination CIDR block of 100.64.0.0/10, a subnet of 100.64.0.0/10, or a CIDR block that contains 100.64.0.0/10. Such routing entries may cause the console to fail to display the status of IPsec-VPN connections or cause IPsec-VPN connection negotiation to be failed.'."\n" .'- The **CreateVpnRouteEntry** operation is asynchronous. After you invoke this operation, the system returns the destination route configuration, but the destination route has not been created yet. The background creation node is still in progress. You can invoke [DescribeVpnGateway](~~73720~~) to query the creation status of the destination route:'."\n" .' - If the VPN gateway instance is in the **updating** state, the destination route is being created.'."\n" .' - If the VPN gateway instance is in the **active** state, the destination route has been created.'."\n" .'- The **CreateVpnRouteEntry** operation does not support concurrent creation of destination routes for the same VPN gateway.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-05-23T06:50:36.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'], ['createdAt' => '2024-05-10T02:03:15.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-01-06T06:24:22.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2022-12-13T03:56:53.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVpnRouteEntry'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVpnRouteEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DeactivateRouterInterface' => [ 'summary' => 'Deactivates a router interface.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the router interface is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RouterInterfaceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the router interface.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ri-2zeo3xzyf38r4urz****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'BE7EB53A-99AB-4DA8-AEDE-75FA90D046A6', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectRIStatus', 'errorMessage' => 'RouterInterface can be operated by this action only when it\'s status is Active.', 'description' => 'You can perform this operation only when the router interface is in the Active state.'], ['errorCode' => 'Forbidden.FinancialLocked', 'errorMessage' => 'This RouterInterface is financiel locked because of bills outstanding.', 'description' => ''], ['errorCode' => 'Forbbiden.InvaildOwner', 'errorMessage' => 'The RouterInterface owener error', 'description' => 'The information about the router owner is invalid.'], ['errorCode' => 'OperationFailed.OperationLocked', 'errorMessage' => 'Operation failed because OperationLocked.', 'description' => 'The operation failed because the instance is locked due to O&M.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidRouterInterfaceId.NotFound', 'errorMessage' => 'The specified RouterInterfaceId does not exist in our record.', 'description' => ''], ], ], 'title' => 'DeactivateRouterInterface', 'changeSet' => [ ['createdAt' => '2024-04-19T07:23:36.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-21T03:54:45.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BE7EB53A-99AB-4DA8-AEDE-75FA90D046A6\\"\\n}","errorExample":""},{"type":"xml","example":"\\n BE7EB53A-99AB-4DA8-AEDE-75FA90D046A6\\n","errorExample":""}]', ], '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' => 'The ID of the region where you want to create the flow log. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'], ], [ 'name' => 'FlowLogId', 'in' => 'query', 'schema' => ['description' => 'The ID of the flow log.'."\n", 'type' => 'string', 'required' => true, 'example' => 'fl-m5e8vhz2t21sel1nq****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Success' => ['description' => 'Indicates whether the operation is successful. Valid values:'."\n" ."\n" .'* **true**: yes'."\n" .'* **false**: no'."\n", 'type' => 'string', 'example' => 'true'], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectBusinessStatus.FlowLog', 'errorMessage' => 'The business status of flowLog is incorrect.', 'description' => 'The error message returned because you cannot create flow logs in the current business state.'], ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Instance does not exist.', 'description' => 'The error message returned because the specified instance does not exist.'], ['errorCode' => 'InvalidStatus', 'errorMessage' => 'Current instance status is not valid for this action.', 'description' => ''], ['errorCode' => 'FlowLogNumberOverLimit', 'errorMessage' => 'This user has reached the maximum instance number of flowlog.', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The specfied instance is not existed.', 'description' => ''], ['errorCode' => 'IncorrectStatus.flowlog', 'errorMessage' => 'Invalid flowlog status.', 'description' => 'The flow log cannot be disabled because it is in an invalid state.'], ['errorCode' => 'Forbidden.OperateManagedFlowLog', 'errorMessage' => 'Authentication is failed for operate managed flowlog.', 'description' => 'Authentication failed when operating the managed flow log.'], ], ], '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' => 'DeactiveFlowLog', 'summary' => 'Disables a flow log. After a flow log is disabled, the system no longer captures the traffic information about a resource.', 'description' => '* The **DeactiveFlowLog** operation is asynchronous. After you send the request, the system returns a request ID. However, the operation is still being performed in the system background. You can call the [DescribeFlowLogs](~~87923~~) operation to query the status of a flow log:'."\n" ."\n" .' * If the flow log is in the **Deactivating** state, the flow log is being disabled.'."\n" .' * If the flow log is in the **Inactive** state, the flow log is disabled.'."\n" ."\n" .'* You cannot repeatedly call the **DeactiveFlowLog** operation to disable a flow log within the specified period of time.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2022-12-16T05:09:24.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-17T07:53:33.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], ], 'DeleteBgpGroup' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the BGP group.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'BgpGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the BGP group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'bgpg-bp1k25cyp26cllath****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'QuotaExceeded.Bgp', 'errorMessage' => 'bgp peer count per vbr quota exceed.', 'description' => 'The number of BGP peers in the VBR has reached the upper limit.'], ['errorCode' => 'QuotaExceeded.Nqa', 'errorMessage' => 'nqa count per vbr quota exceed.', 'description' => ''], ['errorCode' => 'QuotaExceeded.BgpNetwork', 'errorMessage' => 'bgp network count per vbr quota exceed.', 'description' => ''], ['errorCode' => 'InvalidPeerIpAddress', 'errorMessage' => 'multi pconn peer ip can not be null.', 'description' => ''], ['errorCode' => 'InvalidVbrNetwork', 'errorMessage' => 'vbr netowrk not exists', 'description' => ''], ['errorCode' => 'InvalidBgpGroup', 'errorMessage' => 'bgp group not exists', 'description' => ''], ['errorCode' => 'InvalidBgpName.Malformed', 'errorMessage' => 'Specified Bgp Group name is not valid.', 'description' => ''], ['errorCode' => 'InvalidBgpDiscription.Malformed', 'errorMessage' => 'Specified Bgp Group description is not valid.', 'description' => ''], ['errorCode' => 'InvalidBgpAuthkey.Malformed', 'errorMessage' => 'Specified Bgp Group authkey is not valid.', 'description' => ''], ['errorCode' => 'InvalidIP.Malformed', 'errorMessage' => 'Ip malformed.', 'description' => ''], ['errorCode' => 'InvalidPeerAsn.Malformed', 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', 'description' => ''], ['errorCode' => 'InvalidParams.NotNull', 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', 'description' => ''], ['errorCode' => 'InvalidParams.NotFound', 'errorMessage' => 'instance not found', 'description' => ''], ['errorCode' => 'InvalidParams.AlreadyExists', 'errorMessage' => 'bgp network already exists', 'description' => 'The BGP network already exists.'], ['errorCode' => 'InvalidStatus.CannotOperate', 'errorMessage' => 'invalid status cannot operate', 'description' => ''], ['errorCode' => 'InvalidParams.PeerIpAddressMustPointOut', 'errorMessage' => 'vbr has 0 or more than 1 subif ,point out peerIpAddress.', 'description' => 'You must set the PeerIpAddress parameter.'], ['errorCode' => 'InvalidParams.PeerIpAddressInUse', 'errorMessage' => 'peer ip address in use ,cannot create bgp peer.', 'description' => 'The peer IP address is being used. Therefore, you cannot use it to create a BGP peer.'], ['errorCode' => 'OperationDenied.VbrAttachEcrInMiddleStatus', 'errorMessage' => 'The operation is not allowed because of VBR attach or detach ECR in middle status.', 'description' => 'The current operation cannot be performed because the VBR is in the process of loading or unloading the leased line gateway. Please wait a moment and try again.'], ['errorCode' => 'OperationFailed.ResourceLockedBySystem', 'errorMessage' => 'The specified resource is locked by system.', 'description' => 'The operating resource is locked by the system and cannot be operated temporarily.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'Specified value of "regionId" is not supported.', 'description' => ''], ['errorCode' => 'DependencyViolation.BgpPeer', 'errorMessage' => 'Specified object has dependent resources bgp peer.', 'description' => 'A dependent BGP peer exists.'], ], ], 'title' => 'DeleteBgpGroup', 'summary' => 'Deletes a Border Gateway Protocol (BGP) group.', 'changeSet' => [ ['createdAt' => '2024-06-19T02:32:26.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', 'operationType' => 'readAndWrite', ], 'DeleteBgpNetwork' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the BGP group.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'DstCidrBlock', 'in' => 'query', 'schema' => ['description' => 'The CIDR block of the virtual private cloud (VPC) or vSwitch that you want to connect to a data center.'."\n", 'type' => 'string', 'required' => true, 'example' => '10.110.192.12/32', 'title' => ''], ], [ 'name' => 'RouterId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VBR.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vrt-bp1lhl0taikrteen8****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'QuotaExceeded.Bgp', 'errorMessage' => 'bgp peer count per vbr quota exceed.', 'description' => 'The number of BGP peers in the VBR has reached the upper limit.'], ['errorCode' => 'QuotaExceeded.Nqa', 'errorMessage' => 'nqa count per vbr quota exceed.', 'description' => ''], ['errorCode' => 'QuotaExceeded.BgpNetwork', 'errorMessage' => 'bgp network count per vbr quota exceed.', 'description' => ''], ['errorCode' => 'InvalidPeerIpAddress', 'errorMessage' => 'multi pconn peer ip can not be null.', 'description' => ''], ['errorCode' => 'InvalidVbrNetwork', 'errorMessage' => 'vbr netowrk not exists', 'description' => ''], ['errorCode' => 'InvalidBgpGroup', 'errorMessage' => 'bgp group not exists', 'description' => ''], ['errorCode' => 'InvalidBgpName.Malformed', 'errorMessage' => 'Specified Bgp Group name is not valid.', 'description' => ''], ['errorCode' => 'InvalidBgpDiscription.Malformed', 'errorMessage' => 'Specified Bgp Group description is not valid.', 'description' => ''], ['errorCode' => 'InvalidBgpAuthkey.Malformed', 'errorMessage' => 'Specified Bgp Group authkey is not valid.', 'description' => ''], ['errorCode' => 'InvalidIP.Malformed', 'errorMessage' => 'Ip malformed.', 'description' => ''], ['errorCode' => 'InvalidPeerAsn.Malformed', 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', 'description' => ''], ['errorCode' => 'InvalidParams.NotNull', 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', 'description' => ''], ['errorCode' => 'InvalidParams.NotFound', 'errorMessage' => 'instance not found', 'description' => ''], ['errorCode' => 'InvalidParams.AlreadyExists', 'errorMessage' => 'bgp network already exists', 'description' => 'The BGP network already exists.'], ['errorCode' => 'InvalidStatus.CannotOperate', 'errorMessage' => 'invalid status cannot operate', 'description' => ''], ['errorCode' => 'InvalidParams.PeerIpAddressMustPointOut', 'errorMessage' => 'vbr has 0 or more than 1 subif ,point out peerIpAddress.', 'description' => 'You must set the PeerIpAddress parameter.'], ['errorCode' => 'InvalidParams.PeerIpAddressInUse', 'errorMessage' => 'peer ip address in use ,cannot create bgp peer.', 'description' => 'The peer IP address is being used. Therefore, you cannot use it to create a BGP peer.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'Specified value of "regionId" is not supported.', 'description' => ''], ], ], 'title' => 'DeleteBgpNetwork', 'summary' => 'Deletes an advertised Border Gateway Protocol (BGP) network.', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', ], 'DeleteBgpPeer' => [ 'summary' => 'Calls DeleteBgpPeer to delete a specified BGP peer.', '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' => 'The region where the BGP group is located.'."\n" ."\n" .'You can obtain the region ID by calling the [DescribeRegions](~~36063~~) API.', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'BgpPeerId', 'in' => 'query', 'schema' => ['description' => 'The ID of the BGP peer.', 'type' => 'string', 'required' => true, 'example' => 'bgp-wz977wcrmb69a********', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a parameter value from your client to ensure uniqueness across different requests. ClientToken only supports ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may vary for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'QuotaExceeded.Bgp', 'errorMessage' => 'bgp peer count per vbr quota exceed.', 'description' => 'The number of BGP peers in the VBR has reached the upper limit.'], ['errorCode' => 'QuotaExceeded.Nqa', 'errorMessage' => 'nqa count per vbr quota exceed.', 'description' => ''], ['errorCode' => 'QuotaExceeded.BgpNetwork', 'errorMessage' => 'bgp network count per vbr quota exceed.', 'description' => ''], ['errorCode' => 'InvalidPeerIpAddress', 'errorMessage' => 'multi pconn peer ip can not be null.', 'description' => ''], ['errorCode' => 'InvalidVbrNetwork', 'errorMessage' => 'vbr netowrk not exists', 'description' => ''], ['errorCode' => 'InvalidBgpGroup', 'errorMessage' => 'bgp group not exists', 'description' => ''], ['errorCode' => 'InvalidBgpName.Malformed', 'errorMessage' => 'Specified Bgp Group name is not valid.', 'description' => ''], ['errorCode' => 'InvalidBgpDiscription.Malformed', 'errorMessage' => 'Specified Bgp Group description is not valid.', 'description' => ''], ['errorCode' => 'InvalidBgpAuthkey.Malformed', 'errorMessage' => 'Specified Bgp Group authkey is not valid.', 'description' => ''], ['errorCode' => 'InvalidIP.Malformed', 'errorMessage' => 'Ip malformed.', 'description' => ''], ['errorCode' => 'InvalidPeerAsn.Malformed', 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', 'description' => ''], ['errorCode' => 'InvalidParams.NotNull', 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', 'description' => ''], ['errorCode' => 'InvalidParams.NotFound', 'errorMessage' => 'instance not found', 'description' => ''], ['errorCode' => 'InvalidParams.AlreadyExists', 'errorMessage' => 'bgp network already exists', 'description' => 'The BGP network already exists.'], ['errorCode' => 'InvalidStatus.CannotOperate', 'errorMessage' => 'invalid status cannot operate', 'description' => ''], ['errorCode' => 'InvalidParams.PeerIpAddressMustPointOut', 'errorMessage' => 'vbr has 0 or more than 1 subif ,point out peerIpAddress.', 'description' => 'You must set the PeerIpAddress parameter.'], ['errorCode' => 'InvalidParams.PeerIpAddressInUse', 'errorMessage' => 'peer ip address in use ,cannot create bgp peer.', 'description' => 'The peer IP address is being used. Therefore, you cannot use it to create a BGP peer.'], ['errorCode' => 'InvalidBgpPeer.NotFound', 'errorMessage' => 'Bgp peer not found.', 'description' => ''], ['errorCode' => 'IncorrectStatus.BgpPeer', 'errorMessage' => 'Invalid BgpPeer status cannot operate.', 'description' => 'The status of the BGP peer does not support this operation.'], ['errorCode' => 'OperationFailed.ResourceLockedBySystem', 'errorMessage' => 'The specified resource is locked by system.', 'description' => 'The operating resource is locked by the system and cannot be operated temporarily.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'Specified value of "regionId" is not supported.', 'description' => ''], ], ], 'title' => 'Delete a specified BGP peer', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBgpPeer'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteBgpPeer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\"\\n}","type":"json"}]', ], 'DeleteCommonBandwidthPackage' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'autoTest' => true, 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the Internet Shared Bandwidth instance is created.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Force', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to forcefully delete the Internet Shared Bandwidth instance. Valid values:'."\n" ."\n" .'* **false** (default): deletes the Internet Shared Bandwidth instance only when no EIPs are associated with the Internet Shared Bandwidth instance.'."\n" .'* **true**: disassociates all EIPs from the Internet Shared Bandwidth instance and deletes the Internet Shared Bandwidth instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'BandwidthPackageId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet Shared Bandwidth instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cbwp-2ze2ic1xd2qeqk145pn4u', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B400EF57-60E3-4D61-B8FB-7FA8F72DF5A6', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The required parameter is not set.'], ['errorCode' => 'DependencyViolation.Ips', 'errorMessage' => 'The specified BandwidthPackageId has dependent resource ips.', 'description' => ''], ['errorCode' => 'ForbiddenAction.PrePaid', 'errorMessage' => 'The specified BandwidthPackageId is PrePaid.', 'description' => ''], ['errorCode' => 'OperationFailed.BandwidthPackageNotEmpty', 'errorMessage' => 'Eip bandwidth package not empty.', 'description' => 'The EIP bandwidth plan cannot be deleted because EIPs are associated with the EIP bandwidth plan.'], ['errorCode' => 'InvalidOperation.DeletionProtection', 'errorMessage' => 'The instance cannnot delete because of deletion protecion.', 'description' => ''], ['errorCode' => 'OperationUnsupported.Release95Instance', 'errorMessage' => 'Releasing instances that payBy95 or payByOld95 is unsupported.', 'description' => ''], ['errorCode' => 'OperationFailed.AddIpTaskInProcessing', 'errorMessage' => 'Operation failed because add ip to common bandwidth task in processing.', 'description' => 'You cannot delete the resource because EIPs are being associated with the EIP bandwidth plan.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidBandwidthPackageId.NotFound', 'errorMessage' => 'The specified BandwidthPackageId does not exist in our records.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeCommonBandwidthPackages', 'callbackInterval' => 3, 'maxCallbackTimes' => 10], 'title' => 'DeleteCommonBandwidthPackage', 'summary' => 'Deletes an Internet Shared Bandwidth instance.', 'description' => 'You cannot repeatedly call the **DeleteCommonBandwidthPackage** operation to delete an Internet Shared Bandwidth instance within the specified period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-07-24T02:52:25.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-07-12T11:39:11.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B400EF57-60E3-4D61-B8FB-7FA8F72DF5A6\\"\\n}","errorExample":""},{"type":"xml","example":"\\n B400EF57-60E3-4D61-B8FB-7FA8F72DF5A6\\n","errorExample":""}]', ], 'DeleteCustomerGateway' => [ 'summary' => 'Calls the DeleteCustomerGateway operation to delete a specified customer gateway.', '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' => 'The region ID of the customer gateway. You can obtain the region ID by calling the [DescribeRegions](~~36063~~) operation.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'The client generates this parameter value, which must be unique among different requests. The maximum length is 64 ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04****', 'title' => ''], ], [ 'name' => 'CustomerGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the customer gateway instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cgw-bp1pvpl9r9adju6l5****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '606998F0-B94D-48FE-8316-ACA81BB230DA', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'DependencyViolation.VpnConnection', 'errorMessage' => 'There are vpn connections on specified customer gateway not deleted.', 'description' => 'The error message returned because VPN connections to the specified customer gateway are not deleted.'], ['errorCode' => 'VpnGateway.task.conflict', 'errorMessage' => 'The VPN is in the configuration state, please wait a while before operating.', 'description' => '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.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidCustomerGatewayInstanceId.NotFound', 'errorMessage' => 'The specified customer gateway instance id does not exist.', 'description' => 'The specified customer gateway does not exist. Check whether the ID of the customer gateway is correct.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Delete a specified customer gateway', 'description' => 'Before deleting a customer gateway, make sure that the customer gateway is not associated with any IPsec connections. To delete IPsec connections, see [DeleteVpnAttachment](~~2526938~~) or [DeleteVpnConnection](~~2526948~~).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-01-04T07:17:11.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCustomerGateway'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteCustomerGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'CustomerGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:customergateway/{#CustomerGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"606998F0-B94D-48FE-8316-ACA81BB230DA\\"\\n}","type":"json"}]', ], 'DeleteDhcpOptionsSet' => [ 'summary' => 'Deletes a DHCP options set.', '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' => 'The region of the DHCP options set to be deleted. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'DhcpOptionsSetId', 'in' => 'query', 'schema' => ['description' => 'The ID of the DHCP options set to be deleted.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dopt-o6w0df4epg9zo8isy****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'**true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" ."\n" .'**false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.DhcpOptionsSet', 'errorMessage' => 'The DhcpOptionsSet status does not support this operation.', 'description' => 'The DHCP options set that is associated with the VPC is being configured. As a result, the DHCP options set does not support this operation. You can perform the operation after the status of the DHCP options set is stable.'], ['errorCode' => 'OperationUnsupported.DhcpOptionsSet', 'errorMessage' => 'The DHCP options set feature in this region is not supported.', 'description' => 'The current region does not support the DHCP options sets feature.'], ['errorCode' => 'DependencyViolation.VpcAttachment', 'errorMessage' => 'DhcpOptionsSet cannot be deleted when it is attached to VPC.', 'description' => 'The DHCP options set is associated with a VPC and cannot be deleted.'], ['errorCode' => 'InvalidDhcpOptionsSetId.NotFound', 'errorMessage' => 'The specified dhcpOptionsSetId does not exist.', 'description' => 'The DHCP options set does not exist. Check whether the parameter is set to a valid value.'], ['errorCode' => 'MissingParam.DhcpOptionsSetId', 'errorMessage' => 'Missing parameter DhcpOptionsSetId.', 'description' => 'Missing parameter DhcpOptionsSetId'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist.', 'description' => 'The specified region does not exist.'], ], ], 'title' => 'DeleteDhcpOptionsSet', 'description' => '## [](#)Description'."\n" ."\n" .'* **DeleteDhcpOptionsSet** 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 [GetDhcpOptionsSet](~~189208~~) operation to query the status of the task.'."\n" ."\n" .' * If the DHCP options set is in the **Deleting** state, the DHCP options set is being deleted.'."\n" .' * If you cannot query the DHCP options set, the DHCP options set is deleted.'."\n" ."\n" .'* You cannot repeatedly call the **DeleteDhcpOptionsSet** operation to delete a DHCP options set within the specified period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], '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":""}]', ], 'DeleteEnhancedVpnGateway' => [ 'summary' => 'Deletes a specified enhanced VPN gateway.', 'path' => '', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete', 'riskType' => 'high', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the enhanced VPN gateway is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token used to ensure the idempotence of the request.
You can generate this token by using your client, but you must ensure that it is unique for each request. The token can contain only ASCII characters and must not exceed 64 characters in length.
'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the enhanced VPN gateway.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'description' => 'The response object.', 'title' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E9A8AABE-A84B-4AF2-A68A-8E2EA190E7AE', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The eip operate too frequent, TaskConflict.', 'description' => 'Operations are too frequent and tasks conflict with each other.'], ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => 'The specified VPN gateway does not exist. Check whether the specified VPN gateway is valid.'], ['errorCode' => 'VpnDependencyViolation.VpnConnection', 'errorMessage' => 'There are vpn connections on specified vpn gateway not deleted.', 'description' => 'The error message returned because VPN connections to the specified vpn gateway are not deleted.'], ], 403 => [ ['errorCode' => 'Forbidden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => 'The error message returned because you are unauthorized to perform this operation on the specified resource. Acquire the required permissions and try again.'], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ['errorCode' => 'ForbiddenRelease', 'errorMessage' => 'Forbidden to release a prepaid instance within validity period', 'description' => ''], ], [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 6000, 'maxCallbackTimes' => 100], 'title' => 'Delete a specified enhanced VPN Gateway', 'description' => '> You cannot delete an enhanced VPN gateway that has an existing IPsec connection.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteEnhancedVpnGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E9A8AABE-A84B-4AF2-A68A-8E2EA190E7AE\\"\\n}","type":"json"}]', ], 'DeleteExpressConnect' => [ 'summary' => 'Deletes an Express Connect instance, including the requester VPC and accepter VPC.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the Express Connect instance. You can call [DescribeRegions](~~36063~~) to obtain the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'RouterInterfaceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the Express Connect instance.', 'type' => 'string', 'required' => true, 'example' => 'ri-119mfjz****', 'title' => ''], ], [ 'name' => 'Force', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to force delete associated routes.'."\n" ."\n" .'- **true**: Force deletes the routes.'."\n" ."\n" .'- **false**: Does not delete the routes.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'The token is generated by the client and must be unique across different requests. The token can be up to 64 ASCII characters in length.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '980960B0-2969-40BF-8542-EBB34FD358AB', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.RouterInterface', 'errorMessage' => 'This openeration would not be allowed because the status of this RouterInterface is not correct.', 'description' => 'The instance cannot be deleted in the current state. Wait until the status of the instance changes and try again.'], ['errorCode' => 'DependencyViolation.RouterInterfaceReferedByRouteEntry', 'errorMessage' => 'RouterInterface cannot be deleted when it is refered by a route table entry as next hop.', 'description' => 'The router interface is referenced as a next hop by a route entry and cannot be deleted. Delete the route entry before you can delete the router interface.'], ['errorCode' => 'InvalidRouterInterfaceChargeType.Malformed', 'errorMessage' => 'The prepaid routerinterface can not delete.', 'description' => ''], ['errorCode' => 'InvalidRouterInterfaceOppositeChargeType.Malformed', 'errorMessage' => 'Opposite routerinterface is prepaid and can not delete.', 'description' => ''], ['errorCode' => 'IncorrectStatus.Vpc', 'errorMessage' => 'Vpc incorrect status.', 'description' => 'VPC is not in steady state.'], ['errorCode' => 'OperationFailed.OperationLocked', 'errorMessage' => 'Operation failed because OperationLocked.', 'description' => 'The operation failed because the instance is locked due to O&M.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The InstanceId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidRouterInterfaceId.NotFound', 'errorMessage' => 'The routerInterface is not exist.', 'description' => ''], ['errorCode' => 'IncorrectStatus.VSwitchOrRouteEntry', 'errorMessage' => 'vpc has no stable subnet or route entry.', 'description' => ''], ['errorCode' => 'DependencyViolation.ClassicLinkEcsRouteEntry', 'errorMessage' => 'RouterInterface cannot be deleted when it is used by cross account classicLink.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'Internal system error.', 'description' => 'Internal system error.'], ], ], 'title' => 'Delete an express connect instance', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteExpressConnect'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteRouterInterface', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouterInterface', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routerinterface/{#RouterInterfaceId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"980960B0-2969-40BF-8542-EBB34FD358AB\\"\\n}","type":"json"}]', ], 'DeleteExpressConnectTrafficQos' => [ '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' => 'The region ID of the QoS policy.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai'."\n", 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request may be different.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request may be different.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'QosId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The QoS policy ID.', 'type' => 'string', 'required' => true, 'example' => 'qos-2giu0a6vd5x0mv****'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '606998F0-B94D-48FE-8316-ACA81BB230DA', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter is invalid.'], ['errorCode' => 'IncorrectStatus.Qos', 'errorMessage' => 'The status of QoS is incorrect.', 'description' => 'The status of the QoS policy is abnormal and the operation cannot be performed. Try again later.'], ['errorCode' => 'EcQoSConflict', 'errorMessage' => 'The specified QoS is conflict with other QoS.', 'description' => 'The current QoS configuration conflicts with other configurations. Please try again later.'], ['errorCode' => 'EcQoSWithPconnNotSupportDelete', 'errorMessage' => 'The Qos policy associated with Pconn cannot be deleted. Please disassociate it first.', 'description' => 'Your current QoS policy has been associated with a physical connection and cannot be deleted directly. Please disassociate it and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Delete an Express Connect traffic QoS policy', 'summary' => 'Calls the DeleteExpressConnectTrafficQos operation to delete an Express Connect traffic QoS policy.', 'description' => 'A QoS policy that is associated with an Express Connect circuit cannot be directly deleted. You must disassociate it first.', 'changeSet' => [ ['createdAt' => '2024-03-29T08:01:41.000Z', 'description' => 'Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteExpressConnectTrafficQos'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteExpressConnectTrafficQos', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"606998F0-B94D-48FE-8316-ACA81BB230DA\\"\\n}","type":"json"}]', ], 'DeleteExpressConnectTrafficQosQueue' => [ 'summary' => 'Invokes the DeleteExpressConnectTrafficQosQueue operation to delete a QoS queue for Express Connect.', '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' => 'The region ID of the QoS policy.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request may be different.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request may be different.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'QosId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The QoS policy ID.', 'type' => 'string', 'required' => true, 'example' => 'qos-2giu0a6vd5x0mv****'], ], [ 'name' => 'QueueId', 'in' => 'query', 'schema' => ['description' => 'The QoS queue ID.', 'type' => 'string', 'required' => true, 'example' => 'qos-queue-9nyx2u7n71s2rc****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9B9300FE-11E2-4E3B-949C-BED3B44DD26D', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter is invalid.'], ['errorCode' => 'IncorrectStatus.Qos', 'errorMessage' => 'The status of QoS is incorrect.', 'description' => 'The status of the QoS policy is abnormal and the operation cannot be performed. Try again later.'], ['errorCode' => 'EcQoSConflict', 'errorMessage' => 'The specified QoS is conflict with other QoS.', 'description' => 'The current QoS configuration conflicts with other configurations. Please try again later.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Delete an express connect qoS queue', 'changeSet' => [ ['createdAt' => '2024-03-29T08:01:41.000Z', 'description' => 'Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteExpressConnectTrafficQosQueue'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteExpressConnectTrafficQosQueue', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9B9300FE-11E2-4E3B-949C-BED3B44DD26D\\"\\n}","type":"json"}]', ], 'DeleteExpressConnectTrafficQosRule' => [ 'summary' => 'Deletes a QoS rule for Express Connect.', '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' => 'The region ID of the QoS policy.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The **ClientToken** value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '02fb3da4-130e-11e9-8e44-00****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The **ClientToken** value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '02fb3da4-130e-11e9-8e44-00****', 'title' => ''], ], [ 'name' => 'QosId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The QoS policy ID.', 'type' => 'string', 'required' => true, 'example' => 'qos-2giu0a6vd5x0mv****'], ], [ 'name' => 'QueueId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The QoS queue ID.', 'type' => 'string', 'required' => true, 'example' => 'qos-queue-9nyx2u7n71s2rc****'], ], [ 'name' => 'RuleId', 'in' => 'query', 'schema' => ['description' => 'The QoS rule ID.', 'type' => 'string', 'required' => true, 'example' => 'qos-rule-iugg0l9x27f2no****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF'], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter is invalid.'], ['errorCode' => 'IncorrectStatus.Qos', 'errorMessage' => 'The status of QoS is incorrect.', 'description' => 'The status of the QoS policy is abnormal and the operation cannot be performed. Try again later.'], ['errorCode' => 'EcQoSConflict', 'errorMessage' => 'The specified QoS is conflict with other QoS.', 'description' => 'The current QoS configuration conflicts with other configurations. Please try again later.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Delete an express connect qoS rule', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteExpressConnectTrafficQosRule'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteExpressConnectTrafficQosRule', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\"\\n}","type":"json"}]', ], 'DeleteFailoverTestJob' => [ 'summary' => 'Deletes a failover test.', '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' => 'The region ID of the failover test.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'ch-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000'."\n", 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000'."\n", 'title' => ''], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the failover test.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ftj-bp1yh6mvi13aq3g8w****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF'."\n", 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.JobId', 'errorMessage' => 'The specified parameter JobId is illegal.', 'description' => 'The entered failover test job ID is invalid.'], ['errorCode' => 'IncorrectStatus.OnlyForInitOrStopped', 'errorMessage' => 'Only failover test job in the status of init or stopped can be deleted.', 'description' => '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.', 'description' => 'The current failover test job task is in operation, please try again later.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DeleteFailoverTestJob', 'description' => 'You can delete only failover tests that are in the **Pending** or **Complete** state.'."\n", 'changeSet' => [ ['createdAt' => '2024-07-19T02:56:58.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\\\n\\"\\n}","type":"json"}]', ], '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' => 'The region ID of the flow log. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'], ], [ 'name' => 'FlowLogId', 'in' => 'query', 'schema' => ['description' => 'The ID of the flow log.'."\n", 'type' => 'string', 'required' => true, 'example' => 'fl-m5e8vhz2t21sel1nq****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Success' => ['description' => 'Indicates whether the operation is successful. Valid values:'."\n" ."\n" .'* **true**: yes'."\n" .'* **false**: no'."\n", 'type' => 'string', 'example' => 'true'], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Instance does not exist.', 'description' => 'The error message returned because the specified instance does not exist.'], ['errorCode' => 'ProjectOrLogstoreNotExist', 'errorMessage' => 'The specified project or logstore does not exist.', 'description' => 'The error message returned because the specified project or Logstore does not exist.'], ['errorCode' => 'SourceProjectNotExist', 'errorMessage' => 'The Source Project or logstore does not exist.', 'description' => 'The error message returned because the source project or Logstore does not exist.'], ['errorCode' => 'Unauthorized', 'errorMessage' => 'This api does not support sub user or role.', 'description' => 'The error message returned because you cannot call this operation as a RAM user.'], ['errorCode' => 'ParameterInvalid', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because a parameter is invalid.'], ['errorCode' => 'InvalidStatus', 'errorMessage' => 'The specfied instance\'s status is invalid.', 'description' => ''], ['errorCode' => 'InvalidHdMonitorStatus', 'errorMessage' => 'Current instance status is not valid for this action.', 'description' => ''], ['errorCode' => 'FlowLogNumberOverLimit', 'errorMessage' => 'This user has reached the maximum instance number of flowlog.', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The specfied instance is not existed.', 'description' => ''], ['errorCode' => 'IncorrectStatus.flowlog', 'errorMessage' => 'Invalid flowlog status.', 'description' => 'The flow log cannot be disabled because it is in an invalid state.'], ['errorCode' => 'InvalidResourceId.NotFound', 'errorMessage' => 'Resource id is empty.', 'description' => ''], ['errorCode' => 'Forbidden.OperateManagedFlowLog', 'errorMessage' => 'Authentication is failed for operate managed flowlog.', 'description' => 'Authentication failed when operating the managed flow log.'], ], ], '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' => 'DeleteFlowLog', 'summary' => 'Deletes a flow log.', 'description' => '* The **DeleteFlowLog** operation is asynchronous. After you send the request, the system returns a request ID. However, the operation is still being performed in the system background. You can call the [DescribeFlowLogs](~~87923~~) operation to query the status of a flow log:'."\n" ."\n" .' * If the flow log is in the **Deleting** state, the flow log is being deleted.'."\n" .' * If you cannot query the flow log, the flow log is deleted.'."\n" ."\n" .'* You cannot repeatedly call the **DeleteFlowLog** operation to delete a flow log within the specified period of time.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'DeleteForwardEntry' => [ 'summary' => 'Deletes a DNAT entry.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the NAT 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-hangzhou', 'title' => ''], ], [ 'name' => 'ForwardTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the DNAT table to which the DNAT entry belongs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ftb-8vbx8xu2lqj9qb334****', 'title' => ''], ], [ 'name' => 'ForwardEntryId', 'in' => 'query', 'schema' => ['description' => 'The ID of the DNAT entry to be deleted.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'fwd-8vbn3bc8roygjp0gy****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorretForwardEntryStatus', 'errorMessage' => 'Some Forward entry status blocked this operation..', 'description' => ''], ['errorCode' => 'MissingParameter', 'errorMessage' => 'Missing mandatory parameter', 'description' => ''], ['errorCode' => 'IncorrectStatus.NATGW', 'errorMessage' => 'The status of the specified NAT gateway is abnormal.', 'description' => 'The status of the specified NAT gateway is abnormal.'], ['errorCode' => 'IncorrectStatus.ForwardEntry', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The DNAT entry to be deleted is in an invalid state.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidForwardEntryId.NotFound', 'errorMessage' => 'Specified forward entry ID does not exist', 'description' => ''], ['errorCode' => 'InvalidForwardTableId.NotFound', 'errorMessage' => 'Specified forward table does not exist.', 'description' => ''], ['errorCode' => 'ResourceNotFound.ForwardEntry', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The specified %s resource does not exist.'], ], ], 'title' => 'DeleteForwardEntry', 'description' => '## [](#)Description'."\n" ."\n" .'* **DeleteForwardEntry** 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 [DescribeForwardTableEntries](~~36053~~) operation to query the status of the task.'."\n" ."\n" .' * If the DNAT entry is in the **Deleting** state, the system is deleting the DNAT entry. In this case, you can only query the status of the DNAT entry, but cannot perform other operations.'."\n" .' * If the DNAT entry cannot be found, it is deleted.'."\n" ."\n" .'> If a DNAT table has DNAT entries in the **Pending** state, you cannot delete the DNAT entries.'."\n" ."\n" .'* You cannot repeatedly call the **DeleteForwardEntry** operation to delete a DNAT entry within the specified period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-03-01T06:45:55.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', ], 'DeleteFullNatEntry' => [ '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' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', 'title' => ''], ], [ 'name' => 'FullNatTableId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the FULLNAT table to which the FULLNAT entry to be deleted belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'fulltb-gw88z7hhlv43rmb26****'], ], [ 'name' => 'FullNatEntryId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the FULLNAT entry that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'example' => 'fullnat-gw8fz23jezpbblf1j****'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, the related error message is returned. If the request passes the dry run, the DryRunOperation error code is returned.'."\n" .'* **false**: performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPC NAT gateway to which the FULLNAT entry to be deleted belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent list of regions.'."\n", 'type' => 'string', 'required' => true, 'example' => 'eu-central-1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '2BCC426F-A9F2-3F03-99D2-1E0D647236DB'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.FullNatEntry', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The specified FullNatEntry parameter is not found.'], ['errorCode' => 'IncorrectStatus.FullNatEntry', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The status of FullNatEntry is incorrect.'], ['errorCode' => 'ResourceNotFound.FullNatTableId', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => ''], ], ], 'title' => 'DeleteFullNatEntry', 'summary' => 'Deletes a FULLNAT entry.', 'description' => '## [](#)Description'."\n" ."\n" .'**DeleteFullNatEntry** 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 [ListFullNatEntries](~~348779~~) operation to query the status of a FULLNAT entry.'."\n" ."\n" .'* If the FULLNAT entry is in the **Deleting** state, the system is deleting the FULLNAT entry. In this case, you can query the status of the FULLNAT entry, but cannot perform other operations.'."\n" .'* If the FULLNAT entry cannot be found, the FULLNAT entry is deleted.'."\n" ."\n" .'You cannot repeatedly call the **DeleteFullNatEntry** operation to delete a FULLNAT entry within the specified period of time.'."\n", 'changeSet' => [ ['createdAt' => '2025-03-25T16:26:00.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-01-04T09:37:44.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-12-13T10:55:47.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-10-15T06:08:26.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2BCC426F-A9F2-3F03-99D2-1E0D647236DB\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 2BCC426F-A9F2-3F03-99D2-1E0D647236DB\\n","errorExample":""}]', ], 'DeleteGlobalAccelerationInstance' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the GA instance.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'GlobalAccelerationInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-asdfsl22s****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E6E63B2A-9820-44A8-A359-9BB2DAEE6424'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectGlobalAccelerationInstanceIdStatus', 'errorMessage' => 'Current GlobalAccelerationInstance status does not support this operation.', 'description' => ''], ['errorCode' => 'InvalidGlobalAccelerationInstanceId.NotFound', 'errorMessage' => 'The specified GlobalAccelerationInstanceId is not found.', 'description' => ''], ['errorCode' => 'Forbidden.GlobalAccelerationInstanceChargeTypeIsPrepaid', 'errorMessage' => 'It\'s forbidden to release a prepaid GlobalAccelerationInstance', 'description' => ''], ['errorCode' => 'DependencyViolation.Ips', 'errorMessage' => 'The specified BandwidthPackageId has dependent resource ips.', 'description' => ''], ['errorCode' => 'IncorrectStatus', 'errorMessage' => 'This openeration would be allowed only when status of this RouterInterface is Idle/Inactive.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not supported.', 'description' => ''], ], ], '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' => 'DeleteGlobalAccelerationInstance', 'summary' => 'Deletes a GA instance.', 'description' => 'When you call this operation, take note of the following items:'."\n" ."\n" .'* You can delete only pay-as-you-go instances.'."\n" .'* Before you can delete a dedicated instance, disassociate the backend server from the instance first.'."\n" .'* Before you can delete a shared instance, disassociate the elastic IP address (EIP) from the instance first.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'DeleteHaVip' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the HaVip. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'HaVipId', 'in' => 'query', 'schema' => ['description' => 'The ID of the HaVip that you want to delete.', 'type' => 'string', 'required' => true, 'example' => 'havip-2zeo05qre24nhrqpy****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus', 'errorMessage' => 'HaVip can be deleted only when it is status is Available.', 'description' => 'Failed to delete the HAVIP. You can delete the HAVIP only when its status is available.'], ['errorCode' => 'DependencyViolation.HaVipReferedByRouteEntry', 'errorMessage' => 'HaVip cannot be deleted when it is refered by a route table entry as next hop.', 'description' => ''], ['errorCode' => 'DependencyViolation.HaVipAssociatedWithEIP', 'errorMessage' => 'HaVip cannot be deleted when it is associated with EIP.', 'description' => ''], ['errorCode' => 'IncorrectHaVipStatus', 'errorMessage' => 'HaVip?s status is invalid.', 'description' => ''], ['errorCode' => 'Forbidden.HaVip', 'errorMessage' => 'No permissions to perform operations on HAVIPs. Please apply for privilege--vpc_privilege_allow_buy_havip_instance.', 'description' => 'The error message returned because you do not have the permissions to manage the HAVIP. Go to the Quota Center page to acquire the permissions.'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidHaVipId.NotFound', 'errorMessage' => 'The specified HaVip does not exist in the specified region.', 'description' => 'The specified HAVIP does not exist in the specified region. Check whether the specified region is correct.'], ], ], 'title' => 'Delete a high-availability virtual IP address (HaVip)', 'summary' => 'Deletes a high-availability virtual IP address (HaVip).', 'description' => 'Before you begin:'."\n" ."\n" .'- The HaVip must be in the available state before it can be deleted.'."\n" ."\n" .'- Make sure that no routes point to the HaVip that you want to delete.'."\n" ."\n" .'- Make sure that the HaVip that you want to delete is not associated with any elastic IP address (EIP).'."\n" ."\n" .'- The **DeleteHaVip** operation is asynchronous. After you send a request, the system returns a request ID. However, the HaVip is not yet deleted. The deletion task runs in the background. You can call [DescribeHaVips](~~114611~~) to query the deletion status of the HaVip:'."\n" .' - If the HaVip is in the **Deleting** state, the HaVip is being deleted.'."\n" .' - If the specified HaVip cannot be found, the HaVip is deleted.'."\n" .'- The **DeleteHaVip** operation does not support concurrent deletion of the same HaVip.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-01-11T06:07:05.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-01-10T15:26:10.000Z', 'description' => 'Error codes changed, Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteHaVip'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteHaVip', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'HaVip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/{#HaVipId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\"\\n}","type":"json"}]', ], 'DeleteIPv6Translator' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ClientToken', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Ipv6TranslatorId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ipv6trans-bp1i8ahxut1ie****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IPv6Translator.Configuring', 'errorMessage' => 'The specified ipv6 translator is configuring.', 'description' => ''], ['errorCode' => 'Nat64Gateway.Configuring', 'errorMessage' => 'The specified IPv6 translator is configuring.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ['errorCode' => 'ForbiddenRelease', 'errorMessage' => 'Forbidden to release a prepaid instance within validity period', 'description' => ''], ], [ ['errorCode' => 'InvalidIPv6TranslatorId.NotFound', 'errorMessage' => 'The specified ipv6 translator instance id does not exist.', 'description' => ''], ], ], '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' => 'DeleteIPv6Translator', 'summary' => 'Deletes an IPv6 Translation Service instance.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteIPv6Translator', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#Ipv6TranslatorId}'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIPv6Translator'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'DeleteIPv6TranslatorAclList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => true, 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among all requests. The token can contain only ASCII characters.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region of the IPv6 translation service instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'AclId', 'in' => 'query', 'schema' => ['description' => 'The ID of the ACL that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ipv6transacl-bp1de2****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidIPv6TranslatorACLId.NotFound', 'errorMessage' => 'The specified ipv6 translator acl instance id does not exist.', 'description' => ''], ['errorCode' => 'InvalidIPv6TranslatorACL.Used', 'errorMessage' => 'The specified ipv6 translator acl is be used.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], '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' => 'DeleteIPv6TranslatorAclList', 'summary' => 'Deletes an access control list (ACL). You can delete an ACL only when the ACL is not associated with IPv6 translation mappings.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteIPv6TranslatorAclList', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#Ipv6TranslatorId}'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIPv6TranslatorAclList'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'DeleteIPv6TranslatorEntry' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => true, 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region of the IPv6 Translation Service instance. You can call the **DescribeRegions** operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Ipv6TranslatorEntryId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 mapping entry to be deleted.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ipv6transentry-bp1g8bhrde****', 'title' => ''], ], [ 'name' => 'Ipv6TranslatorId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 Translation Service instance.'."\n" ."\n" .'> If you do not specify **Ipv6TranslatorEntryId**, all mapping entries in the specified instance are deleted.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ipv6trans-bp1858ys****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '8B2F5262-6B57-43F2-xxxxx', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidIPv6TranslatorId.NotFound', 'errorMessage' => 'The specified ipv6 translator gateway instance id does not exist.', 'description' => ''], ['errorCode' => 'InvalidIPv6TranslatorEntryId.NotFound', 'errorMessage' => 'The specified ipv6 translator entry id does not exist.', 'description' => ''], ['errorCode' => 'IPv6Translator.Configuring', 'errorMessage' => 'The specified ipv6 translator is configuring.', 'description' => ''], ['errorCode' => 'IPv6Translator.FinancialLocked', 'errorMessage' => 'The specified ipv6 translator is financial locked.', 'description' => ''], ['errorCode' => 'InvalidIPv6TranslatorId.CoexistWithEntryId', 'errorMessage' => 'The entry id and instance id can not be specified together', 'description' => ''], ['errorCode' => 'MissingEntryOrInstanceId', 'errorMessage' => 'The entry or instance id is not supplied', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8B2F5262-6B57-43F2-xxxxx\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 8B2F5262-6B57-43F2-xxxxx\\n","errorExample":""}]', 'title' => 'DeleteIPv6TranslatorEntry', 'summary' => 'Deletes an IPv6 mapping entry.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteIPv6TranslatorEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIPv6TranslatorEntry'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'DeleteIpsecServer' => [ 'summary' => 'Deletes an IPsec server.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'autoTest' => true, 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the IPsec server is created.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'IpsecServerId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPsec server.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'iss-bp1jougp8cfsbo8y9****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidIpsecServerId.NotFound', 'errorMessage' => 'The specified IPsec server ID (%s) does not exist.', 'description' => ''], ], 409 => [ ['errorCode' => 'OperationConflict', 'errorMessage' => 'The operation against this instance is too frequent, please try again later.', 'description' => 'Operations are too frequently performed on the instance. Try again later.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 1000, 'maxCallbackTimes' => 30], 'title' => 'DeleteIpsecServer', 'description' => '* **DeleteIpsecServer** 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 [DescribeVpnGateway](~~2794055~~) to query the status of the task.'."\n" ."\n" .' * If the VPN gateway is in the **updating** state, the IPsec server is being deleted.'."\n" .' * If the VPN gateway is in the **active** state, the IPsec server is deleted.'."\n" ."\n" .'* You cannot call **DeleteIpsecServer** within the specified period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], '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":""}]', ], 'DeleteIpv4Gateway' => [ 'summary' => 'Deletes an IPv4 gateway.', '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' => 'The ID of the IPv4 gateway that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****', 'title' => ''], ], [ 'name' => 'InternetMode', 'in' => 'query', 'schema' => [ 'description' => 'Select the public network mode of the VPC after deleting the IPv4 gateway. The values are:'."\n" .'- **private**: Default value, after deleting the IPv4 gateway, the VPC will become a pure private VPC without public network access capability. '."\n" .'- **public**: After deleting the IPv4 gateway, the VPC\'s public network access is no longer centrally controlled by the IPv4 gateway, and instances with public IPs bound can access the public network by default.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'enumValueTitles' => ['private' => 'private', 'public' => 'public'], 'example' => 'public', 'title' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPv4 gateway that you want to delete.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-southeast-6', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run, without performing the actual request. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPv4 gateway that you want to delete.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-southeast-6', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '21133AC0-0636-521B-A400-253818691A56', 'title' => ''], ], 'description' => '', 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.Ipv4Gateway', 'errorMessage' => 'The specified resource ipv4Gateway is not found.', 'description' => 'The IPv4 gateway is not found and cannot be deleted.'], ['errorCode' => 'IncorrectStatus.Ipv4Gateway', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The IPv4 gateway is in an invalid state. Try again later.'], ['errorCode' => 'OperationDenied.RouteEntryExist', 'errorMessage' => 'The operation is not allowed because of existing routeEntry point to ipv4Gateway.', 'description' => 'You cannot delete the IPv4 gateway because routes that point to the IPv4 gateway exist.'], ['errorCode' => 'OperationDenied.GatewayAlreadyAssociated', 'errorMessage' => 'The operation is not allowed because of the specified resource %s is already associated.', 'description' => 'The operation is not allowed because the IPv4 gateway is in the Associated state.'], ['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.', 'description' => 'The EIP is associated with a private IP address and this feature requires an IPv4 gateway. Therefore, you cannot delete the IPv4 gateway.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::GetIpv4GatewayAttribute', 'callbackInterval' => 3, 'maxCallbackTimes' => 10], 'title' => 'DeleteIpv4Gateway', 'description' => '### [](#)Description'."\n" ."\n" .'* Before you delete an IPv4 gateway, make sure that no route tables are associated with the IPv4 gateway.'."\n" ."\n" .'* **DeleteIpv4Gateway** 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 [GetIpv4GatewayAttribute](~~407670~~) operation to query the status of the task.'."\n" ."\n" .' * If the IPv4 gateway is in the **Deleting** state, the IPv4 gateway is being deleted.'."\n" .' * If the IPv4 gateway cannot be queried, the IPv4 gateway is deleted.'."\n" ."\n" .'* After you call the **DeleteIpv4Gateway** operation to delete an IPv4 gateway, you cannot call the operation again to delete the IPv4 gateway until the deletion task is complete.'."\n", 'changeSet' => [ ['createdAt' => '2024-06-14T06:24:09.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-04-13T10:09:34.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-02T02:19:49.000Z', 'description' => 'OpenAPI offline'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteIpv4Gateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv4Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv4gateway/{#ipv4gatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"21133AC0-0636-521B-A400-253818691A56\\"\\n}","type":"json"}]', ], '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' => 'The region ID of the IPv6 gateway. You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-huhehaote', 'title' => ''], ], [ 'name' => 'Ipv6EgressOnlyRuleId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 egress-only rule that you want to delete.', 'type' => 'string', 'required' => true, 'example' => 'ipv6py-hp3w98rmlbqp0xxxxxxxx', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123456', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9DFEDBEE-E5AB-49E8-A2DC-CC114C67AF75', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.EgressOnlyRule', 'errorMessage' => 'The status of the specified IPv6EgressOnlyRule is incorrect.', 'description' => 'The specified IPv6EgressOnlyRule is not in steady state.'."\n"], ], 404 => [ ['errorCode' => 'ResourceNotFound.Ipv6EgressOnlyRule', 'errorMessage' => 'The specified resource of IPv6 Gateway Rule is not found.', 'description' => 'The specified IPv6 egress-only rule instance does not exist.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeIpv6EgressOnlyRules', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'Delete an iPv6 egress-only rule', 'summary' => 'Deletes an IPv6 egress-only rule.', 'description' => '- **DeleteIpv6EgressOnlyRule** is an asynchronous operation. After you send a request, the system returns a request ID, but the IPv6 egress-only rule is not yet deleted. The deletion task continues to run in the background. You can call the [DescribeIpv6EgressOnlyRules](~~102208~~) operation to query the deletion status of the IPv6 egress-only rule:'."\n" .' - If the IPv6 egress-only rule is in the **Deleting** state, the rule is being deleted.'."\n" .' - If the specified IPv6 egress-only rule cannot be found, the rule has been deleted.'."\n" .'- **DeleteIpv6EgressOnlyRule** does not support concurrent deletion of the same IPv6 egress-only rule.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-02-10T11:21:39.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-10-13T03:44:54.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIpv6EgressOnlyRule'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteIpv6EgressOnlyRule', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/{#Ipv6GatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9DFEDBEE-E5AB-49E8-A2DC-CC114C67AF75\\"\\n}","type":"json"}]', ], 'DeleteIpv6Gateway' => [ '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' => 'The region ID of the IPv6 gateway. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-huhehaote', 'title' => ''], ], [ 'name' => 'Ipv6GatewayId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the IPv6 gateway that you want to delete.', 'type' => 'string', 'required' => true, 'example' => 'ipv6gw-hp3y0l3ln89j8****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'- **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" ."\n" .'- **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, the IPv6 gateway is deleted.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E9A8AABE-A84B-4AF2-A68A-8E2EA190E7AE', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'DependencyViolation.GatewayRouteTableRelation', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => 'The specified resource is dependent on other resources and the current operation is not allowed.'], ['errorCode' => 'IncorrectStatus.Ipv6Gateway', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The IPv6 gateway is in an unstable state. Try again later.'], ['errorCode' => 'DependencyViolation.EgressRules', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => 'The specified resource is dependent on other resources and the current operation is not allowed.'], ['errorCode' => 'DependencyViolation.Ipv6InternetBandwidth', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => 'The specified resource is dependent on other resources and the current operation is not allowed.'], ['errorCode' => 'OperationFailed.RouteEntryUnstable', 'errorMessage' => 'The operation is failed because of route entry related to it is unstable, please try later.', 'description' => 'Because the routing entry associated with the instance is unstable, please try again later'], ['errorCode' => 'Forbidden.OperateShareResource', 'errorMessage' => 'You cannot operate shared resources.', 'description' => 'Shared resources do not support this operation.'], ['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.', 'description' => '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.', 'description' => 'VPC is not in steady state.'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => 'The specified region ID does not exist.'], ], ], 'title' => 'Delete an iPv6 gateway', 'summary' => 'Deletes an IPv6 gateway.', 'description' => 'Before you delete an IPv6 gateway, delete the IPv6 egress-only rules first. For more information, see [DeleteIpv6EgressOnlyRule](~~102201~~).'."\n" ."\n" .'- The **DeleteIpv6Gateway** operation is asynchronous. After a request is sent, the system returns a request ID. However, the IPv6 gateway is not yet deleted. The deletion task is still running in the background. You can call [DescribeIpv6GatewayAttribute](~~102226~~) to query the deletion status of the IPv6 gateway:'."\n" .' - If the IPv6 gateway is in the **Deleting** state, the IPv6 gateway is being deleted.'."\n" .' - If the specified IPv6 gateway cannot be found, the IPv6 gateway is deleted.'."\n" .'- The **DeleteIpv6Gateway** operation does not support concurrent deletion of the same IPv6 gateway.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-05-12T10:23:36.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-04-14T06:08:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-07-24T09:40:24.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-10-10T04:48:56.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-09T01:56:33.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIpv6Gateway'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteIpv6Gateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/{#Ipv6GatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E9A8AABE-A84B-4AF2-A68A-8E2EA190E7AE\\"\\n}","type":"json"}]', ], 'DeleteIpv6InternetBandwidth' => [ 'summary' => 'Deletes the Internet bandwidth of an IPv6 address by calling the DeleteIpv6InternetBandwidth operation.', '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' => 'The region ID of the IPv6 gateway.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-huhehaote', 'title' => ''], ], [ 'name' => 'Ipv6AddressId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 address.'."\n" ."\n" .'> You must specify either **Ipv6AddressId** or **Ipv6InternetBandwidthId**.', 'type' => 'string', 'required' => false, 'example' => 'ipv6-2zen5j4axcp5l5qyy****', 'title' => ''], ], [ 'name' => 'Ipv6InternetBandwidthId', 'in' => 'query', 'schema' => ['description' => 'The Internet bandwidth instance ID of the IPv6 address.', 'type' => 'string', 'required' => false, 'example' => 'ipv6bw-uf6hcyzu65v98v3du****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPv6 gateway.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-huhehaote', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run without actually deleting the Internet bandwidth. The system checks whether the required parameters are specified, whether the request format is valid, and whether business restrictions are met. If the check fails, the corresponding error message is returned. If the check passes, `DryRunOperation` is returned.'."\n" ."\n" .'- **false** (default): performs a dry run and sends the request. If the check passes, the Internet bandwidth is deleted.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" .'> If you do not specify this parameter, the system uses the RequestId of the API request as the ClientToken. The RequestId may be different for each API request.'."\n" .'> -.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E07E0FE6-5C21-405F-AF82-7613AA81EF92', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'BothEmptyParam.Ipv6AddressIdAndIpv6InternetBandwidthId', 'errorMessage' => 'Either Ipv6AddressId or Ipv6InternetBandwidthId should be specified.', 'description' => 'Input Ipv6AddressId and Ipv6InternetBandwidthId cannot be empty at the same time'], ['errorCode' => 'IncorrectStatus.Ipv6Instance', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The IPv6 address is in an unstable state. Try again later.'], ], 404 => [ ['errorCode' => 'OperationFailed.ServiceManaged', 'errorMessage' => 'Operation is forbidden because this instance belongs to Service manager.', 'description' => 'A managed instance does not support this operation.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeIpv6Addresses', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'Delete internet bandwidth', 'description' => 'The **DeleteIpv6InternetBandwidth** operation does not support concurrent deletion of the same Internet bandwidth.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-07-24T09:40:23.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIpv6InternetBandwidth'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteIpv6InternetBandwidth', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6InternetBandwidth', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6bandwidth/{#Ipv6InternetBandwidthId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E07E0FE6-5C21-405F-AF82-7613AA81EF92\\"\\n}","type":"json"}]', ], 'DeleteNatGateway' => [ 'summary' => 'Deletes a specified Internet NAT gateway.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the NAT 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-hangzhou', 'title' => ''], ], [ 'name' => 'NatGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the NAT gateway that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ngw-bp1uewa15k4iy5770****', 'title' => ''], ], [ 'name' => 'Force', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to forcefully delete the NAT gateway. Valid values:'."\n" ."\n" .'* **true** If you set the value to **true**:'."\n" ."\n" .' * If the NAT gateway has SNAT entries, the system automatically deletes them.'."\n" .' * If the NAT gateway has DNAT entries, the system automatically deletes them.'."\n" .' * If the NAT gateway is associated with an elastic IP address (EIP), the system automatically disassociates the EIP from the NAT gateway.'."\n" .' * If the NAT gateway is associated with a NAT bandwidth plan, the system automatically disassociates the NAT bandwidth plan.'."\n" ."\n" .'* **false**(default): no If you set the value to **false**:'."\n" ."\n" .' * If the NAT gateway is associated with a NAT bandwidth plan, disassociate the NAT bandwidth plan first.'."\n" .' * If the NAT gateway has SNAT entries, delete them first.'."\n" .' * If the NAT gateway has DNAT entries, delete them first.'."\n" .' * If the NAT gateway is associated with an EIP, disassociate the EIP from the NAT gateway first.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'DependencyViolation.VpcEndpointService', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => 'You cannot perform the operation because the NAT gateway is associated with an endpoint service.'], ['errorCode' => 'DependencyViolation.FullNatEntry', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => ''], ['errorCode' => 'DependencyViolation.RouterEntry', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => 'You cannot perform the operation because the NAT gateway is associated with a route entry.'], ['errorCode' => 'DependencyViolation.BandwidthPackages', 'errorMessage' => 'There are BandwidthPackages on specified NatGateway not deleted.', 'description' => ''], ['errorCode' => 'DependencyViolation.EIPS', 'errorMessage' => 'There are Eips on specified NatGateway, please unbind it first.', 'description' => 'An EIP is associated with the NAT gateway. Disassociate the EIP from the NAT gateway first.'], ['errorCode' => 'Forbidden.PrePaidNatGateway', 'errorMessage' => 'The specified NatGateway is PrePaid.', 'description' => ''], ['errorCode' => 'InvalidOperation.DeletionProtection', 'errorMessage' => 'The instance cannnot delete because of deletion protecion.', 'description' => ''], ['errorCode' => 'DependencyViolation.SnatEntry', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => 'The SnatEntry associated with NatIp or Ipv4Prefix cannot be deleted. Delete the dependent Snat and delete it again.'], ['errorCode' => 'IncorrectStatus.SnatEntry', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => ''], ['errorCode' => 'DependencyViolation.ForwardEntry', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => ''], ['errorCode' => 'IncorrectStatus.ForwardEntry', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The DNAT entry to be deleted is in an invalid state.'], ['errorCode' => 'DependencyViolation.NatIp', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => 'You cannot perform the operation because the NAT gateway is associated with a NAT IP address.'], ['errorCode' => 'IncorrectStatus.NatIp', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The status of NatIp is incorrect.'], ['errorCode' => 'DependencyViolation.NatIpCidr', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => 'You cannot perform the operation because the NAT gateway is associated with a NAT CIDR block.'], ['errorCode' => 'IncorrectStatus.NatGateway', 'errorMessage' => 'The NatGateway instance is being deleted and needs to wait until the process is complete.', 'description' => 'The NAT Gateway instance is being deleted and cannot be repeatedly deleted. You need to wait for the deletion process to complete.'], ['errorCode' => 'IncorrectStatus.RouterEntry', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The state of the RouterEntry is incorrect.'], ['errorCode' => 'IncorrectStatus.VSwitch', 'errorMessage' => 'The specified vSwitch status is invalid.', 'description' => 'The virtual switch status is abnormal.'], ], 404 => [ ['errorCode' => 'INSTANCE_NOT_EXISTS', 'errorMessage' => 'Instance not exists.', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidNatGatewayId.NotFound', 'errorMessage' => 'The specified NatGatewayId does not exist in our records.', 'description' => ''], ['errorCode' => 'ResourceNotFound.NatGateway', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => ''], ], ], 'title' => 'DeleteNatGateway', 'description' => '## [](#)Description'."\n" ."\n" .'* **DeleteNatGateway** 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 [DescribeNatGateways](~~36054~~) to query the status of the task.'."\n" ."\n" .' * If a NAT gateway is in the **Deleting** state, the NAT gateway is being deleted. In this case, you can query the NAT gateway but you cannot perform other operations.'."\n" ."\n" .' * If the NAT gateway cannot be found, the NAT gateway is deleted.'."\n" ."\n" .' After you delete a NAT gateway, you cannot restore the NAT gateway. Proceed with caution.'."\n" ."\n" .'* You cannot repeatedly call the **DeleteNatGateway** operation to delete a NAT gateway within the specified period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-01-18T07:07:57.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-12-20T02:00:22.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-07-09T06:24:03.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', ], 'DeleteNatIp' => [ 'summary' => 'Deletes a NAT IP address.', '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' => 'The region ID of the NAT gateway to which the NAT IP address belongs.'."\n" ."\n" .'You can call [DescribeRegions](~~448570~~) to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ 'name' => 'NatIpId', 'in' => 'query', 'allowEmptyValue' => false, 'schema' => ['description' => 'The instance ID of the NAT IP address that you want to delete.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'vpcnatip-gw8y7q3cpk3fggs87****', 'title' => ''], ], [ 'name' => 'NatGatewayId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the NAT gateway to which the IP prefix belongs. This parameter is required when you delete an IP prefix.', 'type' => 'string', 'required' => false, 'example' => 'ngw-gw8v16wgvtq26vh59****', 'title' => ''], ], [ 'name' => 'Ipv4Prefix', 'in' => 'query', 'schema' => ['description' => 'The IP prefix to delete.', 'type' => 'string', 'required' => false, 'example' => '192.168.0.0/28', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run without deleting the NAT IP address. The system checks the AccessKey pair, the authorization of the Resource Access Management (RAM) user, and the required parameters. If the check fails, the corresponding error is returned. If the check succeeds, the error code `DryRunOperation` is returned.'."\n" ."\n" .'- **false** (default): sends a Normal request. If the check succeeds, a 2xx HTTP status code is returned and the NAT IP address is deleted.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the NAT gateway to which the NAT IP address belongs.'."\n" ."\n" .'You can call [DescribeRegions](~~448570~~) to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E9AD97A0-5338-43F8-8A80-5E274CCBA11B', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.NatIp', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The status of NatIp is incorrect.'], ['errorCode' => 'OperationFailed.DefaultNatIp', 'errorMessage' => 'The operation is failed because of default NatIP can not be deleted.', 'description' => 'You cannot delete the default NAT IP address.'], ['errorCode' => 'DependencyViolation.NatIp', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => 'You cannot perform the operation because the NAT gateway is associated with a NAT IP address.'], ['errorCode' => 'IncorrectStatus.NatGateway', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => ''], ['errorCode' => 'DependencyViolation.FullNatEntry', 'errorMessage' => 'The fullnat entry depends on this nat ip,so the operation cannot be completed.', 'description' => 'The operation failed because the FULLNAT entry depends on the NAT IP.'], ['errorCode' => 'IllegalParam.NatIp', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter NatIp is illegal.'], ['errorCode' => 'Mismatch.Ipv4PrefixAndNatIpCidr', 'errorMessage' => 'The %s and %s are mismatched.', 'description' => ''], ['errorCode' => 'Mismatch.Ipv4PrefixAndCidrReservations', 'errorMessage' => 'The %s and %s are mismatched.', 'description' => 'The reserved network segments of the Ipv4Prefix and VSwitch do not match.'], ['errorCode' => 'IllegalParam.Ipv4Prefix', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter Ipv4Prefix is illegal.'], ['errorCode' => 'DependencyViolation.%s', 'errorMessage' => 'The specified resource of [%s] depends on [%s], so the operation cannot be completed.', 'description' => '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.', 'description' => 'The SnatEntry associated with NatIp or Ipv4Prefix cannot be deleted. Delete the dependent Snat and delete it again.'], ['errorCode' => 'DependencyViolation.Ipv4Prefix', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => 'NatIp belongs to Ipv4Prefix and cannot be deleted separately. Please delete the Ipv4Prefix directly.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'ResourceNotFound.NatIp', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => ''], ['errorCode' => 'ResourceNotFound.NatGateway', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => ''], ['errorCode' => 'ResourceNotFound.NatIpCidr', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => ''], ['errorCode' => 'ResourceNotFound.%s', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The specified resource of %s is not found.'], ['errorCode' => 'ResourceNotFound.Ipv4Prefix', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'Resource Ipv4Prefix not found, please check that the Ipv4Prefix exists.'], ], ], 'title' => 'Delete a NAT IP address', 'description' => '**DeleteNatIp** is an asynchronous operation. After you send a request, the system returns a request ID, but the NAT IP address is not yet deleted. The deletion task continues to run in the background. You can call [ListNatIps](~~2522486~~) to query the deletion status of the NAT IP address:'."\n" ."\n" .'- If the NAT IP address is in the **Deleting** state, the NAT IP address is being deleted. In this state, you can only perform query operations.'."\n" ."\n" .'- If the NAT IP address cannot be found, the NAT IP address is deleted.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-03-25T16:26:00.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-01-18T07:07:56.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-01T06:45:53.000Z', 'description' => 'Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteNatIp'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteNatIp', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E9AD97A0-5338-43F8-8A80-5E274CCBA11B\\"\\n}","type":"json"}]', ], 'DeleteNatIpCidr' => [ 'summary' => 'Deletes a NAT CIDR block by calling the DeleteNatIpCidr operation.', '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' => 'The region ID of the NAT gateway to which the NAT CIDR block to be deleted belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-central-1', 'title' => ''], ], [ 'name' => 'NatIpCidr', 'in' => 'query', 'schema' => ['description' => 'The NAT CIDR block to be deleted.'."\n" ."\n" .'- Before you delete a NAT CIDR block, delete all NAT IP addresses in the CIDR block.'."\n" .'- The default NAT CIDR block cannot be deleted.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '172.16.0.0/24', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run. The NAT CIDR block is not deleted. The system checks whether your AccessKey pair is valid, whether Resource Access Management (RAM) user authorization is granted, and whether the required parameters are specified. If the check fails, the corresponding error is returned. If the check succeeds, the `DryRunOperation` error code is returned.'."\n" ."\n" .'- **false** (default): sends a Normal request. If the check succeeds, a 2xx HTTP status code is returned and the NAT CIDR block is deleted.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that the value is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** as the **ClientToken**. The **RequestId** of each API request may be different.', 'type' => 'string', 'required' => false, 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', 'title' => ''], ], [ 'name' => 'NatGatewayId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the NAT gateway to which the NAT CIDR block to be deleted belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ngw-gw8v16wgvtq26vh59****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the NAT gateway to which the NAT CIDR block to be deleted belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-central-1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '7021BEB1-210F-48A9-AB82-BE9A9110BB89', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.NatIpCidr', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The specified %s resource does not exist.'], ['errorCode' => 'OperationFailed.DefaultNatIpCidr', 'errorMessage' => 'The operation is failed because of default NatIPCidr can not be deleted.', 'description' => 'The operation failed because you cannot delete the default CIDR block.'], ['errorCode' => 'DependencyViolation.NatIp', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => 'You cannot perform the operation because the NAT gateway is associated with a NAT IP address.'], ['errorCode' => 'IncorrectStatus.NatGateway', 'errorMessage' => '%The status of %s [%s] is incorrect.', 'description' => 'The NAT gateway is in an invalid state.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ], ], 'title' => 'Delete a NAT CIDR block', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-03-25T16:25:59.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-03-01T06:45:53.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-11-07T11:48:28.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteNatIpCidr'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteNatIpCidr', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7021BEB1-210F-48A9-AB82-BE9A9110BB89\\"\\n}","type":"json"}]', ], 'DeleteNetworkAcl' => [ 'summary' => 'Deletes a network access control list (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' => 'The ID of the network ACL.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'nacl-bp1lhl0taikrbgnh****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the network ACL.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '223e4867-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'**true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" ."\n" .'**false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the network ACL.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4B48E3D-DF70-471B-AA83-089E83A1B45', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ParameterMissing.AliUid', 'errorMessage' => 'ParameterMissing.AliUid', 'description' => ''], ['errorCode' => 'ParameterMissing.Bid', 'errorMessage' => 'ParameterMissing.Bid', 'description' => ''], ['errorCode' => 'ParameterMissing.RegionId', 'errorMessage' => 'ParameterMissing.RegionId', 'description' => ''], ['errorCode' => 'ParameterEmpty.RegionId', 'errorMessage' => 'ParameterEmpty.RegionId', 'description' => ''], ['errorCode' => 'ParameterMissing.NetworkAclId', 'errorMessage' => 'ParameterMissing.NetworkAclId', 'description' => ''], ['errorCode' => 'ParameterEmpty.NetworkAclId', 'errorMessage' => 'ParameterEmpty.NetworkAclId', 'description' => ''], ['errorCode' => 'InvalidNetworkAcl.NotFound', 'errorMessage' => 'The special Network Acl is not found.', 'description' => 'The network ACL is not found.'], ['errorCode' => 'NetworkStatus.Modifying', 'errorMessage' => 'The special Network Acl is in modifying.', 'description' => 'The network ACL is being modified.'], ['errorCode' => 'NotSupport.NetworkAcl', 'errorMessage' => 'Network acl is not support now.', 'description' => ''], ['errorCode' => 'OperationDenied.NetworkAclAttachmentInMiddleStatus', 'errorMessage' => 'The network ACL is being bound to or unbound from the switch.', 'description' => '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.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeNetworkAcls', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'DeleteNetworkAcl', 'description' => '## [](#)Description'."\n" ."\n" .'You cannot repeatedly call the **DeleteNetworkAcl** operation within the specified period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-11-24T05:37:30.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4B48E3D-DF70-471B-AA83-089E83A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4B48E3D-DF70-471B-AA83-089E83A1B45\\n","errorExample":""}]', ], 'DeletePhysicalConnection' => [ 'summary' => 'Calls the DeletePhysicalConnection operation to delete an Express Connect circuit.', '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' => 'The region ID of the Express Connect circuit. '."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'PhysicalConnectionId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the Express Connect circuit instance.', 'type' => 'string', 'required' => true, 'example' => 'pc-119mfjzm7*********', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'The client generates the value. The value must be unique among different requests and cannot exceed 64 ASCII characters in length.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidPhysicalConnectionId.NotMatched', 'errorMessage' => 'instance id not matched.', 'description' => ''], ['errorCode' => 'Forbidden.VBRExists', 'errorMessage' => 'physical connection owner\'s vbr still exists.', 'description' => ''], ['errorCode' => 'Forbidden.AssociateToVBR', 'errorMessage' => 'The physical connection still associate to VBR.', 'description' => ''], ['errorCode' => 'OperationDenied.NeedVpconnOwner', 'errorMessage' => 'The operation is denied.', 'description' => 'The deletion failed. Only the owner of a shared port can delete it.'], ['errorCode' => 'OperationDenied.NeedPconnOwner', 'errorMessage' => 'The operation is denied.', 'description' => 'The deletion failed. Only the owner of a physical port can delete it.'], ['errorCode' => 'Forbidden.NotInAllowDeleteStatus', 'errorMessage' => 'Only physical connection in the Cancelled, Rejected, Terminated, Allocated, or AllocationFailed states can be deleted.', 'description' => '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.', 'description' => 'The physical line has been bound to another QoS policy.'], ['errorCode' => 'ResourceNotFound.PhysicalConnectionId', 'errorMessage' => 'PhysicalConnection is not found.', 'description' => 'PhysicalConnectionId is set to an invalid value.'], ['errorCode' => 'OperationDenied.NeedVpconnOwnerOrPconnOwner', 'errorMessage' => 'The deletion failed. Only the owner of virtual physical connection or physical connection can delete it.', 'description' => '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.', 'description' => 'When a virtual border router exists under a physical port, it cannot be deleted.'], ['errorCode' => 'OperationDenied.MacsecAttached', 'errorMessage' => 'The operation is not allowed because of MacsecAttached.', 'description' => 'The current operation is rejected because there is still a MACSec key binding on the physical connection.'], ], 404 => [ ['errorCode' => 'InvalidPhysicalConnectionId.NotFound', 'errorMessage' => 'The PhysicalConnectionId provided does not exist in our records.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Delete an express connect circuit', 'description' => 'You can delete only Express Connect circuits that are in the **Allocated**, **Confirmed**, **Rejected**, **Canceled**, **AllocationFailed**, or **Terminated** state.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-06-13T08:13:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-02-01T03:33:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-11-28T02:17:51.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeletePhysicalConnection'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeletePhysicalConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]', ], 'DeletePublicIpAddressPool' => [ 'summary' => 'Deletes an IP address pool.', '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' => 'The ID of the IP address pool.'."\n", 'type' => 'string', 'required' => true, 'example' => 'pippool-6wetvn6fumkgycssx****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe60000', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where you want to create the IP address pool.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-chengdu', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.PublicIpAddressPool', 'errorMessage' => 'The status of PublicIpAddressPool [%s] is incorrect.', 'description' => ''], ['errorCode' => 'ResourceInUse.PublicIpAddressPool', 'errorMessage' => 'The specified resource of PublicIpAddressPool [%s] is in use.', 'description' => ''], ['errorCode' => 'OperationFailed.ResourceIsShared', 'errorMessage' => 'The operation is failed because of PublicIpAddressPool is shared with other users.', 'description' => 'The public IP address pool is shared with another user and cannot be deleted.'], ['errorCode' => 'OperationDenied.OperateSharedResource', 'errorMessage' => 'The operation is not allowed because of the PublicIpAddressPool is a shared resource.', 'description' => 'The public IP address pool is a shared resource and cannot be modified.'], ['errorCode' => 'ResourceNotFound.PublicIpAddressPool', 'errorMessage' => 'The specified resource of PublicIpAddressPool [%s] is not found.', 'description' => 'The specified public IP address pool does not exist.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::ListPublicIpAddressPools', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'DeletePublicIpAddressPool', 'description' => 'Before you call this operation, take note of the following items:'."\n" ."\n" .'* Before you delete an IP address pool, make sure that no IP address in the pool is being used.'."\n" ."\n" .'* **DeletePublicIpAddressPool** 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 [ListPublicIpAddressPools](~~429433~~) operation to query the status of the task.'."\n" ."\n" .' * If the IP address pool is in the **Deleting** state, the IP address pool is being deleted. In this state. you can only query the IP address pool and cannot perform other operations.'."\n" .' * If you cannot query the IP address pool, the IP address pool is deleted.'."\n" ."\n" .'* You cannot repeatedly call the **DeletePublicIpAddressPool** operation to delete an IP address pool within the specified period of time.'."\n", 'changeSet' => [ ['createdAt' => '2024-06-26T03:40:59.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-24T13:02:53.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', ], 'DeletePublicIpAddressPoolCidrBlock' => [ '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' => 'The instance ID of the IPAM pool.', 'type' => 'string', 'required' => true, 'example' => 'pippool-6wetvn6fumkgycssx****', 'title' => ''], ], [ 'name' => 'CidrBlock', 'in' => 'query', 'schema' => ['description' => 'The CIDR block.', 'type' => 'string', 'required' => true, 'example' => '47.0.XX.XX/24', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotency 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.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" .'- **true**: performs only a dry run. The CIDR block is not deleted. The system checks the required parameters, request format, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'- **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, an HTTP 2xx status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IP address pool from which you want to delete the CIDR block.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-chengdu', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response struct.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.CidrBlock', 'errorMessage' => 'The param of CidrBlock [%s] is illegal.', 'description' => 'The CidrBlock parameter is set to an invalid value.'], ['errorCode' => 'IllegalParam.CidrBlockMask', 'errorMessage' => 'The param of CidrBlock Mask [%s] is illegal.', 'description' => 'The subnet mask of the CIDR block is invalid.'], ['errorCode' => 'IncorrectStatus.PublicIpAddressPool', 'errorMessage' => 'The status of PublicIpAddressPool [%s] is incorrect.', 'description' => ''], ['errorCode' => 'ResourceNotFound.PublicIpAddressPool', 'errorMessage' => 'The specified resource of PublicIpAddressPool [%s] is not found.', 'description' => 'The specified public IP address pool does not exist.'], ['errorCode' => 'ResourceNotFound.CidrBlock', 'errorMessage' => 'The specified resource of CidrBlock [%s] is not found.', 'description' => ''], ['errorCode' => 'IncorrectStatus.CidrBlock', 'errorMessage' => 'The status of CidrBlock [%s] is incorrect.', 'description' => ''], ['errorCode' => 'ResourceInUse.CidrBlock', 'errorMessage' => 'The specified resource of CidrBlock [%s] is in use.', 'description' => ''], ['errorCode' => 'OperationDenied.OperateSharedResource', 'errorMessage' => 'The operation is not allowed because of the PublicIpAddressPool is a shared resource.', 'description' => 'The public IP address pool is a shared resource and cannot be modified.'], ['errorCode' => 'MissingParam.PublicIpAddressPoolId', 'errorMessage' => 'The parameter PublicIpAddressPoolId is missing.', 'description' => 'The parameter PublicIpAddressPoolId is missing.'], ['errorCode' => 'MissingParam.CidrBlockOrCidrMask', 'errorMessage' => 'CidrBlock or CidrMask is not specified.', 'description' => 'The system failed to add the CIDR block to the address pool because the CIDR block or the subnet mask is not specified.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::ListPublicIpAddressPoolCidrBlocks', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'Delete a CIDR block from an IP address pool', 'summary' => 'Deletes a CIDR block from an IP address pool by calling the DeletePublicIpAddressPoolCidrBlock operation.', 'description' => 'Before you call this operation, take note of the following items:'."\n" .'- Before you delete a CIDR block, make sure that the CIDR block is not in use.'."\n" .'- **DeletePublicIpAddressPoolCidrBlock** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the deletion task in the background. You can call [ListPublicIpAddressPoolCidrBlocks](~~429436~~) to query the status of the CIDR block in the IP address pool. '."\n" .' - If the CIDR block is in the **Deleting** state, the CIDR block is being deleted. In this state, you can only perform query operations.'."\n" .' - If the CIDR block cannot be found, the CIDR block is deleted.'."\n" .'- **DeletePublicIpAddressPoolCidrBlock** does not support concurrent deletion of the same CIDR block.', 'changeSet' => [ ['createdAt' => '2025-05-26T11:37:09.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-24T13:02:53.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeletePublicIpAddressPoolCidrBlock'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeletePublicIpAddressPoolCidrBlock', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PublicIpAddressPool', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:publicipaddresspool/{#PublicIpAddressPoolId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","type":"json"}]', ], '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' => 'The region ID of the route table.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the route table.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RouteEntries', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The information about the routes that you want to delete.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RouteTableId' => ['description' => 'The ID of the route table to which the routes to be deleted belongs. You can specify up to 50 route table IDs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vtb-2ze3jgygk9bmsj23s****', 'title' => ''], 'RouteEntryId' => ['description' => 'The ID of the route that you want to delete. You can specify up to 50 route IDs.'."\n" ."\n" .'> If **RouteEntryId** is not specified, **DstCidrBlock** and **NextHop** are required.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rte-bp1mnnr2al0naomnpv****', 'title' => ''], 'DstCidrBlock' => ['description' => 'The destination CIDR block of the route that you want to delete. IPv4 and IPv6 CIDR blocks are supported. You can specify up to 50 destination CIDR blocks.'."\n" ."\n" .'> If **RouteEntryId** is not specified, **DstCidrBlock** and **NextHop** are required.'."\n", 'type' => 'string', 'required' => false, 'example' => '47.100.XX.XX/24', 'title' => ''], 'NextHop' => ['description' => 'The ID of the next hop that you want to delete. You can specify up to 50 next hop IDs.'."\n" ."\n" .'> If **RouteEntryId** is not specified, **DstCidrBlock** and **NextHop** are required.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-j6c2fp57q8rr4jlu****', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 200, 'title' => '', 'example' => '', ], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], 'SuccessCount' => ['description' => 'The number of route entries that were deleted.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'FailedCount' => ['description' => 'The number of route entries that failed to be deleted.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'FailedRouteEntries' => [ 'description' => 'The information about the route entry that failed to be deleted.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RouteEntryId' => ['description' => 'The ID of the route entry that failed to be deleted.'."\n", 'type' => 'string', 'example' => 'rte-bp1mnnr2al0naomnpv****', 'title' => ''], 'DstCidrBlock' => ['description' => 'The destination CIDR block of the route entry that failed to be deleted. IPv4 and IPv6 CIDR blocks are supported.'."\n", 'type' => 'string', 'example' => '47.100.XX.XX/24', 'title' => ''], 'NextHop' => ['description' => 'The ID of the next hop that failed to be deleted.'."\n", 'type' => 'string', 'example' => 'i-j6c2fp57q8rr4jlu****', 'title' => ''], 'FailedCode' => ['description' => 'The error code.'."\n", 'type' => 'string', 'example' => 'VPC_ROUTER_ENTRY_NOT_EXIST', 'title' => ''], 'FailedMessage' => ['description' => 'The error message.'."\n", 'type' => 'string', 'example' => 'vRouterEntry not exists', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The request passed the dry run.'], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent. Please wait a moment and try again.', 'description' => 'The system is unavailable. Try again later.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeRouteEntryList', 'callbackInterval' => 3, 'maxCallbackTimes' => 10], 'title' => 'DeleteRouteEntries', 'summary' => 'Deletes multiple custom route entries at a time.', 'description' => '调用本接口删除路由条目时,请注意: '."\n" ."\n" .'- 只有处于**Available**状态的路由条目可以被删除。 '."\n" ."\n" .'- 路由表所在的VPC正在进行创建或删除交换机或路由条目时,无法删除路由条目。 '."\n" .'- **DeleteRouteEntries**接口属于异步接口,即系统会返回一个请求ID,但该路由条目尚未删除成功,系统后台的删除任务仍在进行。您可以调用[DescribeRouteEntryList](~~138148~~)查询路由条目的删除状态:'."\n" .' - 当路由条目处于**Deleting**状态时,表示路由条目正在删除中。'."\n" .' - 当查询不到指定的路由条目时,表示路由条目删除成功。'."\n" .'- **DeleteRouteEntries**接口不支持在同一个VPC中并发批量删除路由表中的路由条目。', 'changeSet' => [ ['createdAt' => '2025-05-19T01:45:15.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2025-03-20T01:35:46.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-02-10T06:07:08.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-08-07T02:21:18.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'translator' => 'manual', ], 'DeleteRouteEntry' => [ 'summary' => 'Calls the DeleteRouteEntry operation to delete a route from the route table of a vRouter or Virtual Border Router (VBR).', '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' => 'The ID of the region where the route table resides.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RouteTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the route table that contains the route. '."\n" .'> If the **RouteEntryId** parameter is not specified, the **DestinationCidrBlock** and **RouteTableId** parameters are required. Configure the **NextHopId** or **NextHopList** parameter as needed.', 'type' => 'string', 'required' => false, 'example' => 'vtb-2ze3jgygk9bmsj23s****', 'title' => ''], ], [ 'name' => 'RouteEntryId', 'in' => 'query', 'schema' => ['description' => 'The ID of the route that you want to delete. This parameter is mutually exclusive with the DestinationCidrBlock parameter.'."\n" .'> If the **DestinationCidrBlock** parameter is not specified, the **RouteEntryId** parameter is required.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'rte-bp1mnnr2al0naomnpv****', 'title' => ''], ], [ 'name' => 'DestinationCidrBlock', 'in' => 'query', 'schema' => ['description' => 'The destination CIDR block of the route. IPv4 CIDR blocks, IPv6 CIDR blocks, prefix list CIDR blocks, and prefix list instance IDs are supported. This parameter is mutually exclusive with the RouteEntryId parameter.'."\n" .'> If the **RouteEntryId** parameter is not specified, the **DestinationCidrBlock** and **RouteTableId** parameters are required. Configure the **NextHopId** or **NextHopList** parameter as needed.', 'type' => 'string', 'required' => false, 'example' => '47.100.XX.XX/16', 'title' => ''], ], [ 'name' => 'NextHopId', 'in' => 'query', 'schema' => ['description' => 'The ID of the next hop instance.'."\n" ."\n" .'- To delete a non-ECMP route, specify **NextHopId**. Do not specify **NextHopList**.'."\n" .'- To delete an ECMP route, specify **NextHopList**. Do not specify **NextHopId**.', 'type' => 'string', 'required' => false, 'example' => 'ri-2zeo3xzyf38r4urzd****', 'title' => ''], ], [ 'name' => 'NextHopList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The information about the next hop instances of the ECMP route. A maximum of 16 next hop instances are supported.', 'type' => 'array', 'items' => [ 'description' => 'The information about the next hop instances of the ECMP route. A maximum of 16 next hop instances are supported.', 'type' => 'object', 'properties' => [ 'NextHopId' => ['description' => 'The ID of the next hop instance of the ECMP route. A maximum of 16 next hop instances are supported.', 'type' => 'string', 'required' => false, 'example' => 'ri-2zeo3xzyf38r43cd****', 'title' => ''], 'NextHopType' => ['description' => 'The type of the next hop of the ECMP route. Set the value to **RouterInterface** (router interface). A maximum of 16 next hop instances are supported.', 'type' => 'string', 'required' => false, 'example' => 'RouterInterface', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 8, 'title' => '', 'example' => '', ], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'**true**: performs a dry run without deleting the route. The system checks the AccessKey pair, the authorization of the Resource Access Management (RAM) user, and the required parameters. If the check fails, the corresponding error is returned. If the check succeeds, the error code `DryRunOperation` is returned.'."\n" ."\n" .'**false** (default): sends a normal request. After the check succeeds, a 2xx HTTP status code is returned and the route is deleted.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParameter', 'errorMessage' => 'Miss mandatory parameter.', 'description' => ''], ['errorCode' => 'IncorrcetRouteEntryStatus', 'errorMessage' => 'Some route entry status blocked this operation.', 'description' => ''], ['errorCode' => 'InvalidCidrBlock.Malformed', 'errorMessage' => 'Specified CIDR block is not valid.', 'description' => ''], ['errorCode' => 'OperationDenied', 'errorMessage' => 'Specified operation is denied as route entry type is system.', 'description' => ''], ['errorCode' => 'InvalidRouteEntry.NotFound', 'errorMessage' => 'Route entry not exists.', 'description' => ''], ['errorCode' => 'InvalidVRouter.NotFound', 'errorMessage' => 'vRouter not exists.', 'description' => ''], ['errorCode' => 'IncorrectRouteEntryStatus', 'errorMessage' => 'Some route entry status blocked this operation.', 'description' => ''], ['errorCode' => 'Forbbiden', 'errorMessage' => 'Specified RouteEntry cannot allowed delete by openApi.', 'description' => ''], ['errorCode' => 'InvalidNextHop', 'errorMessage' => 'Specified nexthop and nexthop list cannot both null.', 'description' => ''], ['errorCode' => 'InvalidRouteEntry', 'errorMessage' => 'Specified routeEntry not exist.', 'description' => ''], ['errorCode' => 'Forbidden.VRouterNotFound', 'errorMessage' => 'pecified virtual switch is not found during access authentication.', 'description' => ''], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent, TaskConflict.', 'description' => 'The system is unavailable. Try again later.'], ['errorCode' => 'InvalidRouteEntryId.NotFound', 'errorMessage' => 'Specified RouteEntryId does not exist.', 'description' => 'The specified route is not found.'], ['errorCode' => 'IncorrectVpcStatus', 'errorMessage' => 'Current VPC status does not support this operation.', 'description' => ''], ['errorCode' => 'InvalidVpnInstanceId.NotFound', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'ParamExclusive.RouteEntryIdAndRouteTableIdOrDestCidrBlock', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidNextHopList.Size', 'errorMessage' => 'Nexthop list size should be between 2 and 16', 'description' => ''], ['errorCode' => 'ParamExclusive.NextHopIdAndList', 'errorMessage' => 'NextHopId and NextHopList cannot both be not null.', 'description' => ''], ['errorCode' => 'OperationFailed.DeleteMultiScopeEntry', 'errorMessage' => 'Multi or ecmp scope must delete with force.', 'description' => ''], ['errorCode' => 'OperationFailed.DistibuteLock', 'errorMessage' => 'Distibute lock fail.', 'description' => 'The operation is locked by another request;'], ['errorCode' => 'OperationDenied.DeleteManagedRouteEntry', 'errorMessage' => 'The operation is not allowed because of route entry is managed.', 'description' => 'You cannot delete hosted routes.'], ['errorCode' => 'OperationDenied.RouteTableTypeNotPermitted', 'errorMessage' => 'The operation is not allowed because the type of route table is not permitted.', 'description' => 'You cannot create routes for route tables of the specified type.'], ['errorCode' => 'IncorrectStatus.VpcRouteEntry', 'errorMessage' => 'The status of the specified routeEntry is invalid.', 'description' => 'The status of the VPC route entry is invalid.'], ['errorCode' => 'OperationDenied.NextHopNotChanged', 'errorMessage' => 'The operation is not allowed because of NextHopNotChanged.', 'description' => 'The operation is not allowed because the next hop is not changed.'], ['errorCode' => 'OperationDenied.DeleteGatewayEndpointRoute', 'errorMessage' => 'The operation is not allowed to delete route entry pointing gateway endpoint..', 'description' => 'You cannot delete a route that points to a gateway endpoint.'], ['errorCode' => 'IncorrectStatus.PrefixList', 'errorMessage' => 'The status of prefixList is incorrect.', 'description' => 'The prefix list is in an unstable state.'], ['errorCode' => 'InvalidCidrBlock', 'errorMessage' => 'Specified CIDR block is not valid.', 'description' => 'Possible reasons for error reporting:'."\n" .'1. You are not in the whitelist of the 10.0.0.0/8 CIDR block and cannot use this CIDR block.'."\n" .'2. The target CIDR block of the added custom route cannot belong to the CIDR block of all vSwitches under the same VPC.'."\n" .'3. Because 100.64.0.0/10 is a cloud service address, you cannot add this CIDR block to point to the IDC under the cloud.'."\n" .'4. Except for 100.64.0.0/10, the detailed route network segments such as 100.64.0.0/11 and 100.96.0.0/11 cannot be used in the IDC under the cloud.'], ['errorCode' => 'OperationDenied.VbrAttachEcrInMiddleStatus', 'errorMessage' => 'The operation is not allowed because of VBR attach or detach ECR in middle status.', 'description' => 'The current operation cannot be performed because the VBR is in the process of loading or unloading the leased line gateway. Please wait a moment and try again.'], ['errorCode' => 'UnsupportedFeature.NextHopType', 'errorMessage' => 'The operation is not allowed because the NextHopType of specified RouteEntry is modified from Local type.', 'description' => 'The operation is not allowed because the next hop type of the route is modified from the Local type.'], ['errorCode' => 'ResourceNotFound.PrefixList', 'errorMessage' => 'The specified resource of prefixList is not found.', 'description' => 'The prefix list does not exist.'], ], 404 => [ ['errorCode' => 'InvalidRouteTableId.NotFound', 'errorMessage' => 'Specified route table does not exist.', 'description' => ''], ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'Specified value of VpcId is not found in our record.', 'description' => 'The VPC does not exist. Check whether the specified VPC is valid.'], ['errorCode' => 'ResourceNotFound.GatewayLoadBalancerEndpoint', 'errorMessage' => 'GatewayLoadBalancerEndpoint instance not found.', 'description' => 'GatewayLoadBalancerEndpoint instance not found.'], ], 500 => [ ['errorCode' => 'Vpc.Error', 'errorMessage' => 'error code 500,Internal server error.', 'description' => ''], ['errorCode' => 'Internal.Error', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => 'An internal error occurred.'], ], ], 'title' => 'Delete a custom route entry', 'description' => 'When you call this operation to delete a route, take note of the following items:'."\n" ."\n" .'- Only routes in the **Available** state can be deleted.'."\n" ."\n" .'- A route cannot be deleted if the VPC that contains the route table is creating or deleting a vSwitch or route.'."\n" ."\n" .'- To delete a route from the route table of a VBR, call the [DescribeRouteEntryList](~~138148~~) operation to query the **NextHopId** of the route that you want to delete, and then call this operation to delete the route.'."\n" ."\n" .'- The **DeleteRouteEntry** operation is asynchronous. After you send a request, the system returns a request ID, but the route has not been deleted yet. The deletion task runs in the background. You can call [DescribeRouteEntryList](~~138148~~) to query the deletion status of the route:'."\n" .' - If the route is in the **Deleting** state, the route is being deleted.'."\n" .' - If the specified route cannot be found, the route is deleted.'."\n" .'- The **DeleteRouteEntry** operation does not support concurrent deletion of routes from the route table within the same VPC or VBR.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-05-19T01:45:15.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2025-04-18T02:32:51.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-03-20T11:03:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-01-14T01:32:53.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-10-28T06:54:01.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-06-19T02:32:26.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-06-05T07:30:37.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-06-03T08:54:39.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2023-09-06T11:27:53.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-15T09:20:44.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-03T07:35:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-20T13:04:54.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-05-08T08:37:27.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteRouteEntry'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteRouteEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]', ], 'DeleteRouteTable' => [ 'summary' => 'Deletes a custom route table.', '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' => 'The region ID of the virtual private cloud (VPC) to which the custom route table belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RouteTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the custom route table.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vtb-bp145q7glnuzdvzu2****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the virtual private cloud (VPC) to which the custom route table belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'DC668356-BCB4-42FD-9BC3-FA2B2E04B634', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationDenied.GatewayAssociated', 'errorMessage' => 'You cannot delete the specified route table because it still associates with gateway.', 'description' => 'You cannot delete the route table because it is associated with a gateway.'], ['errorCode' => 'MissingParam.RouteTableId', 'errorMessage' => 'The param of RouteTableId is missing.', 'description' => ''], ['errorCode' => 'IncorrectRouteTableType', 'errorMessage' => 'Route table can be deleted by this action only when it\'s type is custom.', 'description' => ''], ['errorCode' => 'IncorrectVSwitchStatus', 'errorMessage' => 'The current virtual switch status does not support this operation.', 'description' => 'The error message returned because the vSwitch is in the Pending state and cannot be deleted.'], ['errorCode' => 'IncorrectRouteTableStatus.RouteEntryExist', 'errorMessage' => 'You cannot delete the specified route table because it still has custom route entry.', 'description' => 'You cannot delete the route table because custom routes exist in the route table.'], ['errorCode' => 'IncorrectStatus.cbnStatus', 'errorMessage' => 'Current CBN status does not support this operation.', 'description' => 'The status of the CEN instance is invalid.'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'Specified value of RegionId is not supported.', 'description' => ''], ['errorCode' => 'InvalidParameter.Action', 'errorMessage' => 'This vpc feature is not supported in this region', 'description' => ''], ['errorCode' => 'IncorrectRouteTableStatus', 'errorMessage' => 'The current status of the route table does not support this operation.', 'description' => 'You cannot delete the route table in the current state.'], ['errorCode' => 'DependencyViolation.RouteEntry', 'errorMessage' => 'Vpc route table has route entry.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DeleteRouteTable', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'DeleteRouteTable', 'description' => '## [](#)Description'."\n" ."\n" .'* **DeleteRouteTable** 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 [DescribeRouteTableList](~~87602~~) operation to query the status of the task.'."\n" ."\n" .' * If the custom route table is in the **Deleting** state, the custom route table is being deleted.'."\n" .' * If you cannot query the custom route table, the custom route table is deleted.'."\n" ."\n" .'* You cannot repeatedly call the **DeleteRouteTable** operation to delete a custom route table within the specified period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2022-01-13T08:50:30.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteRouteTable', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], ], '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"}]', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteRouteTable'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'DeleteRouteTargetGroup' => [ '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' => 'The routing target group instance ID.', 'type' => 'string', 'required' => true, 'example' => 'rtg-xxxx', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the resource group resides.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => 'd7d24a21-f4ba-4454-9173-b3****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'description' => 'The tag list.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'ForceDelete', 'in' => 'query', 'schema' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.RouteTargetGroup', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The specified resource% s does not exist.'], ['errorCode' => 'IncorrectStatus.RouteTargetGroup', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The current state of the RouteTargetGroup prohibits the operation.'], ['errorCode' => 'DependencyViolation.RouteEntry', 'errorMessage' => 'RouteEntry %s depends on the resource %s.', 'description' => 'The current resource is still relied upon by the routing entry.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Delete a route target group', 'summary' => 'Deletes a route target group instance.', 'description' => '- **DeleteRouteTargetGroup** is an asynchronous operation. After you send a request, the system returns a request ID, but the route target group is not yet deleted. The deletion task continues to run in the background. You can call ListRouteTargetGroup to query the deletion status of the route target group:'."\n" .' - If the route target group is in the **Deleting** state, the route target group is being deleted.'."\n" .' - If the specified route target group cannot be found, the route target group is deleted.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteRouteTargetGroup'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteRouteTargetGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","type":"json"}]', ], 'DeleteRouterInterface' => [ 'summary' => 'Deletes a router interface.', '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' => 'The ID of the region where the router interface is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'RouterInterfaceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the router interface.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ri-2zeo3xzyf38r4urz****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidInstance.StatusError', 'errorMessage' => 'The router instance status error.', 'description' => 'The status of the instance is invalid.'], ['errorCode' => 'OperationFailed.OperationLocked', 'errorMessage' => 'Operation failed because OperationLocked.', 'description' => 'The operation failed because the instance is locked due to O&M.'], ['errorCode' => 'RouterInterfaceReferredByRouteEntry', 'errorMessage' => 'Router interface referred by route entry.', 'description' => 'There is a route to the router interface that cannot be deleted'], ['errorCode' => 'ReferredByRouteEntry.RouterInterface', 'errorMessage' => 'Router interface referred by route entry.', 'description' => 'The router interface is referenced by a route entry.'], ['errorCode' => 'InvalidRouteTable.NotFound', 'errorMessage' => 'The specified routetable does not exist.', 'description' => 'The route table is not found.'], ['errorCode' => 'Forbbiden.InvaildOwner', 'errorMessage' => 'Incorrect RouterInterface owner.', 'description' => 'The router does not belong to your account.'], ], ], 'title' => 'DeleteRouterInterface', 'description' => 'When you call this operation, take note of the following limits:'."\n" ."\n" .'* You can delete only a router interface that is in the **Idle** or **Inactive** state.'."\n" .'* Before you delete a router interface, you must delete all custom route entries destined for the router interface.'."\n", 'changeSet' => [ ['createdAt' => '2025-03-19T10:32:29.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-03-25T02:41:07.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-12-21T05:47:23.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-24T11:57:52.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-28T02:51:05.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', ], 'DeleteSnatEntry' => [ 'summary' => 'Deletes an SNAT entry.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the NAT 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-hangzhou', 'title' => ''], ], [ 'name' => 'SnatTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the SNAT table to which the SNAT entry belongs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'stb-bp190wu8io1vgev80****', 'title' => ''], ], [ 'name' => 'SnatEntryId', 'in' => 'query', 'schema' => ['description' => 'The ID of the SNAT entry that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'snat-bp1vcgcf8tm0plqcg****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not set this parameter, the system automatically uses **RequestId** as **ClientToken**. **RequestId** may be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', 'title' => ''], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorretSnatEntryStatus', 'errorMessage' => 'Some Snat entry status blocked this operation..', 'description' => ''], ['errorCode' => 'IncorrectStatus.SnatEntry', 'errorMessage' => 'The Specified SnatEntry is not stable status, can not operation', 'description' => 'The specified SNAT entries are not in a stable state and cannot be operated.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidSnatEntryId.NotFound', 'errorMessage' => 'Specified Snat entry ID does not exist', 'description' => ''], ['errorCode' => 'InvalidSnatTableId.NotFound', 'errorMessage' => 'Specified SNAT table does not exist.', 'description' => ''], ['errorCode' => 'ResourceNotFound.SnatEntry', 'errorMessage' => 'Specified SNAT entry does not exist.', 'description' => 'The specified SNAT entry does not exist.'], ], ], 'title' => 'DeleteSnatEntry', 'description' => 'DeleteSnatEntry is an asynchronous operation. After you make a request, the ID of the request is returned but the specified SNAT entry is not deleted. The system deletes the SNAT entry in the background. You can call the [DescribeSnatTableEntries](~~42677~~) operation to query the status of SNAT entries.'."\n" ."\n" .'* If the SNAT entries are in the **Deleting** state, the system is deleting the SNAT entries. In this case, you can only query the status of the SNAT entries, and cannot perform other operations.'."\n" .'* If no SNAT entry is returned in the response, the SNAT entry is deleted.'."\n" ."\n" .'If some SNAT entries are in the **Pending** state, you cannot delete these SNAT entries.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-03-01T06:45:54.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', ], 'DeleteSslVpnClientCert' => [ 'summary' => 'Deletes an SSL-VPN client certificate.', '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' => 'The region ID of the SSL-VPN client certificate. '."\n" ."\n" .'You can call [DescribeRegions](~~36063~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** value as the **ClientToken** value. The **RequestId** value is different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], [ 'name' => 'SslVpnClientCertId', 'in' => 'query', 'schema' => ['description' => 'The ID of the SSL-VPN client certificate.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vsc-bp1n8wcf134yl0osr****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '606998F0-B94D-48FE-8316-ACA81BB230DA', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not found during access authentication.', 'description' => 'The specified area is not found during authentication.'], ['errorCode' => 'InvalidSslVpnClientCertId.NotFound', 'errorMessage' => 'The specified SSL VPN client cert id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 1000, 'maxCallbackTimes' => 30], 'title' => 'Delete an SSL-VPN client certificate', 'description' => '- Deleting an SSL-VPN client certificate disconnects all clients under the SSL server from their SSL-VPN connections. If clients need to continue using SSL-VPN connections, they must re-initiate the SSL-VPN connections.'."\n" ."\n" .' For example, if SSL-VPN client certificate 1 and SSL-VPN client certificate 2 are created under an SSL server, deleting SSL-VPN client certificate 1 disconnects all clients associated with both SSL-VPN client certificate 1 and SSL-VPN client certificate 2.'."\n" ."\n" .' - If clients associated with SSL-VPN client certificate 1 need to continue using SSL-VPN connections, they must install another certificate and then re-initiate the SSL-VPN connections.'."\n" ."\n" .' - If clients associated with SSL-VPN client certificate 2 need to continue using SSL-VPN connections, they only need to re-initiate the SSL-VPN connections.'."\n" .'- The **DeleteSslVpnClientCert** operation is asynchronous. After a request is sent, the system returns a request ID. However, the SSL-VPN client certificate is not immediately deleted. The deletion task runs in the background. You can call [DescribeVpnGateway](~~2794055~~) to query the status of the VPN gateway instance associated with the SSL server to check the deletion status of the SSL-VPN client certificate:'."\n" .' - If the VPN gateway instance is in the **updating** state, the SSL-VPN client certificate is being deleted.'."\n" .' - If the VPN gateway instance is in the **active** state, the SSL-VPN client certificate is deleted.'."\n" .'- The **DeleteSslVpnClientCert** operation does not support concurrent deletion of SSL-VPN client certificates under the same VPN gateway instance.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteSslVpnClientCert'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteSslVpnClientCert', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SslVpnClientCert', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnclientcert/{#SslVpnClientCertId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"606998F0-B94D-48FE-8316-ACA81BB230DA\\"\\n}","type":"json"}]', ], 'DeleteSslVpnServer' => [ 'summary' => 'Deletes an SSL server.', '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' => 'The region ID of the SSL server.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], [ 'name' => 'SslVpnServerId', 'in' => 'query', 'schema' => ['description' => 'The ID of the SSL server.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vss-bp18q7hzj6largv4v****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '606998F0-B94D-48FE-8316-ACA81BB230DA', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'VpnGateway.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not found during access authentication.', 'description' => 'The specified area is not found during authentication.'], ['errorCode' => 'InvalidSslVpnServerId.NotFound', 'errorMessage' => 'The specified SSL VPN server id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 1000, 'maxCallbackTimes' => 30], 'title' => 'DeleteSslVpnServer', 'description' => '* **DeleteSslVpnServer** 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 deleted.'."\n" .' * If the VPN gateway is in the **active** state, the SSL server is deleted.'."\n" ."\n" .'* You cannot repeatedly call the **DeleteSslVpnServer** operation to delete an SSL server from the same VPN gateway within the specified period of time.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], '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"}]', ], 'DeleteTrafficMirrorFilter' => [ 'summary' => 'Invokes the DeleteTrafficMirrorFilter operation to delete a traffic mirror filter.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'TrafficMirrorFilterId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the traffic mirror filter.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tmf-j6cmls82xnc86vtpe****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** as the **ClientToken**. The **RequestId** may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run. The system checks the required parameters, request format, and limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'- **false** (default): sends the request. If the request passes the check, the traffic mirror filter is deleted.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the traffic mirror. You can call [DescribeRegions](~~36063~~) to query the most recent region list. For more information about the regions that support traffic mirroring, see [Overview of traffic mirroring](~~207513~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hongkong', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '07F272E2-6AD5-433A-8207-A607C76F1676', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.TrafficMirrorFilter', 'errorMessage' => 'The specified resource of traffic mirror filter is not found.', 'description' => 'The specified filter does not exist.'], ['errorCode' => 'IncorrectStatus.TrafficMirrorFilter', 'errorMessage' => 'The status of traffic mirror filter is incorrect.', 'description' => 'The filter is in an invalid state.'], ['errorCode' => 'IncorrectStatus.TrafficMirrorRule', 'errorMessage' => 'The status of traffic mirror rule is incorrect.', 'description' => 'The filter rule is in an invalid state.'], ['errorCode' => 'DependencyViolation.TrafficMirrorSession', 'errorMessage' => 'Some traffic mirror sessions depend on the specified resource.', 'description' => 'The traffic mirror session depends on the current resource.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::ListTrafficMirrorFilters', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'Delete a traffic mirror filter', 'description' => '- **DeleteTrafficMirrorFilter** is an asynchronous operation. After you send a request, the system returns a request ID, but the traffic mirror filter is not yet deleted. The deletion task runs in the background. You can call [ListTrafficMirrorFilters](~~261353~~) to query the deletion status of the traffic mirror filter:'."\n" .' - If the traffic mirror filter is in the **Deleting** state, the traffic mirror filter is being deleted.'."\n" .' - If the specified traffic mirror filter cannot be found, the traffic mirror filter is deleted.'."\n" .'- **DeleteTrafficMirrorFilter** does not support concurrent deletion of the same traffic mirror filter.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTrafficMirrorFilter'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteTrafficMirrorFilter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/{#TrafficMirrorFilterId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"07F272E2-6AD5-433A-8207-A607C76F1676\\"\\n}","type":"json"}]', ], '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' => 'The ID of the filter.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tmf-j6cmls82xnc86vtpe****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not set this parameter, the system uses **RequestId** as **ClientToken**. **RequestId** may be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to check the request without performing the operation. Valid values:'."\n" ."\n" .'* **true**: checks the API request without performing the operation. The system checks the required parameters, request format, and limits. If the request fails the check, an error message is returned. If the request passes the check, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): sends the request. After the request passes the check, the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'TrafficMirrorFilterRuleIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The ID of the inbound or outbound rule.', 'type' => 'array', 'items' => ['description' => 'The ID of the inbound or outbound rule.', 'type' => 'string', 'required' => false, 'example' => 'tmr-j6cbmubn323k7jlq3****', 'title' => ''], 'required' => true, 'example' => 'tmr-j6cbmubn323k7jlq3****', 'maxLength' => 128, 'maxItems' => 100, 'title' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region to which the mirrored traffic belongs. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list. For more information about regions that support traffic mirror, see [Overview of traffic mirror](~~207513~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hongkong', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'BD8A3F71-00C5-4655-8F55-11F3976C3274', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.TrafficMirrorRule', 'errorMessage' => 'The specified resource of traffic mirror rule is not found.', 'description' => ''], ['errorCode' => 'IncorrectStatus.TrafficMirrorRule', 'errorMessage' => 'The status of traffic mirror rule is incorrect.', 'description' => 'The filter rule is in an invalid state.'], ['errorCode' => 'IncorrectStatus.TrafficMirrorFilter', 'errorMessage' => 'The status of traffic mirror filter is incorrect.', 'description' => 'The filter is in an invalid state.'], ['errorCode' => 'ResourceNotFound.TrafficMirrorFilter', 'errorMessage' => 'The specified resource of traffic mirror filter is not found.', 'description' => 'The specified filter does not exist.'], ['errorCode' => 'IncorrectStatus.TrafficMirrorSession', 'errorMessage' => 'The status of traffic mirror session is incorrect.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::ListTrafficMirrorFilters', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BD8A3F71-00C5-4655-8F55-11F3976C3274\\"\\n}","type":"json"}]', 'title' => 'DeleteTrafficMirrorFilterRules', 'summary' => 'Deletes an inbound or outbound rule of a filter for traffic mirror.', 'changeSet' => [ ['createdAt' => '2025-04-09T06:24:28.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-09-22T05:43:35.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-07T06:35:21.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteTrafficMirrorFilterRules', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/{#TrafficMirrorFilterId}'], ], ], ], ], ], 'DeleteTrafficMirrorSession' => [ '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' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among all requests. ClientToken can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request may be different.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to to perform a dry run. Valid values:'."\n" ."\n" .'* **true**: performs a dry run. The system checks the required parameters, request format, and limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and sends the request. If the request passes the dry run, the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'TrafficMirrorSessionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the traffic mirror session.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tms-j6cla50buc44ap8tu****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region to which the traffic mirror session belongs. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list. For more information about regions that support traffic mirror, see [Overview of traffic mirror](~~207513~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hongkong', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.TrafficMirrorSession', 'errorMessage' => 'The specified resource of traffic mirror session is not found.', 'description' => ''], ['errorCode' => 'IncorrectStatus.TrafficMirrorSession', 'errorMessage' => 'The status of traffic mirror session is incorrect.', 'description' => ''], ['errorCode' => 'IncorrectStatus.TrafficMirrorFilter', 'errorMessage' => 'The status of traffic mirror filter is incorrect.', 'description' => 'The filter is in an invalid state.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]', 'title' => 'DeleteTrafficMirrorSession', 'summary' => 'Deletes a traffic mirror session.', 'changeSet' => [ ['createdAt' => '2022-12-07T06:35:21.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteTrafficMirrorSession', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorSession', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorsession/{#TrafficMirrorSessionId}'], ], ], ], ], ], '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' => 'The ID of the VSwitch to delete.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vsw-asdfjlna****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VSwitch to delete.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query region IDs.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" .'- **true**: Sends a check request without deleting the VSwitch. The check items include whether required parameters are specified, the request format, and service limits. If the check fails, the corresponding error is returned. If the check succeeds, the error code `DryRunOperation` is returned.'."\n" .'- **false** (default): Sends a normal request. After the check succeeds, an HTTP 2xx status code is returned and the VSwitch is directly deleted.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationDenied.OtherSubnetProcessing', 'errorMessage' => 'other subnet is processing.', 'description' => 'You cannot delete the vSwitch because other subnets are being managed.'], ['errorCode' => 'IncorrectVSwitchStatus', 'errorMessage' => 'vpc subnet is in middle status.', 'description' => ''], ['errorCode' => 'DependencyViolation', 'errorMessage' => 'Resources deployed in the vSwitch have not been deleted.', 'description' => 'Failed to delete the vSwitch because resources attached to the vSwitch are not released.'], ['errorCode' => 'IncorrectRouteEntryStatus', 'errorMessage' => 'Some route entry status blocked this operation.', 'description' => ''], ['errorCode' => 'DependencyViolation.HaVip', 'errorMessage' => 'VSwitch cannot be deleted when there are some HaVip dependent with it.', 'description' => 'The vSwitch is associated with an HAVIP and the vSwitch cannot be deleted.'], ['errorCode' => 'DependencyViolation.RouteTable', 'errorMessage' => 'VSwitch cannot be deleted when associated with route table', 'description' => ''], ['errorCode' => 'MissingParameter', 'errorMessage' => 'Miss mandatory parameter.', 'description' => ''], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent, TaskConflict.', 'description' => 'The system is unavailable. Try again later.'], ['errorCode' => 'DependencyViolation.SNAT', 'errorMessage' => 'The vswitch cannot be deleted when used by snat.', 'description' => 'You cannot delete a vSwitch when SNAT is used.'], ['errorCode' => 'DeleteVSwitch.IncorrectStatus.cbnStatus', 'errorMessage' => 'Current CBN status does not support this operation.', 'description' => 'You cannot delete the vSwitch when the CEN instance is in the current state.'], ['errorCode' => 'AttrMismatching.NaclAndBindInstance', 'errorMessage' => 'The network acl and resource not in same vpc.', 'description' => ''], ['errorCode' => 'InvalidResource.NotBinding', 'errorMessage' => 'The resource has not been binded.', 'description' => ''], ['errorCode' => 'DependencyViolation.SnatEntry', 'errorMessage' => 'VSwitch cannot be deleted when snat entry exist.', 'description' => ''], ['errorCode' => 'DependencyViolation.NetworkAcl', 'errorMessage' => 'VSwitch cannot be deleted when network acl exist.', 'description' => 'You cannot delete the vSwitch because a network ACL exists in the vSwitch.'], ['errorCode' => 'DependencyViolation.EnhancedNatgw', 'errorMessage' => 'VSwitch cannot be deleted when natgw exist.', 'description' => 'You cannot delete the vSwitch because a NAT gateway exists in the vSwitch.'], ['errorCode' => 'DependencyViolation.ResourceShare', 'errorMessage' => 'VSwitch cannot be deleted when resource share exist.', 'description' => ''], ['errorCode' => 'OperationFailed.SystemBusy', 'errorMessage' => 'Operation failed because system is busy.', 'description' => 'The error message returned because the system is busy. Try again later.'], ['errorCode' => 'DependencyViolation.MulticastDomain', 'errorMessage' => 'VSwitch cannot be deleted when associated with multicast domain.', 'description' => 'The vSwitch is added to a multicast domain and cannot be deleted.'], ['errorCode' => 'DependencyViolation.VSwitchCidrReservation', 'errorMessage' => 'VSwitch cannot be deleted when vswitch cidr reservation exist.', 'description' => 'The error message returned because a CIDR block is reserved for the vSwitch and the vSwitch cannot be deleted.'], ['errorCode' => 'DependencyViolation.CloudService', 'errorMessage' => 'VSwitch cannot be deleted when uesd by cloud service.', 'description' => 'The error message returned because the vSwitch is being used by a cloud service and cannot be deleted. Check the use scenario of the cloud service.'], ['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'VSwitch not exist.', 'description' => ''], ['errorCode' => 'OperationFailed.Ipv6InstanceExist', 'errorMessage' => 'Operation failed because vswitch has ipv6 instance.', 'description' => 'IPv6 instances exist in the vSwitch.'], ['errorCode' => 'DependencyViolation.Ipv6Address', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => 'The specified resource is dependent on other resources and the current operation is not allowed.'], ['errorCode' => 'DependencyViolation.%s', 'errorMessage' => 'The specified resource of [%s] depends on [%s], so the operation cannot be completed.', 'description' => '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.', 'description' => 'The error message returned because the region is not supported.'], ['errorCode' => 'IncorrectStatus', 'errorMessage' => 'Vswtich status not stable.', 'description' => ''], ['errorCode' => 'DependencyViolation.RouterInterface', 'errorMessage' => 'Specified object has dependent resources RouterInterface.', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not found.', 'description' => 'The specified region does not exist.'], ], 404 => [ ['errorCode' => 'IncorrectVSwitchId', 'errorMessage' => 'Specified vSwtich instance is not found during access authentication.', 'description' => 'The vSwitch is not found during the permission verification progress.'], ['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'VSwitch not exist.', 'description' => ''], ], ], 'title' => 'DeleteVSwitch', 'summary' => 'Deletes a VSwitch.', 'description' => 'When you call this operation to delete a VSwitch, take note of the following items:'."\n" ."\n" .'- Before you delete a VSwitch, you must release or migrate all resources in the VPC, including VSwitches, cloud product instances, router interfaces, and HaVip resources.'."\n" ."\n" .'- Only VSwitches in the **Available** state can be deleted.'."\n" ."\n" .'- A VSwitch cannot be deleted if the VPC to which it belongs is creating or deleting a VSwitch or route entry.'."\n" ."\n" .'- The **DeleteVSwitch** operation is asynchronous. After you send a request, the system returns a request ID, but the VSwitch is not yet deleted. The deletion task is still running in the background. You can call [DescribeVSwitchAttributes](~~94567~~) to query the deletion status of the VSwitch:'."\n" .' - If the VSwitch is in the **Pending** state, the VSwitch is being deleted.'."\n" .' - If the specified VSwitch cannot be found, the VSwitch is deleted.'."\n" ."\n" .'- The **DeleteVSwitch** operation does not support concurrent deletion of the same VSwitch.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-04-01T11:44:58.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2025-02-14T03:41:59.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-02-10T11:21:39.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-12-14T07:39:32.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-10-10T04:48:56.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-09-21T07:57:20.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-25T12:18:33.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-09T08:58:31.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-17T03:07:31.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-01-05T08:05:12.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2021-08-08T06:01:48.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVSwitch'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVSwitch', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]', ], 'DeleteVSwitchCidrReservation' => [ 'summary' => 'Deletes a reserved CIDR block of a vSwitch.', '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' => 'The ID of the reserved CIDR block.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vcr-bp1m12saqteraw3rp****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the vSwitch is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'**true**: performs a dry run. The system checks the required parameters, request format, and limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" ."\n" .'**false** (default): sends the request directly without performing a dry run. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response body.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'DependencyViolation.IpPrefix', 'errorMessage' => 'DependencyViolation.IpPrefix', 'description' => 'The error message returned because a prefix list is assigned to the resource. Delete the prefix list and try again.'], ['errorCode' => 'IncorrectStatus.CidrReservation', 'errorMessage' => 'The status of the CIDR reservation is incorrect.', 'description' => 'The status of the reserved CIDR block does not support this operation. Try again later.'], ['errorCode' => 'ResourceNotFound.CidrReservation', 'errorMessage' => 'reserve segment not exist.', 'description' => 'The network segment does not exist.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.CidrReservation', 'errorMessage' => 'ResourceNotFound.CidrReservation', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::ListVSwitchCidrReservations', 'callbackInterval' => 3, 'maxCallbackTimes' => 10], 'title' => 'DeleteVSwitchCidrReservation', 'description' => '- 在您调用该接口删除交换机预留网段前,请确保从该预留网段给弹性网卡ENI(Elastic Network Interface)分配的前缀网段均已删除。如有请先调用[UnassignPrivateIpAddresses](~~85919~~)或[UnassignIpv6Addresses](~~98611~~)接口释放弹性网卡的IPv4或者IPv6地址。'."\n" .'- **DeleteVSwitchCidrReservation**接口属于异步接口,即系统会返回一个实例ID,但该交换机预留网段尚未删除成功,系统后台任务仍在进行中。您可以调用'."\n" .'[ListVSwitchCidrReservations](~~610155~~)查询交换机预留网段的删除状态:'."\n" .' - 当交换机预留网段处于**Releasing**状态时,表示交换机预留网段正在释放中。'."\n" .' - 当交换机预留网段处于**Released**状态时,表示交换机预留网段已释放。', 'changeSet' => [ ['createdAt' => '2024-07-24T09:40:24.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-06-24T03:22:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-04-11T06:37:18.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","type":"json"}]', ], 'DeleteVbrHa' => [ 'summary' => 'Deletes a VBR failover group.', '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' => '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 ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request is different.', 'type' => 'string', 'required' => false, 'example' => 'CBCE910E-D396-4944-8****', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the VBR failover group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vbrha-sa1******', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VBR.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter is invalid.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.VbrHa', 'errorMessage' => 'The VBR HA resource is not found.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Delete a VBR failover group', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-02-27T03:21:22.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVbrHa'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVbrHa', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","type":"json"}]', ], 'DeleteVcoRouteEntry' => [ 'summary' => 'Calls the DeleteVcoRouteEntry operation to delete a destination route entry from an IPsec connection.', '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' => 'The region ID of the IPsec connection.'."\n" ."\n" .'You can call [DescribeRegions](~~36063~~) to query region IDs.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VpnConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPsec connection.', 'type' => 'string', 'required' => true, 'example' => 'vco-p0w5112fgnl2ihlmf****', 'title' => ''], ], [ 'name' => 'RouteDest', 'in' => 'query', 'schema' => ['description' => 'The destination CIDR block of the destination route entry to be deleted.', 'type' => 'string', 'required' => true, 'example' => '192.168.10.0/24', 'title' => ''], ], [ 'name' => 'Weight', 'in' => 'query', 'schema' => ['description' => 'The weight of the destination route entry to be deleted. Valid values:'."\n" ."\n" .'- **0**: low priority.'."\n" .'- **100**: high priority.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '100', 'title' => ''], ], [ 'name' => 'NextHop', 'in' => 'query', 'schema' => ['description' => 'The next hop of the destination route entry to be deleted.', 'type' => 'string', 'required' => true, 'example' => 'vco-p0w5112fgnl2ihlmf****', 'title' => ''], ], [ 'name' => 'OverlayMode', 'in' => 'query', 'schema' => ['description' => 'The tunneling protocol. Set the value to **Ipsec** (default), which specifies the IPsec tunneling protocol.', 'type' => 'string', 'required' => false, 'example' => 'Ipsec', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** value as the **ClientToken** value. The **RequestId** value is different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9208DDD8-0930-3CE6-AF7F-732B4E67B3DD', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'VpnConnection.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => 'The service is being configured. Try again later.'], ['errorCode' => 'VpnConnection.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => 'The error message returned because the service is locked due to overdue payments.'], ['errorCode' => 'VpnRouteEntry.AlreadyExists', 'errorMessage' => 'The specified route entry is already exist.', 'description' => 'The route already exists.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified route entry has conflict.', 'description' => 'Route conflicts exist.'], ['errorCode' => 'InvalidRouteEntry.NotFound', 'errorMessage' => 'The specified route entry does not exist.', 'description' => 'The error message returned because the specified route does not exist.'], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', 'description' => 'Your requests are too frequent. Try again later.'], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', 'errorMessage' => 'The specified vpn connection instance id does not exist.', 'description' => 'The specified vpn connection instance id does not exist.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnConnection', 'callbackInterval' => 1000, 'maxCallbackTimes' => 30], 'title' => 'Delete a destination route entry from an IPsec connection', 'description' => '- The **DeleteVcoRouteEntry** operation is asynchronous. After you send a request, the system returns a request ID, but the destination route entry is not immediately deleted. The deletion task runs in the background. You can call [DescribeVpnConnection](~~53046~~) to query the deletion status of the destination route entry:'."\n" .' - If the IPsec connection is in the **updating** state, the destination route entry is being deleted.'."\n" .' - If the IPsec connection is in the **attached** state, the destination route entry is deleted.'."\n" .'- The **DeleteVcoRouteEntry** operation does not support concurrent deletion of destination route entries from the same IPsec connection.', 'changeSet' => [ ['createdAt' => '2022-12-13T03:56:52.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVcoRouteEntry'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVcoRouteEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnections', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9208DDD8-0930-3CE6-AF7F-732B4E67B3DD\\"\\n}","type":"json"}]', ], 'DeleteVirtualBorderRouter' => [ 'summary' => 'Deletes a virtual border router (VBR).', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VBR. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'VbrId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VBR.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vbr-bp12mw1f8k3jgygk9****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidOperation.RouterInterfaceNotDeleted', 'errorMessage' => 'The specified VirutalBorderRouter still has routerInterface.', 'description' => ''], ['errorCode' => 'InvalidOperation.OperationNotAllowedInState', 'errorMessage' => 'The specified VirutalBorderRouter is in invalid state.', 'description' => ''], ['errorCode' => 'InvalidStatus.NotAllowed', 'errorMessage' => 'The virtual border has been associated by physicalConnection.', 'description' => ''], ['errorCode' => 'DependencyViolation.RouterInterfaceReferedByRouteEntry', 'errorMessage' => 'The specified VirutalBorderRouter is refered by routeEntry.', 'description' => 'The VBR is already used.'], ['errorCode' => 'DependencyViolation.BgpGroup', 'errorMessage' => 'bgp group exists, cannot delete vbr.', 'description' => 'The VBR is associated with a BGP group and cannot be deleted.'], ['errorCode' => 'DependencyViolation.Nqa', 'errorMessage' => 'nqa exists, cannot delete vbr.', 'description' => 'You cannot delete the VBR because nqa exists.'], ['errorCode' => 'DependencyViolation.BgpNetwork', 'errorMessage' => 'bgp network exists, cannot delete vbr.', 'description' => 'You cannot delete the VBR because the VBR has advertised BGP CIDR blocks.'], ['errorCode' => 'OperationUnsupported.VBRAttachedCen', 'errorMessage' => 'Operation failed because the VBR is attached to CEN.', 'description' => ''], ['errorCode' => 'InvalidStatus.vbrAttatchToEcr', 'errorMessage' => 'Invalid virtual border router ecr status.', 'description' => 'VBR and ECR are bound, please unbind first'], ], 403 => [ ['errorCode' => 'Forbidden.OperationDeleteNotAllowedByUser', 'errorMessage' => 'The caller is not allowed to delete the specified VirtualBorderRouter.', 'description' => 'The caller is not allowed to delete the specified VirtualBorderRouter.'], ['errorCode' => 'Forbidden.MultiVlanRi', 'errorMessage' => 'Multiple vlan router interfaces are found.', 'description' => ''], ['errorCode' => 'Forbidden.NoRiFound', 'errorMessage' => 'No vlan router interfaces are found.', 'description' => ''], ], [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidVbrId.NotFound', 'errorMessage' => 'The specified VirutalBorderRouter does not exist in our records.', 'description' => ''], ], ], 'title' => 'DeleteVirtualBorderRouter', 'description' => 'Before you call this operation, take note of the following limits:'."\n" ."\n" .'* Before you delete a VBR, you must delete all router interfaces of the VBR.'."\n" .'* You can delete only a VBR in the **unconfirmed**, **active**, or **terminated** state.'."\n" .'* The owner of an Express Connect circuit can delete a VBR that belongs to another account only if the VBR is in the **unconfirmed** state.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-05-08T02:53:52.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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"}]', ], 'DeleteVpc' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC to be deleted.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp1m7v25emi1h5mtc****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPC to be deleted.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query region IDs.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ForceDelete', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to forcefully delete the VPC. Valid values:'."\n" ."\n" .'- **true**: forcefully deletes the VPC.'."\n" .'- **false** (default): does not forcefully delete the VPC.'."\n" ."\n" .'The VPC can be forcefully deleted only when the following resources exist in the VPC:'."\n" .'- The VPC contains only an IPv4 gateway and routes pointing to the IPv4 gateway.'."\n" .'- The VPC contains only an IPv6 gateway and routes pointing to the IPv6 gateway.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" .'- **true**: performs a dry run without actually deleting the VPC. The system checks whether the required parameters are set, the request format is valid, and business restrictions are met. If the check fails, the corresponding error is returned. If the check succeeds, the error code `DryRunOperation` is returned.'."\n" .'- **false** (default): performs a dry run and sends the request. If the check succeeds, an HTTP 2xx status code is returned, and the VPC is directly deleted.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.VpcDhcpStatus', 'errorMessage' => 'The DhcpOptionsSet status of vpc does not support this operation.', 'description' => 'You cannot delete the VPC when the DHCP options set of the VPC is in the current state.'], ['errorCode' => 'DependencyViolation.GatewayEndpoint', 'errorMessage' => 'The VPC contains endpoints and cannot be deleted.', 'description' => 'The VPC contains endpoints and cannot be deleted. Delete the endpoints in the VPC and then delete the VPC.'], ['errorCode' => 'IncorrectVpcStatus', 'errorMessage' => 'Current VPC status does not support this operation.', 'description' => ''], ['errorCode' => 'DependencyViolation.RouteEntry', 'errorMessage' => 'Specified object has dependent resources', 'description' => 'The VPC cannot be deleted because custom routes exist in the VPC.'], ['errorCode' => 'DependencyViolation.Instance', 'errorMessage' => 'Specified object has dependent resources', 'description' => ''], ['errorCode' => 'DependencyViolation.VSwitch', 'errorMessage' => 'Specified object has dependent resources', 'description' => 'vSwitches exist in the VPC and the VPC cannot be deleted. Delete the vSwitches and try again.'], ['errorCode' => 'DependencyViolation.RouteInterface', 'errorMessage' => 'Specified object has dependent route interface .', 'description' => ''], ['errorCode' => 'DependencyViolation.Tunnel', 'errorMessage' => 'Specified object has dependent tunnel.', 'description' => ''], ['errorCode' => 'DependencyViolation.NatGateway', 'errorMessage' => 'Specified object has dependent resources NatGateway.', 'description' => 'NAT gateways exist in the VPC and the VPC cannot be deleted. Delete the NAT gateways and try again.'], ['errorCode' => 'DependencyViolation.RouterInterface', 'errorMessage' => 'Specified object has dependent resources RouterInterface.', 'description' => ''], ['errorCode' => 'DependencyViolation.SecurityGroup', 'errorMessage' => 'Specified object has dependent resources SecurityGroup.', 'description' => 'Security groups exist in the VPC and the VPC cannot be deleted. Delete the security groups and try again.'], ['errorCode' => 'Forbidden.VpcNotFound', 'errorMessage' => 'Specified VPC can not found.', 'description' => 'The specified VPC does not exist.'], ['errorCode' => 'Forbbiden', 'errorMessage' => 'Active custom route in vpc.', 'description' => ''], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The eip operate too frequent, TaskConflict.', 'description' => 'Operations are too frequent and tasks conflict with each other.'], ['errorCode' => 'InvalidAction', 'errorMessage' => 'The VPC has been connected to the classic network ECS. Please cancel the connection before proceeding.', 'description' => ''], ['errorCode' => 'IncorrectStatus.cbnStatus', 'errorMessage' => 'Current CBN status does not support this operation.', 'description' => 'The status of the CEN instance is invalid.'], ['errorCode' => 'DependencyViolation.RouteTable', 'errorMessage' => 'Specified object has dependent custom routeTable.', 'description' => ''], ['errorCode' => 'DependencyViolation.NetworkAcl', 'errorMessage' => 'Specified object has dependent resources network acl.', 'description' => 'The specified object is associated with a network ACL.'], ['errorCode' => 'DependencyViolation.ClassicLinkInstance', 'errorMessage' => 'Specified object has active classicLink instance.', 'description' => ''], ['errorCode' => 'System.ServiceBusy', 'errorMessage' => 'System is busy, please try later.', 'description' => ''], ['errorCode' => 'DependencyViolation.DhcpOptionsSet', 'errorMessage' => 'The VPC cannot be deleted when it is associated with dhcpOptionsSet.', 'description' => 'The VPC cannot be deleted when it is associated with dhcpOptionsSet.'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not found.', 'description' => 'The specified region does not exist.'], ['errorCode' => 'DependencyViolation.CustomRouteTable', 'errorMessage' => 'CustomRouteTable already exists.', 'description' => ''], ['errorCode' => 'DependencyViolation.Ipv4Gateway', 'errorMessage' => 'The VPC cannot be deleted when it has ipv4Gateway.', 'description' => 'The VPC cannot be deleted because an IPv4 gateway exists in the VPC.'], ['errorCode' => 'DependencyViolation.GatewayRouteTable', 'errorMessage' => 'Specified object has dependent resources gatewayRouteTable.', 'description' => ''], ['errorCode' => 'OperationDenied.VpcPeerExists', 'errorMessage' => 'The operation is not allowed because the VpcPeer exists.', 'description' => 'The VPC has a VPC peering connection.'], ['errorCode' => 'DependencyViolation.AppAccess', 'errorMessage' => 'Specified object has dependent resources app access.', 'description' => 'The VPC has a reverse access and cannot be deleted.'], ['errorCode' => 'DependencyViolation.OppositeRouterInterface', 'errorMessage' => 'Failed to delete the VPC because it has peer router interfaces.', 'description' => 'The VPC failed to be deleted because a peer router interface exists in the VPC.'], ['errorCode' => 'DependencyViolation.TransitRouter', 'errorMessage' => 'Specified object has attached to Transit Router.', 'description' => 'The specified resource is dependent on other resources and the current operation is not allowed.'], ['errorCode' => 'DependencyViolation.Ipv6Gateway', 'errorMessage' => 'The VPC contains IPv6Gateway and cannot be deleted.', 'description' => ''], ['errorCode' => 'DependencyViolation.CloudServiceResource', 'errorMessage' => 'The VPC contains CloudServiceResource and cannot be deleted.', 'description' => ''], ['errorCode' => 'IncorrectStatus.VpcDnsHostnameStatus', 'errorMessage' => 'The DnsHostname status of vpc does not support this operation.', 'description' => 'The private domain name status of the current VPC does not support this operation.'], ['errorCode' => 'OperationDenied.AttachedToECR', 'errorMessage' => 'The operation is not allowed because the VPC is attached to ECR %s.', 'description' => 'The operation is not allowed because the VPC is attached to ECR %s.'], ], 403 => [ ['errorCode' => 'OperationDenied', 'errorMessage' => 'The operation is not supported in this status.', 'description' => ''], ], [ ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'Specified VPC does not exist.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'title' => 'Delete a VPC', 'summary' => 'Calls the DeleteVpc operation to delete a Virtual Private Cloud (VPC).', 'description' => 'When calling this operation to delete a VPC, note the following:'."\n" ."\n" .'- Before deleting a VPC, you must release or migrate all resources in the VPC, including vSwitches, cloud product instances, and high-availability virtual IP addresses (HAVIPs).'."\n" .' '."\n" .'- Only VPCs in the **Available** state can be deleted.'."\n" ."\n" .'- The **DeleteVpc** operation is asynchronous. After a request is sent, a request ID is returned, but the VPC is not immediately deleted. The deletion task continues in the background. You can call the [DescribeVpcAttribute](~~94565~~) operation to query the deletion status of the VPC:'."\n" .' - When the VPC is in the **Deleting** state, the VPC is being deleted.'."\n" .' - When the specified VPC cannot be found, the VPC is deleted.'."\n" .'- The **DeleteVpc** operation does not support concurrent deletion of the same VPC.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-02-25T05:58:14.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-10-28T06:54:02.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-09-29T10:47:23.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-07-24T09:40:23.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2024-01-24T02:44:03.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-09-25T07:38:52.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-16T01:50:49.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-07T09:48:07.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2022-01-21T04:19:22.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-01-21T04:19:22.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-01-21T04:19:22.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-08-06T06:43:53.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVpc'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVpc', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:tag', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]', ], 'DeleteVpcGatewayEndpoint' => [ 'summary' => 'Deletes a gateway endpoint.', 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'EndpointId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The endpoint instance ID of the gateway endpoint.', 'type' => 'string', 'required' => true, 'example' => 'vpce-bp1w1dmdqjpwul0v3****'], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. **ClientToken** can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run without deleting the gateway endpoint. The system checks the AccessKey pair, the authorization of the Resource Access Management (RAM) user, and the required parameters. If the check fails, the corresponding error is returned. If the check succeeds, the `DryRunOperation` error code is returned.'."\n" ."\n" .'- **false** (default): sends a Normal request, and the gateway endpoint is deleted after the check succeeds. A 2xx HTTP status code is returned.', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The region ID of the gateway endpoint.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'A1122D0F-7B3B-5445-BB19-17F27F97FE1C'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.ConcurrentOperation', 'errorMessage' => 'The operation is failed because of concurrent operation.', 'description' => ''], ['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.', 'description' => ''], ['errorCode' => 'ResourceNotFound.GatewayEndpoint', 'errorMessage' => 'The specified resource gateway endpoint is not found.', 'description' => 'The error message returned because the specified gateway endpoint does not exist.'], ['errorCode' => 'IncorrectStatus.GatewayEndpoint', 'errorMessage' => 'The status of GatewayEndpoint [%s] is incorrect.', 'description' => ''], ['errorCode' => 'DependencyViolation.Association', 'errorMessage' => 'The specified resource of [%s] depends on [%s], so the operation cannot be completed.', 'description' => 'The resource of the operation has dependencies. Please disassociate them first.'], ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The regionId provided does not exist in our records.', 'description' => 'The RegionId parameter is set to an invalid value. Specify a valid value and try again.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::ListVpcGatewayEndpoints', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'Delete a gateway endpoint', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVpcGatewayEndpoint'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVpcGatewayEndpoint', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'GatewayEndpoint', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:gatewayendpoint/{#GatewayEndpointId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A1122D0F-7B3B-5445-BB19-17F27F97FE1C\\"\\n}","type":"json"}]', ], 'DeleteVpcPrefixList' => [ 'summary' => 'Deletes a prefix list.', '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' => 'The ID of the prefix list that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'pl-0b78hw45f****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not set this parameter, the system uses **RequestId** as **ClientToken**. **RequestId** may be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to check the request without performing the operation. Valid values:'."\n" ."\n" .'* **true**: checks the request without performing the operation. The system checks the required parameters, request syntax, and limits. If the request fails to pass the check, an error message is returned. If the request passes the check, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): sends the request. If the request passes the check, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the prefix list.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '64B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.PrefixList ', 'errorMessage' => 'The specified resource of prefixList is not found.', 'description' => ''], ['errorCode' => 'IncorrectStatus.SystemPrefixList', 'errorMessage' => 'This is not allowed to operate system prefixList.', 'description' => ''], ['errorCode' => 'OperationDenied.DeleteShareResource', 'errorMessage' => 'This is not allowed to delete shared prefixList.', 'description' => ''], ['errorCode' => 'IncorrectStatus.PrefixList', 'errorMessage' => 'The status of prefixList is incorrect.', 'description' => 'The prefix list is in an unstable state.'], ['errorCode' => 'DependencyViolation.PrefixListRelation', 'errorMessage' => 'The specified resource of prefixList depends on prefixList relation, so the operation cannot be completed.', 'description' => ''], ['errorCode' => 'DependencyViolation.ShareResource', 'errorMessage' => 'The specified resource of prefixList depends on share resource, so the operation cannot be completed.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::ListPrefixLists', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'DeleteVpcPrefixList', 'description' => 'You cannot repeatedly call the **DeleteDhcpOptionsSet** operation to delete a prefix list within the specified period of time.', 'changeSet' => [ ['createdAt' => '2022-07-18T12:44:59.000Z', 'description' => 'OpenAPI offline'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVpcPrefixList', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PrefixList', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:prefixlist/{#PrefixListId}'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVpcPrefixList'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"64B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 64B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', ], 'DeleteVpnAttachment' => [ 'summary' => 'Calls the DeleteVpnAttachment operation to delete an IPsec-VPN connection.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete', 'riskType' => 'high', 'chargeType' => 'paid'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPsec-VPN connection.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VpnConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPsec-VPN connection.', 'type' => 'string', 'required' => true, 'example' => 'vco-p0w7gtr14m09r9lkr****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** value as the **ClientToken** value. The **RequestId** value is different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'title' => '', 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '29440C49-398F-3D06-BA8B-E3CD13F3246D', 'title' => ''], 'Code' => ['description' => 'The status code returned by the current task. A value of **200** indicates that the task is successful.', 'type' => 'string', 'example' => '200', 'title' => ''], 'Success' => ['description' => 'Indicates whether the current task is successfully executed.'."\n" ."\n" .'- **true**: The task is successfully executed.'."\n" .'- **false**: The task failed to be executed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Message' => ['description' => 'The message returned by the current task.', 'type' => 'string', 'example' => 'successful', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'VpnConnection.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => 'The service is being configured. Try again later.'], ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], ['errorCode' => 'Vco.StatusNotSupport', 'errorMessage' => 'The current VCO status does not support operations such as modification and deletion.', 'description' => '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.', 'description' => 'the current vpn connection instance is cross-account authorized to the cen of another account. you need to cancel the cross-account authorization before deleting the instance.'], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user. ', 'description' => ''], ['errorCode' => 'Forbidden ', 'errorMessage' => 'User not authorized to operate on the specified resource. ', 'description' => ''], ], [ ['errorCode' => 'InvalidVpnConnectionInstanceId.NotFound ', 'errorMessage' => 'The specified vpn connection instance id does not exist. ', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnConnection', 'callbackInterval' => 1000, 'maxCallbackTimes' => 30], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], 'title' => 'Delete an IPsec-VPN connection', 'description' => '- If the IPsec-VPN connection is associated with a transit router instance, disassociate the IPsec-VPN connection from the transit router instance before you delete the IPsec-VPN connection. For more information, see [DeleteTransitRouterVpnAttachment](~~468251~~).'."\n" .'- If the IPsec-VPN connection is not associated with any resource, you can call the `DeleteVpnAttachment` operation to directly delete the IPsec-VPN connection.', 'changeSet' => [ ['createdAt' => '2024-10-24T11:19:58.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-01-04T07:17:10.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVpnAttachment'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVpnAttachment', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnections', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"29440C49-398F-3D06-BA8B-E3CD13F3246D\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true,\\n \\"Message\\": \\"successful\\"\\n}","type":"json"}]', ], 'DeleteVpnConnection' => [ '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' => 'The ID of the region where the IPsec-VPN connection is created.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], [ 'name' => 'VpnConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPsec-VPN connection.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vco-bp1bbi27hojx80nck****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '606998F0-B94D-48FE-8316-ACA81BB230DA', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'VpnTask.CONFLICT', 'errorMessage' => 'Vpn task has conflict.', 'description' => 'The VPN operation conflicts. Try again later.'], ['errorCode' => 'VpnGateway.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => ''], ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => 'The specified VPN gateway does not exist. Check whether the specified VPN gateway is valid.'], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', 'errorMessage' => 'The specified vpn connection instance id does not exist.', 'description' => 'The specified vpn connection instance id does not exist.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnConnection', 'callbackInterval' => 3000, 'maxCallbackTimes' => 200], 'title' => 'DeleteVpnConnection', 'summary' => 'Deletes an IPsec-VPN connection.', 'description' => '* **DeleteVpnConnection** 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](~~73720~~) operation to query the status of a VPN gateway.'."\n" ."\n" .' * If a VPN gateway is in the **updating** state, the IPsec-VPN connection is being deleted.'."\n" .' * If a VPN gateway is in the **active** state, the IPsec-VPN connection has been deleted.'."\n" ."\n" .'* You cannot call the **DeleteVpnConnection** operation to delete multiple IPsec-VPN connections for a VPN gateway at a time.'."\n" ."\n" .'> After an IPsec-VPN connection between a data center and Alibaba Cloud is deleted, the connection between the data center and Alibaba Cloud is closed.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-01-04T07:17:10.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-01-06T06:24:22.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2022-12-08T09:38:28.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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"}]', ], 'DeleteVpnGateway' => [ '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' => '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-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPN gateway.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '>0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'DependencyViolation.VpnConnection', 'errorMessage' => 'There are vpn connections on specified customer gateway not deleted.', 'description' => 'The error message returned because VPN connections to the specified customer gateway are not deleted.'], ['errorCode' => 'DependencyViolation.SslVpnServer', 'errorMessage' => 'There is SSL VPN server on specified vpn gateway not deleted.', 'description' => 'The error message returned because SSL-VPN connections to the specified customer gateway are not deleted.'], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'DependencyViolation.GreTunnel', 'errorMessage' => 'There is Gre tunnel on specified vpn gateway not deleted.', 'description' => 'The error message returned because GRE tunnels are not deleted on the VPN gateway.'], ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The eip operate too frequent, TaskConflict.', 'description' => 'Operations are too frequent and tasks conflict with each other.'], ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => 'The specified VPN gateway does not exist. Check whether the specified VPN gateway is valid.'], ['errorCode' => 'DependencyViolation.IpsecServer', 'errorMessage' => 'the resource cannot be deleted because the resource has an ipsec server dependency.', 'description' => '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.', 'description' => 'The error message returned because you are unauthorized to perform this operation on the specified resource. Acquire the required permissions and try again.'], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ['errorCode' => 'ForbiddenRelease', 'errorMessage' => 'Forbidden to release a prepaid instance within validity period', 'description' => ''], ], [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 6000, 'maxCallbackTimes' => 100], 'title' => 'DeleteVpnGateway', 'summary' => 'Deletes a VPN gateway.', 'description' => '> You cannot delete a VPN gateway associated with existing IPsec-VPN connections.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-01-04T07:17:11.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-27T03:28:32.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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"}]', ], 'DeleteVpnPbrRouteEntry' => [ 'summary' => 'Deletes a policy-based route by calling the DeleteVpnPbrRouteEntry operation.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPN gateway instance. You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the VPN gateway.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpn-bp1a3kqjiiq9legfx****', 'title' => ''], ], [ 'name' => 'RouteSource', 'in' => 'query', 'schema' => ['description' => 'The source CIDR block of the policy-based route.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '192.168.1.0/24', 'title' => ''], ], [ 'name' => 'RouteDest', 'in' => 'query', 'schema' => ['description' => 'The destination CIDR block of the policy-based route.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '10.0.0.0/24', 'title' => ''], ], [ 'name' => 'NextHop', 'in' => 'query', 'schema' => ['description' => 'The next hop of the policy-based route.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vco-bp15oes1py4i66rmd****', 'title' => ''], ], [ 'name' => 'Weight', 'in' => 'query', 'schema' => ['description' => 'The weight of the policy-based route.'."\n" ."\n" .'You can call the [DescribeVpnPbrRouteEntries](~~2526959~~) operation to query the weight of the policy-based route.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '0', 'title' => ''], ], [ 'name' => 'OverlayMode', 'in' => 'query', 'schema' => ['description' => 'The tunneling protocol. Set the value to **Ipsec** (IPsec tunneling protocol).', 'type' => 'string', 'required' => false, 'example' => 'Ipsec', 'title' => ''], ], [ 'name' => 'Priority', 'in' => 'query', 'schema' => ['description' => 'The policy priority of the policy-based route.'."\n" ."\n" .'- If no policy priority was previously configured for the policy-based route, you do not need to specify this parameter.'."\n" .'- If a policy priority was previously configured for the policy-based route, this parameter is optional.'."\n" ."\n" .' If you specify this parameter, set it to the previously configured policy priority. If you set it to a different value, the operation fails.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'VpnGateway.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => ''], ['errorCode' => 'VpnRouteEntry.AlreadyExists', 'errorMessage' => 'The specified route entry is already exist.', 'description' => 'The route already exists.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified route entry has conflict.', 'description' => 'Route conflicts exist.'], ['errorCode' => 'VpnRouteEntry.Configuring', 'errorMessage' => 'The specified route entry is configuring.', 'description' => 'The error message returned because the specified route is being configured.'], ['errorCode' => 'InvalidRouteEntry.NotFound', 'errorMessage' => 'The specified route entry does not exist.', 'description' => 'The error message returned because the specified route does not exist.'], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', 'description' => 'Your requests are too frequent. Try again later.'], ['errorCode' => 'VpnTask.CONFLICT', 'errorMessage' => 'Vpn task has conflict.', 'description' => 'The VPN operation conflicts. Try again later.'], ['errorCode' => 'VpnPbrRouteEntry.NotSupport', 'errorMessage' => 'Current version of the VPN does not support pbr route entry.', 'description' => '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.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 1000, 'maxCallbackTimes' => 30], 'title' => 'Delete a policy-based route', 'description' => '- **DeleteVpnPbrRouteEntry** is an asynchronous operation. After you send a request, the system returns a request ID, but the policy-based routing is not yet deleted. The deletion node continues to run in the background. You can invoke the [DescribeVpnGateway](~~73720~~) operation to query the instance status of the VPN gateway to determine the deletion status of the policy-based routing:'."\n" .' - If the VPN gateway instance is in the **updating** state, the policy-based routing is being deleted.'."\n" .' - If the VPN gateway instance is in the **active** state, the policy-based routing is deleted.'."\n" .'- **DeleteVpnPbrRouteEntry** does not support concurrent deletion of policy-based routing for the same VPN gateway instance.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2022-12-13T03:56:52.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVpnPbrRouteEntry'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVpnPbrRouteEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\"\\n}","type":"json"}]', ], 'DeleteVpnRouteEntry' => [ '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' => 'The ID of the region where the VPN gateway is created. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou ', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => 'd7d24a21-f4ba-4454-9173-b3828dae492b ', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPN gateway.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpn-bp1a3kqjiiq9legfx****', 'title' => ''], ], [ 'name' => 'RouteDest', 'in' => 'query', 'schema' => ['description' => 'The destination CIDR block of the destination-based route.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '10.0.0.0/24 ', 'title' => ''], ], [ 'name' => 'NextHop', 'in' => 'query', 'schema' => ['description' => 'The next hop of the destination-based route.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vco-bp15oes1py4i66rmd****', 'title' => ''], ], [ 'name' => 'Weight', 'in' => 'query', 'schema' => ['description' => 'The weight of the destination-based route. Valid values:'."\n" ."\n" .'* **0**: a low priority'."\n" .'* **100**: a high priority'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '0', 'title' => ''], ], [ 'name' => 'OverlayMode', 'in' => 'query', 'schema' => ['description' => 'The tunneling protocol. Set the value to **Ipsec**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Ipsec', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE ', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'VpnGateway.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => ''], ['errorCode' => 'VpnRouteEntry.AlreadyExists', 'errorMessage' => 'The specified route entry is already exist.', 'description' => 'The route already exists.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified route entry has conflict.', 'description' => 'Route conflicts exist.'], ['errorCode' => 'VpnRouteEntry.Configuring', 'errorMessage' => 'The specified route entry is configuring.', 'description' => 'The error message returned because the specified route is being configured.'], ['errorCode' => 'InvalidRouteEntry.NotFound', 'errorMessage' => 'The specified route entry does not exist.', 'description' => 'The error message returned because the specified route does not exist.'], ['errorCode' => 'VpnTask.CONFLICT', 'errorMessage' => 'Vpn task has conflict.', 'description' => 'The VPN operation conflicts. Try again later.'], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', 'description' => 'Your requests are too frequent. Try again later.'], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 1000, 'maxCallbackTimes' => 30], 'title' => 'DeleteVpnRouteEntry', 'summary' => 'Deletes a destination-based route from a VPN gateway.', 'description' => '* **DeleteVpnRouteEntry** 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 [DescribeVpnGateway](~~73720~~) to query the status of the task.'."\n" ."\n" .' * If a VPN gateway is in the **updating** state, the destination-based route is being deleted.'."\n" .' * If the VPN gateway is in the **active** state, the destination-based route is deleted.'."\n" ."\n" .'* You cannot repeatedly call **DeleteVpnRouteEntry** to delete a destination-based route from a VPN gateway within the specified period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2022-12-13T03:56:53.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'DeletionProtection' => [ 'summary' => 'Enables or disables deletion protection for an instance.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the instance for which you want to enable or disable deletion protection. You can call [DescribeRegions](~~36063~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ProtectionEnable', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable deletion protection. Valid values:'."\n" ."\n" .'- **true**: enables deletion protection.'."\n" ."\n" .'- **false**: disables deletion protection.', 'type' => 'boolean', 'required' => true, 'example' => 'true', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', 'schema' => ['description' => 'The type of the instance for which you want to enable or disable deletion protection. Valid values:'."\n" ."\n" .'- **EIP**: elastic IP address (EIP).'."\n" ."\n" .'- **CBWP**: Internet Shared Bandwidth.'."\n" ."\n" .'- **NATGW**: NAT gateway.', 'type' => 'string', 'required' => true, 'example' => 'EIP', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance for which you want to set deletion protection in Settings.', 'type' => 'string', 'required' => true, 'example' => 'eip-uf6id7gvguruxe41v****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000 ', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the instance for which you want to enable or disable deletion protection. You can call [DescribeRegions](~~36063~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'BAAEF103-96C4-4454-9210-066F2405F511', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'DeletionProtection.ResourceNotExist', 'errorMessage' => 'The resource is not exist.', 'description' => 'The resource does not exist.'], ['errorCode' => 'DeletionProtection.PrePaidNotSupport', 'errorMessage' => 'The prepaid resource is not support.', 'description' => 'Subscription resources are not supported.'], ['errorCode' => 'DeletionProtection.TypeNotSupport', 'errorMessage' => 'The resource is not support.', 'description' => 'This type of resource is not supported.'], ['errorCode' => 'DeletionProtection.AlreadyEnabled', 'errorMessage' => 'The resource deletion protection is already enabled.', 'description' => 'Deletion protection is enabled.'], ['errorCode' => 'DeletionProtection.OwnerError', 'errorMessage' => 'The resource owner error.', 'description' => 'The operation is not allowed because the resource does not belong to you.'], ], 404 => [ ['errorCode' => 'InvalidAllocationId.NotFound', 'errorMessage' => 'Specified allocation ID is not found', 'description' => 'The specified EIP does not exist. Check whether the specified value is valid.'], ['errorCode' => 'DeletionProtection.NotExist', 'errorMessage' => 'The resource deletion protection is not found', 'description' => 'Deletion protection is disabled.'], ], ], 'title' => 'Instance deletion protection', 'description' => '## Operation description'."\n" ."\n" .'After you enable deletion protection for an instance, you cannot delete the instance. To delete the instance, disable deletion protection first.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-02-08T07:52:06.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-05-23T02:31:26.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2021-11-22T01:44:16.000Z', 'description' => 'Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeletionProtection'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeletionProtection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BAAEF103-96C4-4454-9210-066F2405F511\\"\\n}","type":"json"}]', ], 'Describe95Traffic' => [ 'summary' => 'Call the Describe95Traffic operation to query 95th percentile traffic data for Internet Shared Bandwidth billed based on the enhanced 95th percentile method.', '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' => 'The region ID of the resource.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => ['description' => 'The resource type. Only **cbwp** is supported, which represents Internet Shared Bandwidth.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cbwp', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The resource ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cbwp-wz9j19xrwf78fvz7*****', 'title' => ''], ], [ 'name' => 'Day', 'in' => 'query', 'schema' => ['description' => 'The date to query, in UTC+8. Format: YYYY-MM-DD.'."\n" ."\n" .'> You can query only data from last month or earlier.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2022-10-22', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The list of returned information.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], 'Traffic95Summary' => [ 'description' => 'The bandwidth statistics for Internet Shared Bandwidth billed by enhanced 95th percentile.', 'type' => 'object', 'properties' => [ 'InternetChargeType' => ['description' => 'The billing method of the Internet Shared Bandwidth instance on the queried date. Valid values:'."\n" ."\n" .'- **PayBy95**: pay-by-enhanced-95th-percentile'."\n" ."\n" .'- **PayByBandwidth**: pay-by-bandwidth'."\n" ."\n" .'- **PayByDominantTraffic**: pay-by-dominant-traffic', 'type' => 'string', 'example' => 'PayBy95', 'title' => ''], 'InstanceId' => ['description' => 'The resource ID.', 'type' => 'string', 'example' => 'cbwp-wz9j19xrwf78fvz7*****'."\n", 'title' => ''], 'Bandwidth' => ['description' => 'The peak bandwidth of the Internet Shared Bandwidth instance on the queried date. Unit: Mbps.', 'type' => 'integer', 'format' => 'int64', 'example' => '20000.0', 'title' => ''], 'FifthPeakBandwidth' => ['description' => 'The daily peak bandwidth. Unit: Mbps.'."\n" ."\n" .''."\n" ."\n" .'For more information, see [Daily peak bandwidth](~~89729~~).'."\n" ."\n" .'', 'type' => 'string', 'example' => '1064.244837773641', 'title' => ''], 'MinimumConsumeBandwidth' => ['description' => 'The minimum bandwidth commitment of the Internet Shared Bandwidth instance on the queried date. Unit: Mbps.', 'type' => 'string', 'example' => '0.0', 'title' => ''], 'Traffic95DetailList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Traffic95Detail' => [ 'description' => 'The list of average bandwidth values per 5 minutes for inbound and outbound directions on the queried date.', 'type' => 'array', 'items' => [ 'description' => 'The average bandwidth per 5-minute interval for inbound and outbound directions on the queried date, sampled at 5-minute granularity.', 'type' => 'object', 'properties' => [ 'Time' => ['description' => 'The timestamp (as a string).', 'type' => 'string', 'example' => '2024-01-01T00:00:00Z', 'title' => ''], 'BillBandwidth' => ['description' => 'The bandwidth value at the sampling point. This is the higher of the inbound or outbound bandwidth during the time interval. Unit: Mbps.', 'type' => 'string', 'example' => '118.5090322113037', 'title' => ''], 'OutBandwidth' => ['description' => 'The outbound bandwidth. Unit: Mbps.', 'type' => 'string', 'example' => '96.41217480977376', 'title' => ''], 'InBandwidth' => ['description' => 'The inbound bandwidth. Unit: Mbps.', 'type' => 'string', 'example' => '118.5090322113037', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidInstance.NotFound', 'errorMessage' => 'The specified Instance does not exist in the specified region.', 'description' => ''], ['errorCode' => 'IllegalParam.Day', 'errorMessage' => 'The specified parameter day is illegal.', 'description' => 'The specified input parameter Day is invalid.'], ['errorCode' => 'IllegalParam.ResourceType', 'errorMessage' => 'Invalid Resource Type value.', 'description' => 'The ResourceType parameter is not supported or set to an invalid value.'], ['errorCode' => 'OperationDenied.QueryCdt95Instance', 'errorMessage' => 'The operation is not allowed because of QueryCdt95Instance.', 'description' => 'The error message returned because you cannot query an EIP bandwidth plan connected to CDT.'], ['errorCode' => 'OperationUnsupported.QueryCurrentMonthTraffic', 'errorMessage' => 'The operation is not allowed because current month traffic query is not supported under 95 billing mode.', 'description' => 'Querying the current month traffic data in the 95 billing mode is not supported.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ], ], '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' => 'Describe95Traffic', 'changeSet' => [ ['createdAt' => '2024-08-19T02:26:04.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '180', 'countWindow' => 60, 'regionId' => '*', 'api' => 'Describe95Traffic'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:Describe95Traffic', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/{#BandwidthPackageId}'], ], ], ], ], ], 'DescribeAccessPoints' => [ 'summary' => 'Call the DescribeAccessPoints operation to query Express Connect access points in a specified region.', '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' => 'The ID of the region where the access point is located.'."\n" ."\n" .'You can call the [DescribeRegions](~~448570~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], ], [ 'name' => 'AcceptLanguage', 'in' => 'query', 'schema' => ['description' => 'The language of the response. Valid values:'."\n" ."\n" .'- **zh-CN**: Chinese.'."\n" ."\n" .'- **en-US** (default): English.', 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '3E85D803-C7CF-4BCD-9CFE-6DBA1DFFA027', 'title' => ''], 'PageNumber' => ['description' => 'The page number. Default: **1**.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page. Maximum: **50**. Default: **10**.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'AccessPointSet' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'AccessPointType' => [ 'description' => 'The list of access points.', 'type' => 'array', 'items' => [ 'description' => 'The details of an access point.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the access point.'."\n" ."\n" .'- **recommended**: The access point is operating normally.'."\n" ."\n" .'- **hot**: The access point is under heavy load but operating normally.'."\n" ."\n" .'- **full**: The access point is fully occupied and cannot accept new connections.'."\n" ."\n" .'- **disabled**: The access point is unavailable.', 'type' => 'string', 'example' => 'recommended', 'title' => ''], 'Type' => ['description' => 'The network type to which the access point provides access. Default: **VPC**.', 'type' => 'string', 'example' => 'VPC', 'title' => ''], 'HostOperator' => ['description' => 'The carrier of the access point.', 'type' => 'string', 'example' => '中国电信', 'title' => ''], 'Description' => ['description' => 'The description of the access point.', 'type' => 'string', 'example' => '接入点描述信息', 'title' => ''], 'AttachedRegionNo' => ['description' => 'The region ID of the access point.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'Name' => ['description' => 'The name of the access point.', 'type' => 'string', 'example' => '杭州-余杭-C', 'title' => ''], 'AccessPointId' => ['description' => 'The access point ID.', 'type' => 'string', 'example' => 'ap-cn-hangzhou-****', 'title' => ''], 'Location' => ['description' => 'The location of the access point.', 'type' => 'string', 'example' => '杭州', 'title' => ''], 'AccessPointFeatureModels' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'AccessPointFeatureModel' => [ 'description' => 'A list of features of the access point.', 'type' => 'array', 'items' => [ 'description' => 'A feature of the access point.', 'type' => 'object', 'properties' => [ 'FeatureValue' => ['description' => 'The value of the feature.', 'type' => 'string', 'example' => 'true', 'title' => ''], 'FeatureKey' => ['description' => 'The key of the feature.', 'type' => 'string', 'example' => 'AP_Support_VbrBandwidthLimit', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => 'A list of features of the access point.', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => 'The list of access points.', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidAccessPointType.NotSupport', 'errorMessage' => 'Invalid access point type.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotSupport', 'errorMessage' => 'The RegionId provided does not support in our records.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeAccessPoints', 'changeSet' => [ ['createdAt' => '2023-05-18T06:25:10.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAccessPoints'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'DescribeBgpGroups' => [ 'summary' => 'Queries Border Gateway Protocol (BGP) groups in a region.', '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' => 'The ID of the virtual border router (VBR) that is associated with the BGP group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vbr-bp1ctxy813985gkuk****', 'title' => ''], ], [ 'name' => 'BgpGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the BGP group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'bgpg-bp1k25cyp26cllath****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region in which the VBR is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'IsDefault', 'in' => 'query', 'schema' => ['description' => 'Specifies whether the BGP group is the default one. Valid values:'."\n" ."\n" .'* **false**'."\n" .'* **true**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. The maximum value is **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '1D0971B2-A35A-42C1-A44C-E91360C36C0B', 'title' => ''], 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'BgpGroups' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'BgpGroup' => [ 'description' => 'The detailed information about the BGP group.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the BGP group.'."\n", 'type' => 'string', 'example' => 'Available', 'title' => ''], 'BgpGroupId' => ['description' => 'The ID of the BGP group.'."\n", 'type' => 'string', 'example' => 'bgpg-bp1k25cyp26cllath****', 'title' => ''], 'RouterId' => ['description' => 'The ID of the VBR.'."\n", 'type' => 'string', 'example' => 'vbr-bp1ctxy813985gkuk****', 'title' => ''], 'PeerAsn' => ['description' => 'The autonomous system number (ASN) of the on-premises device in the data center.'."\n", 'type' => 'string', 'example' => '1****', 'title' => ''], 'LocalAsn' => ['description' => 'The ASN of the device on the Alibaba Cloud side.'."\n", 'type' => 'string', 'example' => '45104', 'title' => ''], 'RegionId' => ['description' => 'The ID of the region to which the BGP group belongs.'."\n", 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''], 'Hold' => ['description' => 'The hold time to receive BGP messages. Unit: seconds.'."\n" ."\n" .'> If no message is received within the hold time, the BGP peer is considered disconnected.'."\n", 'type' => 'string', 'example' => '30', 'title' => ''], 'IpVersion' => ['description' => 'The IP version of the BGP group. Valid values:'."\n" ."\n" .'* **ipv4**: IPv4'."\n" .'* **ipv6**: IPv6. IPv6 is supported only if the VBR of the BGP group has IPv6 enabled.'."\n", 'type' => 'string', 'example' => 'IPv4', 'title' => ''], 'Description' => ['description' => 'The description of the BGP group.'."\n", 'type' => 'string', 'example' => 'BGP组描述。', 'title' => ''], 'Keepalive' => ['description' => 'The keepalive time. Unit: seconds.'."\n", 'type' => 'string', 'example' => '10', 'title' => ''], 'IsFake' => ['description' => 'Indicates whether the ASN is fake. Valid values:'."\n" ."\n" .'* **false**'."\n" .'* **true**'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], 'RouteLimit' => ['description' => 'The maximum number of route entries for BGP dynamic route learning.'."\n", 'type' => 'string', 'example' => '99', 'title' => ''], 'Name' => ['description' => 'The name of the BGP group.'."\n", 'type' => 'string', 'example' => 'name', 'title' => ''], 'AuthKey' => ['description' => 'The key used by the BGP group.'."\n", 'type' => 'string', 'example' => '!PWZ****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IellgalParameter.OwnerAccount', 'errorMessage' => 'The specified parameter OwnerAccount is not valid.', 'description' => 'The specified parameter OwnerAccount is illegal.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeBgpGroups', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], '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":"","errorExample":""}]', ], 'DescribeBgpNetworks' => [ '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' => 'The ID of the VBR.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vbr-bp1ctxy813985gkuk****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the BGP group.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The number of the returned page. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. The maximum value is **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The number of entries per page.'."\n", 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6F513A15-669F-419D-B511-08A85292059B', 'title' => ''], 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of advertised BGP networks.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'BgpNetworks' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'BgpNetwork' => [ 'description' => 'BGP networks.'."\n", 'type' => 'array', 'items' => [ 'description' => 'BGP networks.'."\n", 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the advertised BGP network.'."\n", 'type' => 'string', 'example' => 'Enabled', 'title' => ''], 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC) in which the master instance resides.'."\n", 'type' => 'string', 'example' => 'vpc-bp1qpo0kug3a2*****', 'title' => ''], 'DstCidrBlock' => ['description' => 'The CIDR block of the advertised BGP network.'."\n", 'type' => 'string', 'example' => '10.1.XX.XX/24', 'title' => ''], 'RouterId' => ['description' => 'The ID of the VBR.'."\n", 'type' => 'string', 'example' => 'vbr-bp1ctxy813985gkuk****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeBgpNetworks', 'summary' => 'Queries advertised Border Gateway Protocol (BGP) networks.', 'changeSet' => [], 'ramActions' => [], '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":""}]', ], 'DescribeBgpPeers' => [ 'summary' => 'Queries Border Gateway Protocol (BGP) peers in a region.', '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' => 'The ID of the virtual border router (VBR) that is associated with the BGP peer that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vbr-2zecmmvg5gvu8i4te****', 'title' => ''], ], [ 'name' => 'BgpPeerId', 'in' => 'query', 'schema' => ['description' => 'The ID of the BGP peer that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'bgp-2ze3un0ft1jd1xd****', 'title' => ''], ], [ 'name' => 'BgpGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the BGP group to which the BGP peer that you want to query belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'bgpg-2zev8h2wo414sfh****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the BGP group to which the BGP peer that you want to query belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'IsDefault', 'in' => 'query', 'schema' => ['description' => 'Specifies whether the BGP group is the default group. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Valid values: **1 to 50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The information about the BGP peer.'."\n", 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', 'title' => ''], 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'BgpPeers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'BgpPeer' => [ 'description' => 'The information about the BGP peer.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the BGP peer. Valid values:'."\n" ."\n" .'* **Pending**'."\n" .'* **Available**'."\n" .'* **Modifying**'."\n" .'* **Deleting**'."\n" .'* **Deleted**'."\n", 'type' => 'string', 'example' => 'Available', 'title' => ''], 'PeerIpAddress' => ['description' => 'The IP address of the BGP peer.'."\n", 'type' => 'string', 'example' => '116.62.XX.XX', 'title' => ''], 'RouterId' => ['description' => 'The Router ID.'."\n", 'type' => 'string', 'example' => 'vbr-2zecmmvg5gvu8i4te****', 'title' => ''], 'BgpGroupId' => ['description' => 'The ID of the BGP group.'."\n", 'type' => 'string', 'example' => 'bgpg-2zev8h2wo414sfh****', 'title' => ''], 'BgpStatus' => ['description' => 'The status of the BGP connection. Valid values:'."\n" ."\n" .'* **Idle**: The BGP connection is not used.'."\n" .'* **Connect**: The BGP connection is used.'."\n" .'* **Active**: The BGP connection is available.'."\n" .'* **Established**: The BGP connection is established.'."\n" .'* **Down**: The BGP connection is unavailable.'."\n", 'type' => 'string', 'example' => 'Connect', 'title' => ''], 'BfdMultiHop' => ['description' => 'The Bidirectional Forwarding Detection (BFD) hop count.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], 'PeerAsn' => ['description' => 'The autonomous system number (ASN)of the BGP peer.'."\n", 'type' => 'string', 'example' => '65515', 'title' => ''], 'LocalAsn' => ['description' => 'The ASN of the device on the Alibaba Cloud side.'."\n", 'type' => 'string', 'example' => '45104', 'title' => ''], 'RegionId' => ['description' => 'The ID of the region to which the BGP group belongs.'."\n", 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''], 'BgpPeerId' => ['description' => 'The ID of the BGP peer.'."\n", 'type' => 'string', 'example' => 'bgp-2ze3un0ft1jd1xd****', 'title' => ''], 'EnableBfd' => ['description' => 'Indicates whether BFD is enabled. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Hold' => ['description' => 'The hold time.'."\n", 'type' => 'string', 'example' => '30', 'title' => ''], 'IpVersion' => ['description' => 'The version of the IP address.'."\n", 'type' => 'string', 'example' => 'ipv4', 'title' => ''], 'Keepalive' => ['description' => 'The Keepalive interval.'."\n", 'type' => 'string', 'example' => '10', 'title' => ''], 'Description' => ['description' => 'The description of the BGP group.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'RouteLimit' => ['description' => 'The maximum number of routes.'."\n", 'type' => 'string', 'example' => '110', 'title' => ''], 'IsFake' => ['description' => 'Indicates whether a fake autonomous system number (ASN) is used. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'AuthKey' => ['description' => 'The authentication key of the BGP group.'."\n", 'type' => 'string', 'example' => '!PWZ****', 'title' => ''], 'Name' => ['description' => 'The name of the BGP peer.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'AdvertisedRouteCount' => ['description' => 'The number of advertised routes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'ReceivedRouteCount' => ['description' => 'The number of received routes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'GmtModified' => ['description' => 'The time when the BGP peer is modified.'."\n", 'type' => 'string', 'format' => 'iso8601', 'example' => '2022-05-20T07:29:08Z', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => 'The request failed due to a temporary server error.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeBgpPeers', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-05-08T02:53:52.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-17T06:33:02.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-11-17T06:33:02.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], '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":""}]', ], 'DescribeCommonBandwidthPackages' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IncludeReservationData', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to return the information about pending orders. Valid values:'."\n" ."\n" .'* **false** (default)'."\n" .'* **true**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the Internet Shared Bandwidth instance resides.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'BandwidthPackageId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet Shared Bandwidth instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cbwp-2ze2ic1xd2qeqk145****', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the Internet Shared Bandwidth instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test123', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Valid values: **1 to 50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and instance status. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags to add to the Internet Shared Bandwidth instance.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key to add to the Internet Shared Bandwidth instance. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'KeyTest', 'title' => ''], 'Value' => ['description' => 'The tag value to add to the Internet Shared Bandwidth instance. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ValueTest', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], [ 'name' => 'SecurityProtectionEnabled', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Specifies whether to enable Anti-DDoS Pro/Premium. Valid values:'."\n" ."\n" .'* **false** (default)'."\n" .'* **true**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '20E6FD1C-7321-4DAD-BDFD-EC8769E4AA33', 'title' => ''], 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'CommonBandwidthPackages' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'CommonBandwidthPackage' => [ 'description' => 'The details of the Internet Shared Bandwidth instance.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'ReservationActiveTime' => ['description' => 'The time when the renewal took effect. The time is displayed in the `YYYY-MM-DDThh:mm:ssZ` format.'."\n", 'type' => 'string', 'example' => '2018-08-30T16:00:00Z', 'title' => ''], 'Status' => ['description' => 'The status of the Internet Shared Bandwidth instance. Valid values:'."\n" ."\n" .'* **Available**: The Internet Shared Bandwidth instance is available.'."\n" .'* **Modifying**: The Internet Shared Bandwidth instance is being modified.'."\n", 'type' => 'string', 'example' => 'Available', 'title' => ''], 'CreationTime' => ['description' => 'The time when the Internet Shared Bandwidth instance was created. The time is displayed in the `YYYY-MM-DDThh:mm:ssZ` format.'."\n", 'type' => 'string', 'example' => '2017-06-28T06:39:20Z', 'title' => ''], 'ReservationOrderType' => ['description' => 'The renewal method. Valid values:'."\n" ."\n" .'* **RENEWCHANGE**: renewal with a specification change'."\n" .'* **TEMP_UPGRADE**: renewal with a temporary upgrade'."\n" .'* **UPGRADE**: renewal with an upgrade'."\n", 'type' => 'string', 'example' => 'RENEWCHANGE', 'title' => ''], 'DeletionProtection' => ['description' => 'Indicates whether deletion protection is enabled. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ReservationInternetChargeType' => ['description' => 'The metering method after the configurations are changed. Valid value:'."\n" ."\n" .'**PayByTraffic**'."\n", 'type' => 'string', 'example' => 'PayByBandwidth', 'title' => ''], 'Ratio' => ['description' => 'The percentage of the minimum bandwidth commitment. Only **20** is returned.'."\n" ."\n" .'> This parameter is supported only on the Alibaba Cloud China site.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'InstanceChargeType' => ['description' => 'The billing method of the Internet Shared Bandwidth instance. Valid value:'."\n" ."\n" .'**PostPaid**: pay-as-you-go'."\n", 'type' => 'string', 'example' => 'PostPaid', 'title' => ''], 'RegionId' => ['description' => 'The ID of the region where the Internet Shared Bandwidth instance resides.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'BandwidthPackageId' => ['description' => 'The ID of the Internet Shared Bandwidth instance.'."\n", 'type' => 'string', 'example' => 'cbwp-bp1t3sm1ffzmshdki****', 'title' => ''], 'ServiceManaged' => ['description' => 'Indicates whether the resource is created by the service account. Valid values:'."\n" ."\n" .'* **0**: The resource is not created by the service account.'."\n" .'* **1**: The resource is created by the service account.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Bandwidth' => ['description' => 'The maximum bandwidth of the Internet Shared Bandwidth instance. Unit: Mbit/s.'."\n", 'type' => 'string', 'example' => '20', 'title' => ''], 'Description' => ['description' => 'The description of the Internet Shared Bandwidth instance.'."\n", 'type' => 'string', 'example' => 'none', 'title' => ''], 'ExpiredTime' => ['description' => 'The time when the Internet Shared Bandwidth instance expired. The time is displayed in the `YYYY-MM-DDThh:mm:ssZ` format.'."\n", 'type' => 'string', 'example' => '2019-01-15T03:08:37Z', 'title' => ''], 'ReservationBandwidth' => ['description' => 'The new maximum bandwidth after the configurations are changed. Unit: Mbit/s.'."\n", 'type' => 'string', 'example' => '1000', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'example' => 'rg-acfmxazb4ph****', 'title' => ''], 'InternetChargeType' => ['description' => 'The metering method of the Internet Shared Bandwidth instance. Valid value:'."\n" ."\n" .'**PayByTraffic**'."\n", 'type' => 'string', 'example' => 'PayByBandwidth', 'title' => ''], 'BusinessStatus' => ['description' => 'The service status of the Internet Shared Bandwidth instance. Valid values:'."\n" ."\n" .'* **Normal**: The Internet Shared Bandwidth instance runs as expected.'."\n" .'* **FinancialLocked**: An overdue payment occurs in the Internet Shared Bandwidth instance'."\n" .'* **Unactivated**: The Internet Shared Bandwidth instance is not activated.'."\n", 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'Name' => ['description' => 'The name of the Internet Shared Bandwidth instance.'."\n", 'type' => 'string', 'example' => 'abc', 'title' => ''], 'ISP' => ['description' => 'The line type. Valid values:'."\n" ."\n" .'* **BGP**: BGP (Multi-ISP) line The BGP (Multi-ISP) line is supported in all regions.'."\n" .'* **BGP_PRO**: BGP (Multi-ISP) Pro line The BGP (Multi-ISP) Pro line is supported in the China (Hong Kong), Singapore (Singapore), Japan (Tokyo), Philippines (Manila), Malaysia (Kuala Lumpur), Indonesia (Jakarta), and Thailand (Bangkok) regions.'."\n" ."\n" .'If you are allowed to use single-ISP bandwidth, one of the following values is returned:'."\n" ."\n" .'* **ChinaTelecom**'."\n" .'* **ChinaUnicom**'."\n" .'* **ChinaMobile**'."\n" .'* **ChinaTelecom_L2**'."\n" .'* **ChinaUnicom_L2**'."\n" .'* **ChinaMobile_L2**'."\n" ."\n" .'If your services are deployed in China East 1 Finance, **BGP_FinanceCloud** is returned.'."\n", 'type' => 'string', 'example' => 'BGP', 'title' => ''], 'HasReservationData' => ['description' => 'Indicates whether the information about pending orders is returned. Valid values:'."\n" ."\n" .'* **false**'."\n" .'* **true**'."\n", 'type' => 'string', 'example' => 'false', 'title' => ''], 'PublicIpAddresses' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'PublicIpAddresse' => [ 'description' => 'The elastic IP addresses (EIPs) that are associated with the Internet Shared Bandwidth instance.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'IpAddress' => ['description' => 'The public IP address.'."\n", 'type' => 'string', 'example' => '47.95.XX.XX', 'title' => ''], 'AllocationId' => ['description' => 'The ID of the EIP.'."\n", 'type' => 'string', 'example' => 'eip-bp13e9i2qst4g6jzi****', 'title' => ''], 'BandwidthPackageIpRelationStatus' => ['description' => 'Indicates whether the EIP is associated with the Internet Shared Bandwidth instance. Valid values:'."\n" ."\n" .'* **BINDED**'."\n" .'* **BINDING**'."\n", 'type' => 'string', 'example' => 'BINDED', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'SecurityProtectionTypes' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SecurityProtectionType' => [ 'description' => 'The editions of Anti-DDoS.'."\n" ."\n" .'* If this parameter is empty, Anti-DDoS Origin Basic is enabled.'."\n" .'* If **AntiDDoS_Enhanced** is returned, Anti-DDoS Pro/Premium is enabled.'."\n", 'type' => 'array', 'items' => ['description' => 'The edition of Anti-DDoS.'."\n" ."\n" .'* If this parameter is empty, Anti-DDoS Origin Basic is enabled.'."\n" .'* If **AntiDDoS_Enhanced** is returned, Anti-DDoS Pro/Premium is enabled.'."\n", 'type' => 'string', 'example' => 'AntiDDoS_Enhanced', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The tag that is added to the Internet Shared Bandwidth instance.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key that is added to the Internet Shared Bandwidth instance.'."\n", 'type' => 'string', 'example' => 'KeyTest', 'title' => ''], 'Value' => ['description' => 'The tag value that is added to the Internet Shared Bandwidth instance.'."\n", 'type' => 'string', 'example' => 'ValueTest', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'BizType' => ['description' => 'The service type of the Internet Shared Bandwidth instance. Valid values:'."\n" ."\n" .'* **CloudBox** The cloud box. Only cloud box users can select this type.'."\n" .'* **Default** (default): The general service type.'."\n", 'type' => 'string', 'example' => 'CloudBox', 'title' => ''], 'Zone' => ['description' => 'The zone of the Internet Shared Bandwidth instance. This parameter is returned only when BizType is set to CloudBox. If BizType is set to Default, an empty value is returned.'."\n", 'type' => 'string', 'example' => 'ap-southeast-1-lzdvn-cb', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidBandwidthPackageIdNumber.NotSupported', 'errorMessage' => 'The number of BandwidthPackageIds exceeds the limit.', 'description' => 'The number of BandwidthPackageIds exceeds the limit.'], ['errorCode' => 'InvalidResourceGroupId', 'errorMessage' => 'The specified ResourceGroupId does not exist.', 'description' => 'The specified resource group ID does not exist.'], ['errorCode' => 'OperationUnsupported.ResourceGroupId', 'errorMessage' => 'ResourceGroup is not supported in this region.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ], ], 'title' => 'DescribeCommonBandwidthPackages', 'summary' => 'Queries a list of Internet Shared Bandwidth instances in a region.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-08-08T02:41:57.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-06-12T09:53:45.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-05-17T09:49:58.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], '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","errorExample":""}]', ], 'DescribeCustomerGateway' => [ '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' => 'The ID of the region where the customer gateway is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'CustomerGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the customer gateway.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cgw-bp1pvpl9r9adju6l5****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'Asn' => ['description' => 'The autonomous system number (ASN) of the gateway device in the data center.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '65535', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'A0457BC9-6C0F-4437-AB9D-FB2EABC1D6A2', 'title' => ''], 'IpAddress' => ['description' => 'The IP address of the gateway device in the data center.'."\n", 'type' => 'string', 'example' => '139.32.XX.XX', 'title' => ''], 'Description' => ['description' => 'The description of the customer gateway.'."\n", 'type' => 'string', 'example' => 'desctest', 'title' => ''], 'CustomerGatewayId' => ['description' => 'The ID of the customer gateway.'."\n", 'type' => 'string', 'example' => 'cgw-bp1pvpl9r9adju6l5****', 'title' => ''], 'CreateTime' => ['description' => 'The timestamp generated when the customer gateway was created. Unit: milliseconds.'."\n" ."\n" .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1492747187000', 'title' => ''], 'Name' => ['description' => 'The name of the customer gateway.'."\n", 'type' => 'string', 'example' => 'nametest', 'title' => ''], 'AuthKey' => ['description' => 'The authentication key of the Border Gateway Protocol (BGP) routing protocol for the gateway device in the data center.'."\n", 'type' => 'string', 'example' => 'AuthKey****', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The list of tags added to the customer gateway.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'TagKey', 'title' => ''], 'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'example' => 'TagValue', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the customer gateway belongs.'."\n" ."\n" .'You can call the [ListResourceGroups](~~158855~~) operation to query resource groups.'."\n", 'type' => 'string', 'example' => 'rg-acfmzs372yg****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbidden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => 'The error message returned because you are unauthorized to perform this operation on the specified resource. Acquire the required permissions and try again.'], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidCustomerGatewayInstanceId.NotFound', 'errorMessage' => 'The specified customer gateway instance id does not exist.', 'description' => 'The specified customer gateway does not exist. Check whether the ID of the customer gateway is correct.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeCustomerGateway', 'summary' => 'Queries details of a customer gateway.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-10-19T07:04:01.000Z', 'description' => 'Response parameters changed, Response parameters changed'], ['createdAt' => '2022-12-27T12:19:51.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-12-27T03:28:33.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'DescribeCustomerGateways' => [ 'summary' => 'Queries information about customer gateways.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the customer gateway. '."\n" ."\n" .'You can call [DescribeRegions](~~36063~~) to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'CustomerGatewayId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the customer gateway. '."\n" ."\n" .'> If you do not specify the instance ID of a customer gateway, the system queries information about all customer gateways in the current region by default.', 'type' => 'string', 'required' => false, 'example' => 'cgw-bp1pvpl9r9adju6l5****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number of the list. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page in a paged query. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tags bound to the customer gateway.', 'type' => 'array', 'items' => [ 'description' => 'The tag information.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. If you specify this parameter, the value cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n" ."\n" .'You can specify up to 20 tag keys at a time.', 'type' => 'string', 'required' => false, 'example' => 'TagKey', 'title' => ''], 'Value' => ['description' => 'The tag value.'."\n" ."\n" .'The tag value can be up to 128 characters in length and can be an empty string. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.'."\n" ."\n" .'Each tag key corresponds to one tag value. You can specify up to 20 tag values at a time.', 'type' => 'string', 'required' => false, 'example' => 'TagValue', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the customer gateway belongs.'."\n" ."\n" .'You can call [ListResourceGroups](~~158855~~) to query resource group IDs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzs372yg****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page in a paging query.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E82612A9-CB90-4D7E-B394-1DB7F6509B29', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries in the list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'CustomerGateways' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'CustomerGateway' => [ 'description' => 'The list of customer gateways.', 'type' => 'array', 'items' => [ 'description' => 'The information about the customer gateway.', 'type' => 'object', 'properties' => [ 'IpAddress' => ['description' => 'The IP address of the gateway device in the on-premises data center.', 'type' => 'string', 'example' => '139.32.XX.XX', 'title' => ''], 'Asn' => ['description' => 'The autonomous system number of the gateway device in the on-premises data center.', 'type' => 'integer', 'format' => 'int64', 'example' => '65530', 'title' => ''], 'Description' => ['description' => 'The description of the customer gateway.', 'type' => 'string', 'example' => 'desctest', 'title' => ''], 'CustomerGatewayId' => ['description' => 'The instance ID of the customer gateway.', 'type' => 'string', 'example' => 'cgw-bp1pvpl9r9adju6l5****', 'title' => ''], 'CreateTime' => ['description' => 'The timestamp when the customer gateway was created. Unit: milliseconds.'."\n" ."\n" .'The timestamp is in the UNIX format and represents the total number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1492747187000', 'title' => ''], 'Name' => ['description' => 'The name of the customer gateway.', 'type' => 'string', 'example' => 'nametest', 'title' => ''], 'AuthKey' => ['description' => 'The authentication key of the BGP routing protocol for the gateway device in the on-premises data center.', 'type' => 'string', 'example' => 'AuthKey****', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The list of tags bound to the customer gateway.', 'type' => 'array', 'items' => [ 'description' => 'The tag information.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'TagKey', 'title' => ''], 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'TagValue', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the customer gateway belongs.'."\n" ."\n" .'You can call [ListResourceGroups](~~158855~~) to query resource group information.', 'type' => 'string', 'example' => 'rg-acfmzs372yg****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Forbidden.TagKey.Duplicated', 'errorMessage' => 'The specified tag key already exists.', 'description' => 'The tag resources are duplicate.'], ['errorCode' => 'SizeLimitExceeded.TagNum', 'errorMessage' => 'The maximum number of tags is exceeded.', 'description' => 'The number of tags has reached the upper limit.'], ['errorCode' => 'InvalidParameter.TagValue', 'errorMessage' => 'The specified parameter TagValue is invalid.', 'description' => 'The error message returned because the specified tag value is invalid.'], ['errorCode' => 'InvalidParameter.TagKey', 'errorMessage' => 'The specified parameter TagKey is invalid.', 'description' => 'The error message returned because the specified tag key is invalid.'], ['errorCode' => 'Duplicated.TagKey', 'errorMessage' => 'The specified parameter TagKey is duplicated.', 'description' => 'The error message returned because the specified tag key already exists.'], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query created customer gateways', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-10-19T07:04:01.000Z', 'description' => 'Request parameters changed, Response parameters changed, Response parameters changed'], ['createdAt' => '2022-12-27T12:19:50.000Z', 'description' => 'Error codes changed, Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCustomerGateways'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeCustomerGateways', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'CustomerGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:customergateway/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'CustomerGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:customergateway/{#CustomerGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeEcGrantRelation' => [ 'summary' => 'Queries whether permissions on a virtual private cloud (VPC) are granted to a virtual border router (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' => 'The type of instance. Valid values:'."\n" ."\n" .'* **VBR**: queries the permissions that are granted to a VBR.'."\n" .'* **VPC**: queries the permissions that are granted from a VPC.'."\n", 'type' => 'string', 'required' => true, 'example' => 'VBR', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance.'."\n" ."\n" .'* If you set **InstanceType** to **VBR**, specify a VBR ID.'."\n" .'* If you set **InstanceType** to **VPC**, specify a VPC ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vbr-bp12mw1f8k3jgygk9****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'VbrRegionNo', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the instance is deployed.'."\n" ."\n" .'* If **InstanceType** is set to **VBR**, this parameter is required.'."\n" .'* If **InstanceType** is set to **VPC**, you can ignore this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E6E90F6B-2B41-5AAF-ABEB-236ADBAAD91D'], 'EcGrantRelations' => [ 'description' => 'The query results.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'VbrOwnerUid' => ['description' => 'The ID of the Alibaba Cloud account to which the VBR belongs.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1210123456123456', 'title' => ''], 'VbrInstanceId' => ['description' => 'The ID of the VBR.'."\n", 'type' => 'string', 'example' => 'vbr-m5ex0xf63xk8s5bob****', 'title' => ''], 'InstanceId' => ['description' => 'The ID of the VPC.'."\n", 'type' => 'string', 'example' => 'vpc-bp1brjuegjc88v3u9****', 'title' => ''], 'AliUid' => ['description' => 'The ID of the Alibaba Cloud account to which the VPC belongs.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1250123456123456', 'title' => ''], 'RegionNo' => ['description' => 'The ID of the region where the VPC is deployed.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'Status' => ['description' => 'The query result. Valid values:'."\n" ."\n" .'* **Created**: The VBR has permissions on the VPC.'."\n" .'* **Deleted**: The VBR does not have permissions on the VPC.'."\n", 'type' => 'string', 'example' => 'Created', 'title' => ''], 'InstanceName' => ['description' => 'The name of the VPC.'."\n", 'type' => 'string', 'example' => 'VPCname', 'title' => ''], 'InstanceRouterId' => ['description' => 'The ID of the vRouter.'."\n", 'type' => 'string', 'example' => 'vrt-bp1i0yzgjd8ra05ec****', 'title' => ''], 'VbrRegionNo' => ['description' => 'The ID of the region where the VBR is deployed.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'GmtCreate' => ['description' => 'The time when permissions on the VPC were granted to the VBR.'."\n", 'type' => 'string', 'example' => '2022-09-02T11:46Z', 'title' => ''], 'GrantType' => ['description' => 'The VBRs that have permissions on the VPC. Valid values:'."\n" ."\n" .'* **All**: VBRs that reside in the specified region and belong to the specified Alibaba Cloud account all have permissions on the VPC.'."\n" .'* **Specify**: Only the specified VBR has permissions on the VPC.'."\n", 'type' => 'string', 'example' => 'All', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Count' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Page' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParam.NotNull', 'errorMessage' => 'The parameter must not be null.', 'description' => ''], ['errorCode' => 'Parameter.Illegal', 'errorMessage' => 'The parameter is illegal.', 'description' => 'The parameter is invalid.'], ['errorCode' => 'Instance.StatusError', 'errorMessage' => 'The status of instance error. ', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The regionId provided does not exist in ec region list.', 'description' => ''], ], 404 => [ ['errorCode' => 'VRouterId.NotFound', 'errorMessage' => 'The VRouter not found.', 'description' => 'The specified vRouter cannot be found.'], ['errorCode' => 'Instance.NotExist', 'errorMessage' => 'The instance not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeEcGrantRelation', 'changeSet' => [ ['createdAt' => '2024-11-12T08:03:53.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-08-16T02:04:29.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], '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":""}]', ], 'DescribeEipAddresses' => [ 'summary' => 'Queries elastic IP addresses (EIPs) created in a region.', 'methods' => ['post', 'get', 'head'], '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' => 'The region ID of the EIP.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'IncludeReservationData', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to return information about pending orders. Valid values:'."\n" ."\n" .'* **false** (default)'."\n" .'* **true**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'The state of the EIP. Valid values:'."\n" ."\n" .'* **Associating**'."\n" .'* **Unassociating**'."\n" .'* **InUse**'."\n" .'* **Available**'."\n" .'* **Releasing**'."\n", 'type' => 'string', 'required' => false, 'example' => 'Available', 'title' => ''], ], [ 'name' => 'EipAddress', 'in' => 'query', 'schema' => ['description' => 'The EIP that you want to query.'."\n" ."\n" .'You can specify up to 50 EIPs. Separate multiple EIPs with commas (,).'."\n" ."\n" .'> If both **EipAddress** and **AllocationId** are specified, you can specify up to 50 EIPs for **EipAddress**, and specify up to 50 EIP IDs for **AllocationId**.'."\n", 'type' => 'string', 'required' => false, 'example' => '47.75.XX.XX', 'title' => ''], ], [ 'name' => 'AllocationId', 'in' => 'query', 'schema' => ['description' => 'The ID of the EIP that you want to query.'."\n" ."\n" .'You can specify up to 50 EIP IDs. Separate multiple IDs with commas (,).'."\n" ."\n" .'> If both **EipAddress** and **AllocationId** are specified, you can specify up to 50 EIP IDs for **AllocationId**, and specify up to 50 EIPs for **EipAddress**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'eip-2zeerraiwb7ujxscd****', 'title' => ''], ], [ 'name' => 'SegmentInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the contiguous EIP group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'eipsg-t4nr90yik5oy38xdy****', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the EIP belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4pcdvf****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '10', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to **100**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], ], [ 'name' => 'ISP', 'in' => 'query', 'schema' => ['description' => 'The line type. Valid values:'."\n" ."\n" .'* **BGP** (default): Border Gateway Protocol (BGP) (Multi-ISP) lines. All regions support BGP (Multi-ISP) EIPs.'."\n" .'* **BGP_PRO**: BGP (Multi-ISP) Pro lines. Only the following regions support BGP (Multi-ISP) Pro lines: China (Hong Kong), Singapore, Japan (Tokyo), Malaysia (Kuala Lumpur), Philippines (Manila), Indonesia (Jakarta), and Thailand (Bangkok).'."\n" ."\n" .'For more information about BGP (Multi-ISP) and BGP (Multi-ISP) Pro, see the [Line types](~~32321~~) section of the "What is EIP?" topic.'."\n" ."\n" .'If you are allowed to use single-ISP bandwidth, you can also use one of the following values:'."\n" ."\n" .'* **ChinaTelecom**'."\n" .'* **ChinaUnicom**'."\n" .'* **ChinaMobile**'."\n" .'* **ChinaTelecom_L2**'."\n" .'* **ChinaUnicom_L2**'."\n" .'* **ChinaMobile_L2**'."\n" ."\n" .'If your services are deployed in China East 1 Finance, this parameter is required and you must set the value to **BGP_FinanceCloud**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'BGP', 'title' => ''], ], [ 'name' => 'Filter.1.Key', 'in' => 'query', 'schema' => ['description' => 'The filter key used to query resources. Set the value to **CreationStartTime**, which specifies the time when the system started to create the resource.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CreationStartTime', 'title' => ''], ], [ 'name' => 'Filter.2.Key', 'in' => 'query', 'schema' => ['description' => 'The filter key used to query resources. Set the value to **CreationEndTime**, which specifies the time when the system finished creating the resource.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CreationEndTime', 'title' => ''], ], [ 'name' => 'Filter.1.Value', 'in' => 'query', 'schema' => ['description' => 'The filter value used to query resources. Specify the time in the ISO 8601 standard in the `YYYY-MM-DDThh:mmZ` format. The time must be in Coordinated Universal Time (UTC).'."\n", 'type' => 'string', 'required' => false, 'example' => '2023-01-01T01:00Z', 'title' => ''], ], [ 'name' => 'Filter.2.Value', 'in' => 'query', 'schema' => ['description' => 'The filter value used to query resources. Specify the time in the ISO 8601 standard in the `YYYY-MM-DDThh:mmZ` format. The time must be in UTC.'."\n", 'type' => 'string', 'required' => false, 'example' => '2023-01-06T02:00Z', 'title' => ''], ], [ 'name' => 'LockReason', 'in' => 'query', 'schema' => ['description' => 'The reason why the EIP is locked. Valid values:'."\n" ."\n" .'* **financial**: The EIP is locked due to overdue payments.'."\n" .'* **security**: The EIP is locked for security reasons.'."\n", 'type' => 'string', 'required' => false, 'example' => 'financial', 'title' => ''], ], [ 'name' => 'AssociatedInstanceType', 'in' => 'query', 'schema' => ['description' => 'The type of the cloud resource with which you want to associate the EIP. Valid values:'."\n" ."\n" .'* **EcsInstance** (default): an Elastic Compute Service (ECS) instance in a virtual private cloud (VPC).'."\n" .'* **SlbInstance**: a CLB instance in a VPC.'."\n" .'* **Nat**: a NAT gateway.'."\n" .'* **HaVip**: an HAVIP.'."\n" .'* **NetworkInterface**: a secondary ENI.'."\n" .'* **IpAddress**: an IP address.'."\n" ."\n" .'> Each ECS instance, CLB instance, HAVIP, and IP address can be associated with only one EIP. A NAT gateway can be associated with multiple EIPs. The number of EIPs that you can associate with a secondary ENI depends on the association mode. For more information, see [Associate EIPs with and disassociate EIPs from cloud resources](~~72125~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'EcsInstance', 'title' => ''], ], [ 'name' => 'AssociatedInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance associated with the EIP.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-2zebb08phyccdvf****', 'title' => ''], ], [ 'name' => 'ChargeType', 'in' => 'query', 'schema' => ['description' => 'The billing method of the EIP. Valid values:'."\n" ."\n" .'* **PostPaid**: pay-as-you-go.'."\n" .'* **PrePaid**: subscription.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PostPaid', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'EipName', 'in' => 'query', 'schema' => ['description' => 'The name of the EIP.'."\n" ."\n" .'The name must be 1 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'EIP-01', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags used to filter EIPs.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The tags.'."\n", 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of the tag. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `acs:` or `aliyun`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of the tag. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `acs:` or `aliyun`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], [ 'name' => 'SecurityProtectionEnabled', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Specifies whether to activate Anti-DDoS Pro/Premium. Valid values:'."\n" ."\n" .'* **false**'."\n" .'* **true**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'PublicIpAddressPoolId', 'in' => 'query', 'schema' => ['description' => 'The IP address pool to which the EIP that you want to query belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'pippool-2vc0kxcedhquybdsz****', 'title' => ''], ], [ 'name' => 'ServiceManaged', 'in' => 'query', 'schema' => ['description' => 'Indicates whether the instance is managed. Valid values:'."\n" ."\n" .'* **true**: yes'."\n" .'* **false**: no.'."\n" ."\n" .'If you do not specify this parameter, all instances are queried.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'EipAddresses' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'EipAddress' => [ 'description' => 'Details of the EIPs.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The details of the EIP.'."\n", 'type' => 'object', 'properties' => [ 'ReservationActiveTime' => ['description' => 'The time when the renewal took effect. The time follows the ISO 8601 standard in the `YYYY-MM-DDThh:mm:ssZ` format.'."\n", 'type' => 'string', 'example' => '2021-05-23T16:00:00Z', 'title' => ''], 'Status' => ['description' => 'The status of the EIP. Valid values:'."\n" ."\n" .'* **Associating**'."\n" .'* **Unassociating**'."\n" .'* **InUse**'."\n" .'* **Available**'."\n" .'* **Releasing**'."\n", 'type' => 'string', 'example' => 'Available', 'title' => ''], 'ReservationOrderType' => ['description' => 'The type of the renewal order. Valid values:'."\n" ."\n" .'* **RENEWCHANGE**: renewal with an upgrade or a downgrade.'."\n" .'* **TEMP_UPGRADE**: temporary upgrade.'."\n" .'* **UPGRADE**: upgrade.'."\n", 'type' => 'string', 'example' => 'RENEWCHANGE', 'title' => ''], 'AllocationTime' => ['description' => 'The time when the EIP was created. The time follows the ISO 8601 standard in the `YYYY-MM-DDThh:mm:ssZ` format.'."\n", 'type' => 'string', 'example' => '2021-04-23T01:37:38Z', 'title' => ''], 'Netmode' => ['description' => 'The network type. Only **public** may be returned.'."\n", 'type' => 'string', 'example' => 'public', 'title' => ''], 'ChargeType' => ['description' => 'The billing method of the EIP. Valid values:'."\n" ."\n" .'* **PostPaid**: pay-as-you-go.'."\n" .'* **PrePaid**: subscription.'."\n", 'type' => 'string', 'example' => 'PostPaid', 'title' => ''], 'Description' => ['description' => 'The description of the EIP.'."\n", 'type' => 'string', 'example' => 'abc', 'title' => ''], 'Mode' => ['description' => 'The association mode. Valid values:'."\n" .'- **NAT**: NAT mode'."\n" .'- **MULTI_BINDED**: multi-EIP-to-ENI mode'."\n" .'- **BINDED**: cut-through mode', 'type' => 'string', 'example' => 'NAT', 'title' => ''], 'SegmentInstanceId' => ['description' => 'The ID of the contiguous EIP group.'."\n" ."\n" .'This value is returned only when you query contiguous EIPs.'."\n", 'type' => 'string', 'example' => 'eipsg-t4nr90yik5oy38xd****', 'title' => ''], 'ReservationInternetChargeType' => ['description' => 'The metering method that is used after the renewal takes effect. Valid values:'."\n" ."\n" .'* **PayByBandwidth**'."\n" .'* **PayByTraffic**'."\n", 'type' => 'string', 'example' => 'PayByBandwidth', 'title' => ''], 'BandwidthPackageId' => ['description' => 'The ID of the Internet Shared Bandwidth instance.'."\n", 'type' => 'string', 'example' => 'cbwp-bp1ego3i4j07ccdvf****', 'title' => ''], 'IpAddress' => ['description' => 'The EIP.'."\n", 'type' => 'string', 'example' => '47.75.XX.XX', 'title' => ''], 'Bandwidth' => ['description' => 'The maximum bandwidth of the EIP. Unit: Mbit/s.'."\n", 'type' => 'string', 'example' => '5', 'title' => ''], 'ReservationBandwidth' => ['description' => 'The maximum bandwidth after the renewal takes effect. Unit: Mbit/s.'."\n", 'type' => 'string', 'example' => '12', 'title' => ''], 'EipBandwidth' => ['description' => 'The maximum bandwidth of the EIP when it is not associated with an Internet Shared Bandwidth instance. Unit: Mbit/s.'."\n", 'type' => 'string', 'example' => '101', 'title' => ''], 'Name' => ['description' => 'The name of the EIP.'."\n", 'type' => 'string', 'example' => 'EIP-01', 'title' => ''], 'PrivateIpAddress' => ['description' => 'The private IP address of the secondary ENI with which the EIP is associated.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''], 'InstanceRegionId' => ['description' => 'The region ID of the associated instance.'."\n", 'type' => 'string', 'example' => ' cn-hangzhou', 'title' => ''], 'DeletionProtection' => ['description' => 'Indicates whether deletion protection is enabled. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'InstanceId' => ['description' => 'The ID of the associated instance.'."\n", 'type' => 'string', 'example' => 'i-bp15zckdt37cdvf****', 'title' => ''], 'SecondLimited' => ['description' => 'Indicates whether level-2 throttling is configured. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'InstanceType' => ['description' => 'The type of the associated instance. Valid values:'."\n" ."\n" .'* **EcsInstance**: an ECS instance in a VPC.'."\n" .'* **SlbInstance**: a CLB instance in a VPC.'."\n" .'* **Nat**: a NAT gateway.'."\n" .'* **HaVip**: an HAVIP.'."\n" .'* **NetworkInterface**: a secondary ENI.'."\n" .'* **IpAddress**: an IP address.'."\n", 'type' => 'string', 'example' => 'EcsInstance', 'title' => ''], 'HDMonitorStatus' => ['description' => 'Indicates whether fine-grained monitoring is enabled for the EIP. Valid values:'."\n" ."\n" .'* **false**'."\n" .'* **true**'."\n", 'type' => 'string', 'example' => 'false', 'title' => ''], 'RegionId' => ['description' => 'The region ID of the EIP.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'BandwidthPackageBandwidth' => ['description' => 'The maximum bandwidth of the Internet Shared Bandwidth instance with which the EIP is associated. Unit: Mbit/s.'."\n", 'type' => 'string', 'example' => '50', 'title' => ''], 'ServiceManaged' => ['description' => 'Indicates whether the instance is managed. Valid values:'."\n" ."\n" .'* **1**: yes'."\n" .'* **0**: no'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'ExpiredTime' => ['description' => 'The time when the EIP expires. The time follows the ISO 8601 standard in the `YYYY-MM-DDThh:mm:ssZ` format.'."\n", 'type' => 'string', 'example' => '2021-05-23T02:00:00Z', 'title' => ''], 'ResourceGroupId' => ['description' => 'The resource group ID.'."\n", 'type' => 'string', 'example' => 'rg-acfmxazcdxs****', 'title' => ''], 'AllocationId' => ['description' => 'The ID of the EIP.'."\n", 'type' => 'string', 'example' => 'eip-2zeerraiwb7ujcdvf****', 'title' => ''], 'InternetChargeType' => ['description' => 'The metering method of the EIP. Valid values:'."\n" ."\n" .'* **PayByBandwidth**'."\n" .'* **PayByTraffic**'."\n", 'type' => 'string', 'example' => 'PayByBandwidth', 'title' => ''], 'BusinessStatus' => ['description' => 'The service status of the EIP. Valid values:'."\n" ."\n" .'* **Normal**'."\n" .'* **OperationLock**'."\n" .'* **Unactivated**'."\n", 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'BandwidthPackageType' => ['description' => 'The type of the bandwidth. Only **CommonBandwidthPackage** may be returned, which indicates Internet Shared Bandwidth.'."\n", 'type' => 'string', 'example' => 'CommonBandwidthPackage', 'title' => ''], 'HasReservationData' => ['description' => 'Indicates whether renewal data is included. Valid values:'."\n" ."\n" .'* **false**'."\n" .'* **true** A value of **true** is returned only when **IncludeReservationData** is set to **true** and some orders have not taken effect.'."\n", 'type' => 'string', 'example' => 'false', 'title' => ''], 'ISP' => ['description' => 'The line type. Valid values:'."\n" ."\n" .'* **BGP**: BGP (Multi-ISP). The BGP (Multi-ISP) line is supported in all regions.'."\n" .'* **BGP_PRO**: BGP (Multi-ISP) Pro lines. BGP (Multi-ISP) Pro line is supported only in the China (Hong Kong), Singapore, Japan (Tokyo), Malaysia (Kuala Lumpur), Philippines (Manila), Indonesia (Jakarta), and Thailand (Bangkok) regions.'."\n" ."\n" .'For more information about BGP (Multi-ISP) and BGP (Multi-ISP) Pro, see the [Line types](~~32321~~) section of the "What is EIP?" topic.'."\n" ."\n" .'If you are allowed to use single-ISP bandwidth, one of the following values may be returned:'."\n" ."\n" .'* **ChinaTelecom**'."\n" .'* **ChinaUnicom**'."\n" .'* **ChinaMobile**'."\n" .'* **ChinaTelecom_L2**'."\n" .'* **ChinaUnicom_L2**'."\n" .'* **ChinaMobile_L2**'."\n" ."\n" .'If your services are deployed in China East 1 Finance, **BGP_FinanceCloud** is returned.'."\n", 'type' => 'string', 'example' => 'BGP', 'title' => ''], 'OperationLocks' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'LockReason' => [ 'description' => 'The details about the locked EIP.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The details about the locked EIP.'."\n", 'type' => 'object', 'properties' => [ 'LockReason' => ['description' => 'The reason why the EIP is locked. Valid values:'."\n" ."\n" .'* **financial**: The EIP is locked due to overdue payments.'."\n" .'* **security**: The instance is locked for security purposes.'."\n" .'* **sharedPool**: The shared IP address pool is locked due to overdue payments.'."\n", 'type' => 'string', 'example' => 'financial', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The tags of the EIP.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The tags.'."\n", 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the EIP.'."\n", 'type' => 'string', 'example' => 'KeyTest', 'title' => ''], 'Value' => ['description' => 'The tag value of the EIP.'."\n", 'type' => 'string', 'example' => 'ValueTest', 'title' => ''], ], 'example' => '"Tag": [ { "Value": "000", "Key": "yyy" }, { "Value": "111","Key": "kkk" }', 'title' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'SecurityProtectionTypes' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SecurityProtectionType' => [ 'description' => 'The edition of Anti-DDoS.'."\n" ."\n" .'* If an empty value is returned, it indicates that Anti-DDoS Origin Basic is used.'."\n" .'* If **AntiDDoS_Enhanced** is returned, it indicates that Anti-DDoS Pro/Premium is used.'."\n", 'type' => 'array', 'items' => ['description' => 'The edition of Anti-DDoS.'."\n" ."\n" .'* If an empty value is returned, it indicates that Anti-DDoS Origin Basic is used.'."\n" .'* If **AntiDDoS_Enhanced** is returned, it indicates that Anti-DDoS Pro/Premium is used.'."\n", 'type' => 'string', 'example' => 'AntiDDoS_Enhanced', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'PublicIpAddressPoolId' => ['description' => 'The ID of the IP address pool to which the EIP belongs.'."\n", 'type' => 'string', 'example' => 'pippool-2vc0kxcedhquybdsz****', 'title' => ''], 'VpcId' => ['description' => 'The ID of the VPC in which an IPv4 gateway is created and that is deployed in the same region as the EIP.'."\n" ."\n" .'When you associate an EIP with an IP address, the system can enable the IP address to access the Internet based on VPC route configurations.'."\n" ."\n" .'> This parameter is returned if the value of **InstanceType** is **IpAddress**. In this case, the EIP is associated with an IP address.'."\n", 'type' => 'string', 'example' => 'vpc-bp15zckdt37pq72zv****', 'title' => ''], 'Zone' => ['description' => 'The zone of the EIP.'."\n" ."\n" .'This parameter is returned only when the service type is CloudBox.'."\n", 'type' => 'string', 'example' => 'ap-southeast-1-lzdvn-cb', 'title' => ''], 'BizType' => ['description' => 'The service type. Valid values:'."\n" ."\n" .'* **CloudBox** Only cloud box users can select this type.'."\n" .'* **Default** (default)'."\n", 'type' => 'string', 'example' => 'CloudBox', 'title' => ''], 'ServiceID' => ['description' => 'The ID of the service provider to which the managed instance belongs.'."\n" .'> This is only valid when the ServiceManaged parameter is set to True.', 'type' => 'integer', 'format' => 'int64', 'example' => '18726XXXXXXX', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidIAssociatedInstanceType.ValueNotSupported', 'errorMessage' => 'The specified value of AssociatedInstanceType is not supported.', 'description' => 'The AssociatedInstanceType parameter is set to an invalid value.'], ['errorCode' => 'InvalidChargeType.ValueNotSupported', 'errorMessage' => 'The specified ChargeType is not supported.', 'description' => ''], ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'User Id is not valid.', 'description' => ''], ['errorCode' => 'InvalidResourceGroupId', 'errorMessage' => 'The specified ResourceGroupId does not exist.', 'description' => 'The specified resource group ID does not exist.'], ['errorCode' => 'InstanceType.Invalid', 'errorMessage' => 'InstanceType is not null', 'description' => ''], ['errorCode' => 'InstanceIdLength.Exceed', 'errorMessage' => 'InstanceId length is exceed', 'description' => ''], ['errorCode' => 'InvalidTagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The tag index is invalid.'], ['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The tag value is invalid.'], ['errorCode' => 'OperationUnsupported.ResourceGroupId', 'errorMessage' => 'ResourceGroup is not supported in this region.', 'description' => ''], ['errorCode' => 'IellgalParameter.OwnerAccount', 'errorMessage' => 'The specified parameter OwnerAccount is not valid.', 'description' => 'The specified parameter OwnerAccount is illegal.'], ], 404 => [ ['errorCode' => 'InvalidFilterValue', 'errorMessage' => 'The specified FilterValue is not supported.', 'description' => ''], ['errorCode' => 'Forbidden.RegionNotFound', 'errorMessage' => 'Specified region is not found during access authentication.', 'description' => ''], ['errorCode' => 'InvalidFilterKey.NotFound', 'errorMessage' => 'The specified Filterkey is not supported.', 'description' => ''], ['errorCode' => 'InvalidLockReason.NotFound', 'errorMessage' => 'The specified LockReason is not found', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeEipAddresses', 'description' => '本接口可以查询指定地域已创建的EIP信息,包括EIP的带宽峰值、计费方式,当前绑定的实例类型等。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-02-10T11:25:34.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-03-14T06:49:39.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-12-07T09:36:34.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-08-09T06:30:47.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-08-09T01:56:33.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-08-08T02:41:57.000Z', 'description' => 'Response parameters changed, Response parameters changed'], ['createdAt' => '2022-12-02T10:02:22.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-11-14T06:28:04.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-11-02T10:27:22.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-08-31T07:38:00.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-02-22T08:39:22.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-02-22T08:39:22.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-12-08T03:35:04.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'translator' => 'manual', ], 'DescribeEipGatewayInfo' => [ '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' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the secondary ENI that is associated with the EIP.'."\n", 'type' => 'string', 'required' => true, 'example' => 'eni-bp1d66qjxb3qoin3****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region to which the EIP that you want to query belongs. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-zhangjiakou', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region to which the EIP that you want to query belongs. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-zhangjiakou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The status code of the operation.'."\n", 'type' => 'string', 'example' => '200', 'title' => ''], 'Message' => ['description' => 'The result of the operation.'."\n", 'type' => 'string', 'example' => 'successful', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'C0FD0EED-F90D-4479-803D-DD62335357E5 ', 'title' => ''], 'EipInfos' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'EipInfo' => [ 'description' => 'The detailed information about the EIP.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Ip' => ['description' => 'The IP address of the EIP.'."\n", 'type' => 'string', 'example' => '47.XX.XX.236', 'title' => ''], 'IpGw' => ['description' => 'The IP address of the gateway that is associated with the EIP.'."\n", 'type' => 'string', 'example' => '47.XX.XX.1', 'title' => ''], 'IpMask' => ['description' => 'The subnet mask of the EIP.'."\n", 'type' => 'string', 'example' => '255.255.255.0', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Instance.NotExist', 'errorMessage' => 'The instance is not exist.', 'description' => ''], ['errorCode' => 'InvalidNetworkInterface.NotFound', 'errorMessage' => 'The specified network interface is not exist.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeEipGatewayInfo', 'summary' => 'Queries the gateway and subnet mask of an elastic IP address (EIP).', 'description' => 'You can query only EIPs that are associated with secondary elastic network interfaces (ENIs) in multi-EIP-to-ENI mode.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-05-15T06:29:29.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'DescribeEipMonitorData' => [ 'summary' => 'Queries the monitoring data of an elastic IP address (EIP). You can query monitoring data within the last 30 days, and obtain up to 400 data points in each request.', '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' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region to which the EIP belongs. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'AllocationId', 'in' => 'query', 'schema' => ['description' => 'The ID of the EIP.'."\n", 'type' => 'string', 'required' => true, 'example' => 'eip-2zeerraiwb7uj6idcfv****', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The beginning of the time range to query. The time must be in UTC. Specify the time in the ISO 8601 standard in `YYYY-MM-DDThh:mm:ssZ` format. For example, `2013-01-10T12:00:00Z` specifies 20:00:00 (UTC+8) on January 10, 2013.'."\n" ."\n" .'If the value of seconds (ss) is not 00, the start time is automatically rounded up to the next minute.'."\n", 'type' => 'string', 'required' => true, 'example' => '2020-01-05T01:05:05Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end of the time range to query. The time must be in UTC. Specify the time in the ISO 8601 standard in the `YYYY-MM-DDThh:mm:ssZ` format. For example, `2013-01-10T12:00:00Z` specifies 20:00:00 (UTC+8) on January 10, 2013.'."\n" ."\n" .'If the value of seconds (ss) is not 00, the end time is automatically rounded up to the next minute.'."\n", 'type' => 'string', 'required' => true, 'example' => '2020-01-05T03:05:10Z', 'title' => ''], ], [ 'name' => 'Period', 'in' => 'query', 'schema' => ['description' => 'The duration of each monitoring data entry. Unit: seconds. Valid values: **60** (default), **300**, **900**, and **3600**.'."\n" ."\n" .'* If the value of **(EndTime** - **StartTime**)/**Period** is greater than 200, a maximum of 200 monitoring data entries are returned at a time.'."\n" .'* If the value of (**EndTime** - **StartTime**)/**Period** is less than or equal to 200, only the monitoring data collected between the start time and end time is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'default' => '60', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'C8B26B44-0189-443E-9816-D951F59623A9', 'title' => ''], 'EipMonitorDatas' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'EipMonitorData' => [ 'description' => 'The detailed information about the monitoring data of the EIP.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'EipTX' => ['description' => 'The outbound traffic. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '343', 'title' => ''], 'EipPackets' => ['description' => 'The number of packets.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3434', 'title' => ''], 'EipBandwidth' => ['description' => 'The average bandwidth value. This value is equal to **EipFlow**/**Period**. Unit: byte/s. The default value of **Period** is **60**. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'TimeStamp' => ['description' => 'The timestamp of the monitoring data. Specify the time in the ISO8601 standard. Example: `2020-01-21T09:50:23Z`.'."\n", 'type' => 'string', 'example' => '2020-01-21T09:50:23Z', 'title' => ''], 'EipFlow' => ['description' => 'The sum of inbound and outbound traffic.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '465', 'title' => ''], 'EipRX' => ['description' => 'The inbound traffic. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '122', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter.TooMany', 'errorMessage' => 'monitor parameter too many data required.', 'description' => 'There are multiple invalid input parameters.'], ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified parameter "StartTime" is not valid.', 'description' => ''], ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified parameter "EndTime" is not valid.', 'description' => ''], ['errorCode' => 'InvalidPeriod.ValueNotSupported', 'errorMessage' => 'The specified parameter "Period" is not valid.', 'description' => ''], ['errorCode' => 'InvalidStartTime.TooEarly', 'errorMessage' => 'The specified parameter "StartTime" is too early.', 'description' => ''], ['errorCode' => 'InvalidAllocationId.NotFound', 'errorMessage' => 'Specified allocation id is not found.', 'description' => ''], ['errorCode' => 'OperationDenied.TooManyDataQueried', 'errorMessage' => 'Specified operation is denied as too many data to return.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidIpInstanceId.NotFound', 'errorMessage' => 'The specified Eip InstanceId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The InstanceId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'Forbidden.RegionNotFound', 'errorMessage' => 'Specified region is not found during access authentication.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeEipMonitorData', 'description' => 'To improve user experience in querying monitoring data, we recommend that you call the DescribeMetricList API operation provided by CloudMonitor to query EIP monitoring data. For more information, see [DescribeMetricList](~~51936~~) and [EIP monitoring data](~~162874~~).'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2022-12-02T09:41:32.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], '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":""}]', ], 'DescribeEipSegment' => [ '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' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001sdfg', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the contiguous EIP group. You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'SegmentInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the contiguous EIP group to query.'."\n" ."\n" .'If you do not specify this parameter, information about all contiguous EIP groups in the specified region is returned.', 'type' => 'string', 'required' => false, 'example' => 'eipsg-2zett8ba055tbsxme****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number of the list. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page for a paged query. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page in a paging query.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F7A6301A-64BA-41EC-8284-8F4838C15D1F', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'EipSegments' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'EipSegment' => [ 'description' => 'The details of the contiguous EIP group.', 'type' => 'array', 'items' => [ 'description' => 'The details of the contiguous EIP group.', 'type' => 'object', 'properties' => [ 'CreationTime' => ['description' => 'The time when the contiguous EIP group was created. The time is displayed in ISO 8601 standard in UTC+0. The format is yyyy-MM-ddTHH:mm:ssZ.', 'type' => 'string', 'example' => '2020-03-06T12:30:07Z', 'title' => ''], 'Status' => ['description' => 'The status of the contiguous EIP group. Valid values:'."\n" ."\n" .'- **Allocating**: being allocated.'."\n" ."\n" .'- **Allocated**: allocated.'."\n" ."\n" .'- **Releasing**: being released.', 'type' => 'string', 'example' => 'Allocated', 'title' => ''], 'Descritpion' => ['description' => 'The description of the contiguous EIP group.', 'type' => 'string', 'example' => 'MyEipSegment', 'title' => ''], 'InstanceId' => ['description' => 'The instance ID of the contiguous EIP group.', 'type' => 'string', 'example' => 'eipsg-2zett8ba055tbsxme****', 'title' => ''], 'IpCount' => ['description' => 'The number of IP addresses in the contiguous EIP group.', 'type' => 'string', 'example' => '16', 'title' => ''], 'Name' => ['description' => 'The name of the contiguous EIP group.', 'type' => 'string', 'example' => 'MyEipSegment', 'title' => ''], 'Segment' => ['description' => 'The CIDR block and subnet mask of the contiguous EIP group.', 'type' => 'string', 'example' => '161.xx.xx.32/28', 'title' => ''], 'RegionId' => ['description' => 'The region ID of the contiguous EIP group.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'Zone' => ['description' => 'The zone of the contiguous EIP group.', 'type' => 'string', 'example' => 'cn-hangzhou-a', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query contiguous EIP groups', 'summary' => 'Queries information about contiguous Elastic IP Address (EIP) groups.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-04-10T05:59:38.000Z', 'description' => 'Response parameters changed, Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeEipSegment'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeEipSegment', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SegmentAddress', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeExpressConnectTrafficQos' => [ 'summary' => 'Queries the quality of service (QoS) policies of Express Connect. The response can be displayed by page.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region in which the QoS policy is created.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], [ 'name' => 'QosIdList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'title' => '', 'description' => 'The IDs of QoS policies.', 'type' => 'array', 'items' => ['description' => 'The IDs of QoS policies.', 'type' => 'string', 'required' => false, 'example' => 'qos-2giu0a6vd5x0mv****', 'title' => ''], 'required' => false, 'maxItems' => 100, 'example' => '', ], ], [ 'name' => 'QosNameList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'title' => '', 'description' => 'The names of QoS policies.', 'type' => 'array', 'items' => ['description' => 'The names of QoS policies.', 'type' => 'string', 'required' => false, 'example' => 'qos-test', 'title' => ''], 'required' => false, 'maxItems' => 100, 'example' => '', ], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n" ."\n" .'- If no value is returned for NetToken, you do not need to specify this parameter.'."\n" .'- If a value is returned for NextToken, you must specify the token that is obtained from the previous query as the value of **NextToken**.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The maximum number of entries to return. Valid values: **1** to **100**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The resource group ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazfdgdg****', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'description' => 'The tags of the resource.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. You must enter at least one tag key. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'A tag key can be at most 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag values of the resources. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length, and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4CF20CC7-D1FC-425B-A15B-DF7C8E2131A7', 'title' => ''], 'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n" ."\n" .'* If **NextToken** is empty, no next page exists.'."\n" .'* If a value is returned for **NextToken**, the value can be used in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'MaxResults' => ['description' => 'The number of entries per page. Valid values: **1 to 100**. Default value: 20.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'TotalCount' => ['description' => 'The number of returned entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Count' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''], 'QosList' => [ 'description' => 'The information about QoS policies.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The information about the QoS policies.'."\n", 'type' => 'object', 'properties' => [ 'QosId' => ['description' => 'The ID of the QoS policy.', 'type' => 'string', 'example' => 'qos-pksbqfmotl5hzq****', 'title' => ''], 'QosName' => ['description' => 'The name of the QoS policy.'."\n" ."\n" .'The name can be up to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'example' => 'qos-test', 'title' => ''], 'QosDescription' => ['description' => 'The description of the QoS policy.'."\n" ."\n" .'The description can be up to 256 characters in length. It cannot start with `http://` or `https://`.', 'type' => 'string', 'example' => 'qos-test', 'title' => ''], 'Status' => [ 'description' => 'The state of the QoS policy. Valid values:'."\n" ."\n" .'- **Normal**: The QoS policy is available.'."\n" .'- **Configuring**: The QoS policy is being configured.'."\n" ."\n" .' > If a QoS policy is in the Configuring state, you cannot perform most of the operations to create, update, or delete QoS policies, QoS queues, or QoS rules.', 'type' => 'string', 'enumValueTitles' => ['Configuring' => 'Configuring', 'Normal' => 'Normal'], 'example' => 'Normal', 'title' => '', ], 'Progressing' => ['description' => 'The configuration progress of the QoS policy. Valid values: **0** to **100**.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'AssociatedInstanceList' => [ 'description' => 'The information about the instances to which the QoS policy is associated.', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'InstanceId' => ['description' => 'The ID of the instance to which the QoS policy is associated.', 'type' => 'string', 'example' => 'pc-bp159zj8zujwy3p07****', 'title' => ''], 'InstanceType' => [ 'description' => 'The type of the instance to which the QoS policy is associated. Only **PHYSICALCONNECTION** is returned.', 'type' => 'string', 'enumValueTitles' => ['PHYSICALCONNECTION' => 'PHYSICALCONNECTION'], 'example' => 'PHYSICALCONNECTION', 'title' => '', ], 'InstanceStatus' => [ 'description' => 'The state of the instance to which the QoS policy is associated. Valid values:'."\n" ."\n" .'- **Normal**: The instance is available.'."\n" .'- **Configuring**: The instance is being configured.'."\n" .'- **Deleting**: The instance is being deleted.', 'type' => 'string', 'enumValueTitles' => ['Configuring' => 'Configuring', 'Normal' => 'Normal', 'Deleting' => 'Deleting'], 'example' => 'Normal', 'title' => '', ], 'InstanceProgressing' => ['description' => 'The configuration progress of the instance to which the QoS policy is associated. Valid values: **0** to **100**.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'QueueList' => [ 'description' => 'The information about the QoS queues.', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'QosId' => ['description' => 'The ID of the QoS policy.', 'type' => 'string', 'example' => 'qos-pksbqfmotl5hzq****', 'title' => ''], 'QueueId' => ['description' => 'The ID of the QoS queue.', 'type' => 'string', 'example' => 'qos-queue-9nyx2u7n71s2rc****', 'title' => ''], 'QueueType' => [ 'description' => 'The type of the QoS queue. Valid values:'."\n" ."\n" .'- **High**: high-priority queue.'."\n" .'- **Medium**: standard queue.'."\n" .'- **Default**: default queue.'."\n" ."\n\n" .'> You cannot create a default queue.', 'type' => 'string', 'enumValueTitles' => ['High' => 'High', 'Medium' => 'Medium', 'Default' => 'Default'], 'example' => 'High', 'title' => '', ], 'BandwidthPercent' => ['description' => 'The percentage of bandwidth allocated to a QoS queue.'."\n" ."\n" .'- If QueueType is set to **Medium**, this parameter is required. Valid values: **1** to **100**.'."\n" .'- If QueueType is set to **Default**, a value of - is returned.', 'type' => 'string', 'example' => '100', 'title' => ''], 'QueueName' => ['description' => 'The name of the QoS queue.'."\n" ."\n" .'The name can be up to **128** characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'example' => 'qos-queue-test', 'title' => ''], 'QueueDescription' => ['description' => 'The description of the QoS queue.'."\n" ."\n" .'The description can be up to **256** characters in length. It cannot start with `http://` or `https://`.', 'type' => 'string', 'example' => 'qos-queue-test', 'title' => ''], 'Status' => ['description' => 'The state of the QoS queue. Valid values:'."\n" ."\n" .'- **Normal**: The QoS queue is available.'."\n" .'- **Configuring**: The QoS queue is being configured.'."\n" .'- **Deleting**: The QoS queue is being deleted.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'rg-acfmz7vtyl4f***', 'title' => ''], 'Tags' => [ 'description' => 'The tag list.', 'type' => 'array', 'items' => [ 'description' => 'The tag list.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter is invalid.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeExpressConnectTrafficQos', 'changeSet' => [ ['createdAt' => '2024-12-18T07:44:11.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ], 'ramActions' => [], '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"}]', ], 'DescribeExpressConnectTrafficQosQueue' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the QoS policy.'."\n" ."\n" .'You can call [DescribeRegions](~~36063~~) to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai'."\n", 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'>If you do not specify this parameter, the system automatically uses the RequestId value as the ClientToken value. The RequestId value may be different for each API request.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'>If you do not specify this parameter, the system automatically uses the RequestId value as the ClientToken value. The RequestId value may be different for each API request.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', 'title' => ''], ], [ 'name' => 'QueueIdList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'title' => '', 'description' => 'The QoS queue IDs.', 'type' => 'array', 'items' => ['description' => 'The QoS queue ID.', 'type' => 'string', 'required' => false, 'example' => 'qos-queue-9nyx2u7n71s2rc****', 'title' => ''], 'required' => false, 'maxItems' => 100, 'example' => '', ], ], [ 'name' => 'QueueNameList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'title' => '', 'description' => 'The QoS queue names.', 'type' => 'array', 'items' => ['description' => 'The QoS queue name.', 'type' => 'string', 'required' => false, 'example' => 'qos-queue-test', 'title' => ''], 'required' => false, 'maxItems' => 100, 'example' => '', ], ], [ 'name' => 'QosId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The QoS policy ID.', 'type' => 'string', 'required' => false, 'example' => 'qos-2giu0a6vd5x0mv****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '606998F0-B94D-48FE-8316-ACA81BB230DA', 'title' => ''], 'QueueList' => [ 'description' => 'The list of QoS queues.', 'type' => 'array', 'items' => [ 'description' => 'The QoS queue information.', 'type' => 'object', 'properties' => [ 'QosId' => ['description' => 'The QoS policy ID.', 'type' => 'string', 'example' => 'qos-ncfgzxg40zks5n****', 'title' => ''], 'QueueId' => ['description' => 'The QoS queue ID.', 'type' => 'string', 'example' => 'qos-queue-9nyx2u7n71s2rc****', 'title' => ''], 'QueueType' => ['description' => 'The type of the QoS queue. Valid values:'."\n" ."\n" .'- **High**: high-priority queue.'."\n" ."\n" .'- **Medium**: medium-priority queue.'."\n" ."\n" .'- **Default**: default-priority queue.'."\n" ."\n" .'> The default-priority queue cannot be created.', 'type' => 'string', 'example' => 'High', 'title' => ''], 'BandwidthPercent' => ['description' => 'The bandwidth percentage of the QoS queue.'."\n" ."\n" .'* When the QoS queue type is **Medium**, this field is required. Valid values: **1** to **100**.'."\n" ."\n" .'* When the QoS queue type is **Default**, this field is "-".', 'type' => 'string', 'example' => '100', 'title' => ''], 'QueueName' => ['description' => 'The name of the QoS queue.'."\n" ."\n" .'The name must be **0** to **128** characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'example' => 'qos-queue-test', 'title' => ''], 'QueueDescription' => ['description' => 'The description of the QoS queue.'."\n" ."\n" .'The description must be **0** to **256** characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'example' => 'qos-queue-test', 'title' => ''], 'RuleList' => [ 'description' => 'The list of QoS rules.', 'type' => 'array', 'items' => [ 'description' => 'The QoS rule information.', 'type' => 'object', 'properties' => [ 'QosId' => ['description' => 'The QoS policy ID.', 'type' => 'string', 'example' => 'qos-91xz9f8zd7yj8x****', 'title' => ''], 'QueueId' => ['description' => 'The QoS queue ID.', 'type' => 'string', 'example' => 'qos-queue-iugg0l9x27f2no****', 'title' => ''], 'Priority' => ['description' => 'The priority of the QoS rule. Valid values: **1** to **9000**. A larger value indicates a higher priority. The priority of each QoS rule must be unique within the same QoS policy.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Protocol' => [ 'description' => 'The protocol type of the QoS rule. Valid values:'."\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**.', 'enumValueTitles' => [], 'type' => 'string', 'example' => 'ALL', 'title' => '', ], 'SrcCidr' => ['description' => 'The source IPv4 CIDR block that matches the traffic of the QoS rule.'."\n" ."\n" .'> You cannot specify this parameter together with **SrcIPv6Cidr** or **DstIPv6Cidr**.', 'type' => 'string', 'example' => '1.1.**.**/24', 'title' => ''], 'DstCidr' => ['description' => 'The destination IP address IPv4 CIDR block that matches the traffic of the QoS rule.'."\n" ."\n" .'> You cannot specify this parameter together with **SrcIPv6Cidr** or **DstIPv6Cidr**.', 'type' => 'string', 'example' => '1.1.**.**/24'."\n", 'title' => ''], 'SrcIPv6Cidr' => ['description' => 'The source IPv6 CIDR block that matches the traffic of the QoS rule.'."\n" ."\n" .'> You cannot specify this parameter together with **SrcCidr** or **DstCidr**.', 'type' => 'string', 'example' => '2001:0db8:1234:****::/64', 'title' => ''], 'DstIPv6Cidr' => ['description' => 'The destination IP address IPv6 CIDR block that matches the traffic of the QoS rule.'."\n" ."\n" .'> You cannot specify this parameter together with **SrcCidr** or **DstCidr**.', 'type' => 'string', 'example' => '2001:0db8:1234:****::/64', 'title' => ''], 'SrcPortRange' => ['description' => 'The source port range that matches the traffic of the QoS rule. Valid values: **0** to **65535**. A value of -1 indicates that the port does not match. Currently, only a single port number can be specified. The start and end port numbers must be the same.', 'type' => 'string', 'example' => '-1/-1', 'title' => ''], 'DstPortRange' => ['description' => 'The destination port range that matches the traffic of the QoS rule. Valid values: **0** to **65535**. A value of -1 indicates that the port does not match. Currently, only a single port number can be specified. The start and end port numbers must be the same. The destination port range is fixed for each protocol type. Valid values:'."\n" ."\n" .'- **ALL**: -1/-1, not editable.'."\n" ."\n" .'- **ICMP(IPv4)**: -1/-1, not editable.'."\n" ."\n" .'- **ICMPv6(IPv6)**: -1/-1, not editable.'."\n" ."\n" .'- **TCP**: -1/-1, editable.'."\n" ."\n" .'- **UDP**: -1/-1, editable.'."\n" ."\n" .'- **GRE**: -1/-1, not editable.'."\n" ."\n" .'- **SSH**: 22/22, not editable.'."\n" ."\n" .'- **Telnet**: 23/23, not editable.'."\n" ."\n" .'- **HTTP**: 80/80, not editable.'."\n" ."\n" .'- **HTTPS**: 443/443, not editable.'."\n" ."\n" .'- **MS SQL**: 1443/1443, not editable.'."\n" ."\n" .'- **Oracle**: 1521/1521, not editable.'."\n" ."\n" .'- **MySql**: 3306/3306, not editable.'."\n" ."\n" .'- **RDP**: 3389/3389, not editable.'."\n" ."\n" .'- **PostgreSQL**: 5432/5432, not editable.'."\n" ."\n" .'- **Redis**: 6379/6379, not editable.', 'type' => 'string', 'example' => '-1/-1', 'title' => ''], 'MatchDscp' => ['description' => 'The DSCP value that matches the traffic of the QoS rule. Valid values: **0** to **63**. A value of -1 indicates that the DSCP value does not match.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RemarkingDscp' => ['description' => 'The new DSCP value to remark in the traffic. Valid values: **0** to **63**. A value of -1 indicates that the DSCP value is not modified.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RuleName' => ['description' => 'The name of the QoS rule.'."\n" ."\n" .'The name must be **0** to **128** characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'example' => 'qos-rule-test', 'title' => ''], 'RuleDescription' => ['description' => 'The description of the QoS rule.'."\n" ."\n" .'The description must be **0** to **256** characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'example' => 'qos-rule-test', 'title' => ''], 'RuleId' => ['description' => 'The QoS rule ID.', 'type' => 'string', 'example' => 'qos-rule-iugg0l9x27f2no****'."\n", 'title' => ''], 'Status' => ['description' => 'The status of the QoS rule. Valid values:'."\n" ."\n" .'- **Normal**: active.'."\n" ."\n" .'- **Configuring**: being configured.'."\n" ."\n" .'- **Deleting**: being deleted.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'Status' => ['description' => 'The status of the QoS queue. Valid values:'."\n" ."\n" .'- **Normal**: active.'."\n" ."\n" .'- **Configuring**: being configured.'."\n" ."\n" .'- **Deleting**: being deleted.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter is invalid.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query express connect qoS queues', 'summary' => 'Queries Express Connect QoS queues by calling DescribeExpressConnectTrafficQosQueue.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectTrafficQosQueue'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeExpressConnectTrafficQosQueue', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], '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"}]', ], 'DescribeExpressConnectTrafficQosRule' => [ 'summary' => 'Queries quality of service (QoS) rules. Paging parameters are not supported.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the QoS policy.'."\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', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not set this parameter, the system uses **RequestId** as **ClientToken**. **RequestId** may be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not set this parameter, the system uses **RequestId** as **ClientToken**. **RequestId** may be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'RuleIdList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'title' => '', 'description' => 'The list of QoS rule IDs.'."\n", 'type' => 'array', 'items' => ['description' => 'The ID of the QoS rule.'."\n", 'type' => 'string', 'required' => false, 'example' => 'qos-rule-iugg0l9x27f2no****'."\n", 'title' => ''], 'required' => false, 'maxItems' => 100, 'example' => '', ], ], [ 'name' => 'RuleNameList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'title' => '', 'description' => 'The list of QoS rule names.'."\n", 'type' => 'array', 'items' => ['description' => 'The name of the QoS rule.'."\n", 'type' => 'string', 'required' => false, 'example' => 'qos-rule-test', 'title' => ''], 'required' => false, 'maxItems' => 100, 'example' => '', ], ], [ 'name' => 'QosId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the QoS policy.'."\n", 'type' => 'string', 'required' => false, 'example' => 'qos-2giu0a6vd5x0mv****'], ], [ 'name' => 'QueueId', 'in' => 'query', 'schema' => ['description' => 'The ID of the QoS queue.'."\n", 'type' => 'string', 'required' => false, 'example' => 'qos-queue-9nyx2u7n71s2rc****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9C7FA9D6-72E0-48A9-A9C3-2DA8569CD5EB', 'title' => ''], 'RuleList' => [ 'description' => 'The list of QoS rules.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The information about the QoS rules.', 'type' => 'object', 'properties' => [ 'QosId' => ['description' => 'The ID of the QoS policy.'."\n", 'type' => 'string', 'example' => 'qos-pksbqfmotl5hzq****', 'title' => ''], 'QueueId' => ['description' => 'The ID of the QoS queue.'."\n", 'type' => 'string', 'example' => 'qos-queue-9nyx2u7n71s2rc****'."\n", 'title' => ''], 'Priority' => ['description' => 'The priority of the QoS rule. Valid values: **1** to **9000**. A larger value indicates a higher priority. The priority of each QoS rule must be unique in the same QoS policy.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Protocol' => [ 'description' => 'The protocol of the QoS rule. Valid values:'."\n" ."\n" .'* **ALL**'."\n" .'* **ICMP(IPv4)**'."\n" .'* **ICMPv6(IPv6)**'."\n" .'* **TCP**'."\n" .'* **UDP**'."\n" .'* **GRE**'."\n" .'* **SSH**'."\n" .'* **Telnet**'."\n" .'* **HTTP**'."\n" .'* **HTTPS**'."\n" .'* **MS SQL**'."\n" .'* **Oracle**'."\n" .'* **MySql**'."\n" .'* **RDP**'."\n" .'* **PostgreSQL**'."\n" .'* **Redis**'."\n", 'type' => 'string', 'enumValueTitles' => [], 'example' => 'ALL', 'title' => '', ], 'SrcCidr' => ['description' => 'The source IPv4 CIDR block that matches the QoS rule traffic.'."\n" ."\n" .'> When this parameter is unavailable, specify **SrcIPv6Cidr** or **DstIPv6Cidr**.'."\n", 'type' => 'string', 'example' => '1.1.**.**/24'."\n", 'title' => ''], 'DstCidr' => ['description' => 'The destination IPv4 CIDR block that matches the QoS rule traffic.'."\n" ."\n" .'> When this parameter is unavailable, specify **SrcIPv6Cidr** or **DstIPv6Cidr**.'."\n", 'type' => 'string', 'example' => '1.1.**.**/24'."\n", 'title' => ''], 'SrcIPv6Cidr' => ['description' => 'The source IPv6 CIDR block that matches the QoS rule traffic.'."\n" ."\n" .'> When this parameter is unavailable, specify **SrcCidr** or **DstCidr**.'."\n", 'type' => 'string', 'example' => '2001:0db8:1234:****::/64'."\n", 'title' => ''], 'DstIPv6Cidr' => ['description' => 'The destination IPv6 CIDR block that matches the QoS rule traffic.'."\n" ."\n" .'> When this parameter is unavailable, specify **SrcCidr** or **DstCidr**.'."\n", 'type' => 'string', 'example' => '2001:0db8:1234:****::/64'."\n", 'title' => ''], 'SrcPortRange' => ['description' => 'The range of source ports that match the QoS rule traffic. Valid values: **0** to **65535**. If the traffic does not match, the value is -1. You can specify only one port. The start port number must be the same as the end port number.'."\n", 'type' => 'string', 'example' => '-1/-1'."\n", 'title' => ''], 'DstPortRange' => ['description' => 'The range of destination ports that match the QoS rule traffic. Valid values: **0** to **65535**. If the traffic does not match, the value is -1. You can specify only one port. The start port number must be the same as the end port number. Different protocols correspond to different ports. Valid values:'."\n" ."\n" .'* **ALL** (uneditable): -1/-1.'."\n" .'* **ICMP(IPv4)** (uneditable): -1/-1.'."\n" .'* **ICMPv6(IPv6)** (uneditable): -1/-1.'."\n" .'* **TCP** (editable): -1/-1.'."\n" .'* **UDP** (editable): -1/-1.'."\n" .'* **GRE** (uneditable): -1/-1.'."\n" .'* **SSH** (uneditable): 22/22.'."\n" .'* **Telnet** (uneditable): 23/23.'."\n" .'* **HTTP** (uneditable): 80/80.'."\n" .'* **HTTPS** (uneditable): 443/443.'."\n" .'* **MS SQL** (uneditable): 1443/1443.'."\n" .'* **Oracle** (uneditable): 1521/1521.'."\n" .'* **MySql** (uneditable): 3306/3306.'."\n" .'* **RDP** (uneditable): 3389/3389.'."\n" .'* **PostgreSQL** (uneditable): 5432/5432.'."\n" .'* **Redis** (uneditable): 6379/6379.'."\n", 'type' => 'string', 'example' => '-1/-1'."\n", 'title' => ''], 'MatchDscp' => ['description' => 'The DSCP value that matches the QoS rule traffic. Valid values: **0** to **63**. If no value is matched, the value is -1.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RemarkingDscp' => ['description' => 'The new DSCP value. Valid values: **0** to **63**. If you do not change the value, set the value to -1.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RuleName' => ['description' => 'The name of the QoS rule.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'example' => 'qos-rule-test'."\n", 'title' => ''], 'RuleDescription' => ['description' => 'The description of the QoS rule.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'example' => 'qos-rule-test'."\n", 'title' => ''], 'RuleId' => ['description' => 'The ID of the QoS rule.'."\n", 'type' => 'string', 'example' => 'qos-rule-iugg0l9x27f2noc****', 'title' => ''], 'Status' => ['description' => 'The status of the QoS rule. Valid values:'."\n" ."\n" .'* **Normal**'."\n" .'* **Configuring**'."\n" .'* **Deleting**'."\n", 'type' => 'string', 'example' => 'Normal', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter is invalid.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeExpressConnectTrafficQosRule', 'changeSet' => [], 'ramActions' => [], '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"}]', ], 'DescribeFailoverTestJob' => [ 'summary' => 'Queries failover tests.', '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' => 'The region ID of the failover test.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the failover test.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ftj-bp1yh6mvi13aq****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF'], 'FailoverTestJobModel' => [ 'description' => 'The failover test.'."\n", 'type' => 'object', 'properties' => [ 'JobId' => ['title' => '', 'description' => 'The ID of the failover test.'."\n", 'type' => 'string', 'example' => 'ftj-bp1yh6mvi13aq3g8w****'], 'Name' => ['title' => '', 'description' => 'The name of the failover test.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'example' => 'test'], 'Description' => ['title' => '', 'description' => 'The description of the failover test.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'example' => 'test'], 'ResourceType' => ['title' => '', 'description' => 'The type of failover test resource. Only **PHYSICALCONNECTION** is returned.'."\n", 'type' => 'string', 'example' => 'PHYSICALCONNECTION'], 'ResourceId' => [ 'description' => 'The IDs of failover test resources.'."\n", 'type' => 'array', 'items' => ['description' => 'The ID of the resource.'."\n", 'type' => 'string', 'example' => 'pc-hp34pxu31qo36a72u****', 'title' => ''], 'title' => '', 'example' => '', ], 'JobType' => ['title' => '', 'description' => 'Indicates whether the failover test is performed immediately. Valid values:'."\n" ."\n" .'* **StartNow**'."\n" .'* **StartLater**'."\n", 'type' => 'string', 'example' => 'StartNow'], 'JobDuration' => ['title' => '', 'description' => 'The duration of the failover test. Unit: minutes. Valid values: **1 to 4320**.'."\n", 'type' => 'string', 'example' => '60'], 'StartTime' => ['title' => '', 'description' => 'The start time of the failover test. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2023-11-21T14:00:00Z'."\n"], 'StopTime' => ['title' => '', 'description' => 'The end time of the failover test. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2023-11-21T15:00:00Z'."\n"], 'Status' => ['title' => '', 'description' => 'The status of the failover test. Valid values:'."\n" ."\n" .'* **Init**'."\n" .'* **Starting**'."\n" .'* **Testing**'."\n" .'* **Stopping**'."\n" .'* **Stopped**'."\n", 'type' => 'string', 'example' => 'Init'], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.JobId', 'errorMessage' => 'The specified parameter JobId is illegal.', 'description' => 'The entered failover test job ID is invalid.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeFailoverTestJob', 'changeSet' => [ ['createdAt' => '2024-07-19T02:56:58.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], '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"}]', ], 'DescribeFailoverTestJobs' => [ 'summary' => 'Queries failover tests for Express Connect.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region where you want to perform the failover test.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'* If the value of **NextToken** is not returned, it indicates that no next query is to be sent.'."\n" .'* If a value of **NextToken** is returned, the value is the token that is used for the subsequent query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The number of entries per page. Valid values: **1 to 100**. Default value: 20.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], ], [ 'name' => 'Filter', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The filter information.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The list of filters.'."\n", 'type' => 'object', 'properties' => [ 'Key' => [ 'title' => '', 'description' => 'The filter key. Valid values:'."\n" ."\n" .'* **JobId**'."\n" .'* **JobName**'."\n" .'* **JobStatus**'."\n" .'* **ResourceId**'."\n" .'* **ResourceName**'."\n" .'* **ResourceType**'."\n" ."\n" .'> You can specify at most five different filter keys. If you specify ResourceId or ResourceName, you must also specify ResourceType. The logical operator among the filter keys is AND. Results that meet all specified filter keys are returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'JobId', 'enum' => ['JobId', 'JobName', 'JobStatus', 'ResourceId', 'ResourceName', 'ResourceType'], ], 'Value' => [ 'title' => '', 'description' => 'The value of the filter key.'."\n" ."\n" .'> You can specify at most five filter values for each filter key. The logical operator among filter values is OR. If a filter value is matched, the filter key is considered matched.'."\n", 'type' => 'array', 'items' => ['description' => 'The value of the filter key.'."\n" ."\n" .'> You can specify at most five filter values for each filter key. The logical operator among filter values is OR. If a filter value is matched, the filter key is considered matched.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ftj-bp1yh6mvi13aq3g8w****', 'title' => ''], 'required' => false, 'maxItems' => 5, 'example' => '', ], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 5, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], 'FailoverTestJobList' => [ 'description' => 'The list of failover tests.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The failover test.'."\n", 'type' => 'object', 'properties' => [ 'JobId' => ['title' => '', 'description' => 'The ID of the failover test.'."\n", 'type' => 'string', 'example' => 'ftj-bp1yh6mvi13aq3g8w****'."\n"], 'Name' => ['title' => '', 'description' => 'The name of the failover test.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'example' => 'test'], 'Description' => ['title' => '', 'description' => 'The description of the failover test.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with \\*\\*http:// **or** https://\\*\\*.'."\n", 'type' => 'string', 'example' => 'test'], 'ResourceType' => ['title' => '', 'description' => 'The type of the failover test resource. Only **PHYSICALCONNECTION** is returned.'."\n", 'type' => 'string', 'example' => 'PHYSICALCONNECTION'], 'ResourceId' => [ 'title' => '', 'description' => 'The IDs of the failover test resources.'."\n", 'type' => 'array', 'items' => ['description' => 'The resource ID.'."\n", 'type' => 'string', 'example' => 'pc-uf66k4e8pq3r00jfq****', 'title' => ''], 'example' => '', ], 'JobType' => ['title' => '', 'description' => 'Indicates whether the failover test is performed immediately. Valid values:'."\n" ."\n" .'* **StartNow**'."\n" .'* **StartLater**'."\n", 'type' => 'string', 'example' => 'StartNow'], 'JobDuration' => ['title' => '', 'description' => 'The duration of the failover test. Unit: minutes. Valid values: **1 to 4320**.'."\n", 'type' => 'string', 'example' => '60'], 'StartTime' => ['title' => '', 'description' => 'The beginning of the fault drill task. The time must be in UTC. Specify the time in the ISO 8601 standard in `YYYY-MM-DDThh:mm:ssZ` format.', 'type' => 'string', 'example' => '2023-11-21T14:00:00Z'], 'StopTime' => ['title' => '', 'description' => 'The end of the fault drill task. The time must be in UTC. Specify the time in the ISO 8601 standard in `YYYY-MM-DDThh:mm:ssZ` format.', 'type' => 'string', 'example' => '2023-11-21T15:00:00Z'."\n"], 'Status' => ['title' => '', 'description' => 'The status of the failover test. Valid values:'."\n" ."\n" .'* **Init**'."\n" .'* **Starting**'."\n" .'* **Testing**'."\n" .'* **Stopping**'."\n" .'* **Stopped**'."\n", 'type' => 'string', 'example' => 'Init'], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'NextToken' => ['title' => '', 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* If no value is returned for **NextToken**, no next queries are sent.'."\n" .'* If a value is returned for **NextToken**, the value is used to retrieve a new page of results.'."\n", 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'], 'MaxResults' => ['title' => '', 'description' => 'The number of entries per page. Valid values: **1 to 100**. Default value: 20.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20'], 'TotalCount' => ['title' => '', 'description' => 'The number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'], 'Count' => ['title' => '', 'description' => 'The number of entries on the current page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.Filter.Key', 'errorMessage' => 'The filter parameter Key is invalid.', 'description' => 'The filter parameter Key is invalid.'], ['errorCode' => 'IllegalParam.Filter.Value', 'errorMessage' => 'The filter parameter Value is illegal.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => 'Filter parameters do not support entering only ResourceId or ResourceName without entering ResourceType.'], ['errorCode' => 'IllegalParam.JobId', 'errorMessage' => 'The specified parameter JobId is illegal.', 'description' => 'The entered failover test job ID is invalid.'], ['errorCode' => 'IllegalParam.ResourceType', 'errorMessage' => 'Invalid %s value.', 'description' => 'ResourceType is set to an invalid value.'], ['errorCode' => 'IncorrectStatus.ResourceId', 'errorMessage' => 'The specified resource status is invalid.', 'description' => 'The resource status corresponding to the entered resource ID is invalid.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeFailoverTestJobs', 'changeSet' => [ ['createdAt' => '2024-07-29T02:44:51.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-07-19T02:56:58.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], '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"}]', ], 'DescribeFlowLogs' => [ 'summary' => 'Query flow logs.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the flow log.'."\n" ."\n" .'You can obtain the region ID by calling the [DescribeRegions](~~36063~~) interface.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'FlowLogName', 'in' => 'query', 'schema' => ['description' => 'The name of the flow log.'."\n" ."\n" .'The name must be 1 to 128 characters long and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'myFlowlog', 'title' => ''], ], [ 'name' => 'FlowLogId', 'in' => 'query', 'schema' => ['description' => 'The ID of the flow log.', 'type' => 'string', 'required' => false, 'example' => 'fl-bp1f6qqhsrc2c12ta****', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the flow log.'."\n" ."\n" .'The description must be 1 to 256 characters long and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'This is my Flowlog.', 'title' => ''], ], [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => ['description' => 'The resource type of the traffic to capture. Values:'."\n" .'- **NetworkInterface**: Elastic Network Interface (ENI).'."\n" .'- **VSwitch**: All ENIs within a VSwitch.'."\n" .'- **VPC**: All ENIs within a VPC.', 'type' => 'string', 'required' => false, 'example' => 'NetworkInterface', 'title' => ''], ], [ 'name' => 'ResourceId', 'in' => 'query', 'schema' => ['description' => 'The resource ID of the traffic to capture.', 'type' => 'string', 'required' => false, 'example' => 'eni-askldfas****', 'title' => ''], ], [ 'name' => 'TrafficType', 'in' => 'query', 'schema' => ['description' => 'The type of traffic to collect. Values:'."\n" .'- **All**: All traffic.'."\n" .'- **Allow**: Traffic allowed by access control.'."\n" .'- **Drop**: Traffic denied by access control.', 'type' => 'string', 'required' => false, 'example' => 'All', 'title' => ''], ], [ 'name' => 'ProjectName', 'in' => 'query', 'schema' => ['description' => 'The Project that manages the captured traffic.', 'type' => 'string', 'required' => false, 'example' => 'FlowLogProject', 'title' => ''], ], [ 'name' => 'LogStoreName', 'in' => 'query', 'schema' => ['description' => 'The Logstore that stores the captured traffic.', 'type' => 'string', 'required' => false, 'example' => 'FlowLogStore', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'The status of the flow log. Values:'."\n" .'- **Active**: The flow log is in an active state.'."\n" .'- **Activating**: The flow log is being created.'."\n" .'- **Inactive**: The flow log is in an inactive state.', 'type' => 'string', 'required' => false, 'example' => 'Active', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number, with a default value of **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of items per page in a paginated query, with a maximum value of **50** and a default value of **20**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '20', 'example' => '20', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC for which you want to view the flow log.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1nwd16gvo1wgs****', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The resource group ID of the flow log.', 'type' => 'string', 'required' => false, 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ 'description' => 'The list of tags.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of the tag. Up to 20 tag keys are supported. If you need to pass this value, it cannot be an empty string.'."\n" ."\n" .'A tag key can have up to 128 characters and cannot start with `aliyun` or `acs:`. It also cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of the tag. Up to 20 tag values are supported. If you need to pass this value, it can be an empty string.'."\n" ."\n" .'A tag value can have up to 128 characters and cannot start with `aliyun` or `acs:`. It also cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', ], 'required' => false, 'maxItems' => 10, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'Detailed information about the flow logs.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of items per page in a paginated query.', 'type' => 'string', 'example' => '20', 'title' => ''], 'PageNumber' => ['description' => 'The page number.', 'type' => 'string', 'example' => '1', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1', 'title' => ''], 'TotalCount' => ['description' => 'The number of entries in the queried flow log list.', 'type' => 'string', 'example' => '1', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Values:'."\n" .'- **true**: The call was successful.'."\n" .'- **false**: The call failed.', 'type' => 'string', 'example' => 'true', 'title' => ''], 'FlowLogs' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'FlowLog' => [ 'description' => 'List of flow logs.', 'type' => 'array', 'items' => [ 'description' => 'List of flow logs.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the flow log. Values:'."\n" .'- **Active**: The flow log is in an active state.'."\n" ."\n" .'- **Activating**: The flow log is being created.'."\n" ."\n" .'- **Inactive**: The flow log is in an inactive state.', 'type' => 'string', 'example' => 'Active', 'title' => ''], 'CreationTime' => ['description' => 'The creation time of the flow log.', 'type' => 'string', 'example' => '2022-01-21T03:08:50Z', 'title' => ''], 'FlowLogName' => ['description' => 'The name of the flow log.', 'type' => 'string', 'example' => 'myFlowlog', 'title' => ''], 'TrafficType' => ['description' => 'The type of traffic captured by the flow log. Values:'."\n" ."\n" .'- **All**: All traffic.'."\n" .'- **Allow**: Traffic allowed by access control.'."\n" .'- **Drop**: Traffic denied by access control.', 'type' => 'string', 'example' => 'All', 'title' => ''], 'ResourceType' => ['description' => 'The resource type of the traffic captured by the flow log:'."\n" ."\n" .'- **NetworkInterface**: Elastic network interface.'."\n" .'- **VSwitch**: All elastic network interfaces within a VSwitch.'."\n" .'- **VPC**: All elastic network interfaces within a VPC.', 'type' => 'string', 'example' => 'NetworkInterface', 'title' => ''], 'Description' => ['description' => 'The description of the flow log.', 'type' => 'string', 'example' => 'Description', 'title' => ''], 'ProjectName' => ['description' => 'The Project that manages the captured traffic.', 'type' => 'string', 'example' => 'FlowLogProject', 'title' => ''], 'LogStoreName' => ['description' => 'The Logstore where the captured traffic is stored.', 'type' => 'string', 'example' => 'FlowLogStore', 'title' => ''], 'ResourceId' => ['description' => 'The resource ID of the traffic captured by the flow log.', 'type' => 'string', 'example' => 'eni-askldfas****', 'title' => ''], 'RegionId' => ['description' => 'The region ID to which the flow log belongs.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'FlowLogId' => ['description' => 'The ID of the flow log.', 'type' => 'string', 'example' => 'fl-bp1f6qqhsrc2c12ta****', 'title' => ''], 'BusinessStatus' => ['description' => 'The business status. Values:'."\n" ."\n" .'- **Normal**: Normal status.'."\n" .'- **FinancialLocked**: Locked due to unpaid bills.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'AggregationInterval' => ['description' => 'The sampling interval of the flow log. Unit: minutes.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'TrafficPath' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'TrafficPathList' => [ 'description' => 'The path of the captured traffic. Values:'."\n" ."\n" .'- **all**: Indicates full collection.'."\n" .'- **internetGateway**: Indicates public network traffic collection.', 'type' => 'array', 'items' => ['description' => 'The path of the collected traffic. Values:'."\n" .'- **all** (default): indicates full collection. '."\n" .'- **internetGateway**: indicates public network traffic collection.', 'type' => 'string', 'example' => 'all', 'title' => ''], 'title' => '', ], ], 'description' => '', 'title' => '', ], 'ServiceType' => ['description' => 'The hosting type of the cloud service.'."\n" .'- It can be empty, indicating that the flow log was created by the user. '."\n" .'- When not empty, the only supported value is: **sls**, indicating that the flow log was created through the Log Service console.'."\n" .'> Flow log instances created through the Log Service console can be displayed in the VPC list, but they cannot be modified, started, stopped, or deleted within the VPC. If you need to perform these operations on the flow log, you can log in to the [Log Service console](https://sls.console.aliyun.com) to modify, start, stop, or delete it.', 'type' => 'string', 'example' => 'sls', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the flow log belongs.', 'type' => 'string', 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'List of tags', 'type' => 'array', 'items' => [ 'description' => 'List of tags', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'Tag key.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'Tag value.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', ], 'title' => '', ], ], 'description' => '', 'title' => '', ], 'FlowLogDeliverStatus' => ['description' => 'The delivery status of the flow log, with values:'."\n" .'- **SUCCESS**: Delivery succeeded. '."\n" .'- **FAILED**: Delivery failed.', 'type' => 'string', 'example' => 'FAILED', 'title' => ''], 'FlowLogDeliverErrorMessage' => ['description' => 'When log delivery fails, you can troubleshoot based on the error messages. Possible error messages include:'."\n" .'- **UnavaliableTarget**: The Logstore of the Log Service SLS is unavailable and cannot receive logs. It is recommended to check if the corresponding Logstore actually exists and is accessible. '."\n" .'- **ProjectNotExist**: The Project of the Log Service SLS does not exist. It is suggested to delete the original flow log and create a new one pointing to an existing Project. '."\n" .'- **UnknownError**: An internal error has occurred. Please try again later.', 'type' => 'string', 'example' => 'UnavaliableTarget', 'title' => ''], 'IpVersion' => ['description' => 'The type of IP address for collecting flow log traffic.', 'type' => 'string', 'example' => 'IPv4', 'title' => ''], ], 'title' => '', ], 'title' => '', ], ], 'description' => '', 'title' => '', ], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Instance does not exist.', 'description' => 'The error message returned because the specified instance does not exist.'], ['errorCode' => 'ProjectOrLogstoreNotExist', 'errorMessage' => 'The specified project or logstore does not exist.', 'description' => 'The error message returned because the specified project or Logstore does not exist.'], ['errorCode' => 'SourceProjectNotExist', 'errorMessage' => 'The Source Project or logstore does not exist.', 'description' => 'The error message returned because the source project or Logstore does not exist.'], ['errorCode' => 'Unauthorized', 'errorMessage' => 'This api does not support sub user or role.', 'description' => 'The error message returned because you cannot call this operation as a RAM user.'], ['errorCode' => 'ParameterInvalid', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because a parameter is invalid.'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query Flow Logs', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-02-26T11:03:27.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2025-02-21T05:35:50.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-09-25T15:16:14.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-07-06T01:32:53.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-03-06T12:01:51.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-10-13T02:16:28.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-03-14T05:19:28.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-03-14T05:19:28.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeFlowLogs', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'FlowLog', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:flowlog/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeForwardTableEntries' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where you want to create the NAT gateway.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ForwardTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the DNAT table.'."\n" ."\n" .'**'."\n" ."\n" .'**Description** You must specify at least one of **ForwardTableId** and **NatGatewayId**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ftb-bp1mbjubq34hlcqpa****', 'title' => ''], ], [ 'name' => 'ForwardEntryId', 'in' => 'query', 'schema' => ['description' => 'The ID of the DNAT entry.'."\n", 'type' => 'string', 'required' => false, 'example' => 'fwd-8vbn3bc8roygjp0gy****', 'title' => ''], ], [ 'name' => 'ExternalIp', 'in' => 'query', 'schema' => ['description' => '* The elastic IP addresses (EIPs) that can be accessed over the Internet when you query DNAT entries of Internet NAT gateways.'."\n" .'* The NAT IP addresses that can be accessed by external networks when you query DNAT entries of Virtual Private Cloud (VPC) NAT gateways.'."\n", 'type' => 'string', 'required' => false, 'example' => '116.28.XX.XX', 'title' => ''], ], [ 'name' => 'ExternalPort', 'in' => 'query', 'schema' => ['description' => '* The external port or port range that is used for port forwarding when you query DNAT entries of Internet NAT gateways.'."\n" ."\n" .' * Valid values: **1** to **65535**.'."\n" .' * If you want to query a port range, separate the first port and last port with a forward slash (/), such as `10/20`.'."\n" .' * If you set **ExternalPort** to a port range, you must also set **InternalPort** to a port range, and the number of ports specified by these parameters must be the same. For example, if you set **ExternalPort** to `10/20`, you can set **InternalPort** to `80/90`.'."\n" ."\n" .'* The port that is used when the NAT IP address can be accessed by external networks when you query DNAT entries of VPC NAT gateways. Valid values: **1** to **65535**.'."\n", 'type' => 'string', 'required' => false, 'example' => '8080', 'title' => ''], ], [ 'name' => 'InternalIp', 'in' => 'query', 'schema' => ['description' => 'The private IP address.'."\n" ."\n" .'* The private IP address of the ECS instance that uses DNAT entries to communicate with the Internet when you query DNAT entries of Internet NAT gateways.'."\n" .'* The private IP address that uses DNAT entries for communication when you query DNAT entries of VPC NAT gateways.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX ', 'title' => ''], ], [ 'name' => 'InternalPort', 'in' => 'query', 'schema' => ['description' => '* The internal port or port range that is used for port forwarding when you query DNAT entries of Internet NAT gateways. Valid values: **1** to **65535**.'."\n" .'* The port of the destination ECS instance to be mapped when you query DNAT entries of VPC NAT gateways. Valid values: **1** to **65535**.'."\n", 'type' => 'string', 'required' => false, 'example' => '80', 'title' => ''], ], [ 'name' => 'IpProtocol', 'in' => 'query', 'schema' => ['description' => 'The protocol. Valid values:'."\n" ."\n" .'* **TCP**'."\n" .'* **UDP**'."\n" .'* **Any**'."\n", 'type' => 'string', 'required' => false, 'example' => 'tcp', 'title' => ''], ], [ 'name' => 'ForwardEntryName', 'in' => 'query', 'schema' => ['description' => 'The name of the DNAT entry.'."\n" ."\n" .'The name must be 2 to 128 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ForwardEntry-1', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''], ], [ 'name' => 'NatGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the NAT gateway.'."\n" ."\n" .'**'."\n" ."\n" .'**Description** You must specify at least one of **ForwardTableId** and **NatGatewayId**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ngw-bp1uewa15k4iy5770****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'A6C4A8B1-7561-4509-949C-20DEB40D71E6', 'title' => ''], 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'ForwardTableEntries' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ForwardTableEntry' => [ 'description' => 'The details of DNAT entries.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the DNAT entry. Valid values:'."\n" ."\n" .'* **Pending**'."\n" .'* **Available**'."\n" .'* **Deleting**'."\n", 'type' => 'string', 'example' => 'Available', 'title' => ''], 'ForwardEntryId' => ['description' => 'The ID of the DNAT entry.'."\n", 'type' => 'string', 'example' => 'fwd-119smw5tk****', 'title' => ''], 'InternalIp' => ['description' => 'The private IP address.'."\n" ."\n" .'* The private IP address of the ECS instance that uses DNAT entries to communicate with the Internet when you query DNAT entries of Internet NAT gateways.'."\n" .'* The private IP address that uses DNAT entries when you query DNAT entries of VPC NAT gateways.'."\n", 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''], 'InternalPort' => ['description' => '* The internal port or port range that is used for port forwarding when you query DNAT entries of Internet NAT gateways.'."\n" .'* The destination ECS instance port to be mapped when you query DNAT entries of VPC NAT gateways.'."\n", 'type' => 'string', 'example' => '25', 'title' => ''], 'ForwardEntryName' => ['description' => 'The name of the DNAT entry.'."\n", 'type' => 'string', 'example' => 'ForwardEntry-1', 'title' => ''], 'ForwardTableId' => ['description' => 'The ID of the DNAT table to which the DNAT entry belongs.'."\n", 'type' => 'string', 'example' => 'ftb-11tc6xgmv****', 'title' => ''], 'IpProtocol' => ['description' => 'The protocol. Valid values:'."\n" ."\n" .'* **TCP**'."\n" .'* **UDP**'."\n" .'* **Any**'."\n", 'type' => 'string', 'example' => 'tcp', 'title' => ''], 'ExternalPort' => ['description' => '* The external port or port range that is used for port forwarding when you query DNAT entries of Internet NAT gateways.'."\n" .'* The port that is used when the NAT IP address can be accessed by external networks when you query DNAT entries of VPC NAT gateways.'."\n", 'type' => 'string', 'example' => '80', 'title' => ''], 'ExternalIp' => ['description' => '* The EIPs that can be accessed over the Internet when you query DNAT entries of Internet NAT gateways.'."\n" .'* The NAT IP addresses that can be accessed by external networks when you query DNAT entries of VPC NAT gateways.'."\n", 'type' => 'string', 'example' => '139.79.XX.XX', 'title' => ''], 'NatGatewayId' => ['description' => 'The ID of the NAT gateway to which the DNAT entry belongs.'."\n", 'type' => 'string', 'example' => 'ngw-bp1uewa15k4iy5770****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorretForwardEntryStatus', 'errorMessage' => 'Some Forward entry status blocked this operation..', 'description' => ''], ['errorCode' => 'DESCRIBE_FORWARD_PARAM_INVALID', 'errorMessage' => 'ForwardTableId and natGatewayId can not both be null', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidForwardTableId.NotFound', 'errorMessage' => 'Specified forwardTableId does not exist', 'description' => ''], ], ], 'title' => 'DescribeForwardTableEntries', 'summary' => 'Queries DNAT entries.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-08-09T03:15:06.000Z', 'description' => 'Response parameters changed, Response parameters changed'], ['createdAt' => '2023-03-01T06:45:55.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-09-19T02:47:18.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], 'ramActions' => [], '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 \\n","errorExample":""}]', ], 'DescribeGlobalAccelerationInstances' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the GA instance. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'IncludeReservationData', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to return information about pending orders. Valid values:'."\n" ."\n" .'* **false** (default)'."\n" .'* **true**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'GlobalAccelerationInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ga-234sljmxaz****'], ], [ 'name' => 'IpAddress', 'in' => 'query', 'schema' => ['description' => 'The public IP address of the GA instance.'."\n", 'type' => 'string', 'required' => false, 'example' => '12.xx.xx.78'], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the GA instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'GA-1'], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'The status of the GA instance. Valid values:'."\n" ."\n" .'* **Available**'."\n" .'* **Inuse**'."\n" .'* **Associating**'."\n" .'* **Unassociating**'."\n", 'type' => 'string', 'required' => false, 'example' => 'Available'], ], [ 'name' => 'BandwidthType', 'in' => 'query', 'schema' => ['description' => 'The bandwidth type of the GA instance. Valid values:'."\n" ."\n" .'* **Sharing**'."\n" .'* **Exclusive** (default)'."\n", 'type' => 'string', 'required' => false, 'example' => 'Exclusive'], ], [ 'name' => 'ServiceLocation', 'in' => 'query', 'schema' => ['description' => 'The region of the backend service. Valid values:'."\n" ."\n" .'* **china-mainland**'."\n" .'* **north-america**'."\n" .'* **asia-pacific**'."\n" .'* **europe**'."\n", 'type' => 'string', 'required' => false, 'example' => 'china-mainland'], ], [ 'name' => 'ServerId', 'in' => 'query', 'schema' => ['description' => 'The ID of the backend service instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-sxjblddejj9x****'], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '10', 'default' => '1'], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: **100**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'default' => '10'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6B4EE38D-C75B-4E1F-844E-863A94430676'], 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], 'GlobalAccelerationInstances' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'GlobalAccelerationInstance' => [ 'description' => 'The details of the GA instances.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'CreationTime' => ['description' => 'The time when the GA instance was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2018-07-05T03:39:31Z'], 'Status' => ['description' => 'The status of the GA instance.'."\n" ."\n" .'* **Available**'."\n" .'* **Inuse**'."\n" .'* **Associating**'."\n" .'* **Unassociating**'."\n", 'type' => 'string', 'example' => 'InUse'], 'BandwidthType' => ['description' => 'The bandwidth type of the GA instance.'."\n" ."\n" .'* **Sharing**'."\n" .'* **Exclusive** (default)'."\n", 'type' => 'string', 'example' => 'Exclusive'], 'ChargeType' => ['description' => 'The billing method of the GA instance.'."\n", 'type' => 'string', 'example' => 'PrePaid'], 'GlobalAccelerationInstanceId' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'example' => 'ga-bp1x99kj7kl1ziw5x****'], 'ServiceLocation' => ['description' => 'The service area of the GA instance.'."\n", 'type' => 'string', 'example' => 'china-mainland'], 'RegionId' => ['description' => 'The region ID of the GA instance.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou'], 'AccelerationLocation' => ['description' => 'The acceleration area of the GA instance.'."\n", 'type' => 'string', 'example' => 'china-mainland'], 'IpAddress' => ['description' => 'The public IP address of the dedicated GA instance.'."\n", 'type' => 'string', 'example' => '47.xx.xx.99'], 'Description' => ['description' => 'The description of the GA instance.'."\n", 'type' => 'string', 'example' => 'apiDescription'], 'Bandwidth' => ['description' => 'The maximum bandwidth of the GA instance.'."\n", 'type' => 'string', 'example' => '10'], 'ExpiredTime' => ['description' => 'The time when the instance expires.'."\n", 'type' => 'string', 'example' => '2018-08-05T16:00Z'], 'InternetChargeType' => ['description' => 'The billing method of the GA instance.'."\n", 'type' => 'string', 'example' => 'PayByBandwidth'], 'Name' => ['description' => 'The name of the GA instance.'."\n", 'type' => 'string', 'example' => 'instanceName'], 'BackendServers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'BackendServer' => [ 'description' => 'The details about the backend servers of the GA instance.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ServerIpAddress' => ['description' => 'The IP address of the backend server.'."\n", 'type' => 'string', 'example' => '172.xx.xx.109'], 'ServerId' => ['description' => 'The ID of the backend server.'."\n", 'type' => 'string', 'example' => 'i-2zeg83zvn5d4ed4y****'], 'ServerType' => ['description' => 'The type of the backend server.'."\n" ."\n" .'* **EcsInstance**: Elastic Compute Service (ECS) instance'."\n" .'* **SlbInstance**: Server Load Balancer (SLB) instance'."\n", 'type' => 'string', 'example' => 'EcsInstance'], 'RegionId' => ['description' => 'The region where the backend servers are deployed.'."\n", 'type' => 'string', 'example' => 'cn-beijing'], ], ], ], ], ], 'PublicIpAddresses' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'PublicIpAddress' => [ 'description' => 'The public IP address.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'IpAddress' => ['description' => 'The public IP address of the GA instance.'."\n", 'type' => 'string', 'example' => '12.xx.xx.78'], 'AllocationId' => ['description' => 'The ID of the public IP address of the GA instance.'."\n", 'type' => 'string', 'example' => 'eip-bp19yqraac4w3y0jd****'], ], ], ], ], ], ], ], ], ], ], ], ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not supported.', 'description' => ''], ], ], 'title' => 'DescribeGlobalAccelerationInstances', 'summary' => 'Queries Global Accelerator (GA) instances.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeGlobalAccelerationInstances', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'GlobalAccelerationInstance', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:globalaccelerationinstance/*'], ], ], ], ], ], 'DescribeGrantRulesToCen' => [ 'summary' => 'Queries cross-account authorization on virtual private clouds (VPCs), virtual border routers (VBRs), and Cloud Connect Network (CCN) instances.', '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' => 'The region ID of the network instance that you want to query.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the network instance that you want to query.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vpc-bp18sth14qii3pnvc****', 'title' => ''], ], [ 'name' => 'InstanceType', 'in' => 'query', 'schema' => ['description' => 'The type of the network instance. Valid values:'."\n" ."\n" .'* **VPC**'."\n" .'* **VBR**'."\n" .'* **CCN**'."\n", 'type' => 'string', 'required' => true, 'example' => 'VPC', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the network instance belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4p**** ', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among all requests. ClientToken can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request may be different.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000 ', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Minimum value: **1**. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**. Minimum value: **1**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'F5BB78C8-5F41-464F-B9FF-5E0A7198BA26', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'CenGrantRules' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'CbnGrantRule' => [ 'description' => 'The information about the authorization.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'CenInstanceId' => ['description' => 'The ID of the authorized CEN instance.'."\n", 'type' => 'string', 'example' => 'cen-9gsm1q2yh1prpt****', 'title' => ''], 'CenOwnerId' => ['description' => 'The UID of the Alibaba Cloud account to which the authorized CEN instance belongs.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '132193271328****', 'title' => ''], 'CreationTime' => ['description' => 'The time when the instance was created.'."\n", 'type' => 'string', 'example' => '2019-11-15T09:26:36Z', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'User not authorized to operate on the specified resource.'], ], ], 'title' => 'DescribeGrantRulesToCen', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-07-31T02:45:59.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-01-03T06:55:44.000Z', 'description' => 'Request parameters changed, Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeGrantRulesToEcr' => [ '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' => 'The number of the page to return. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VBR.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vbr-xxxxxx', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazdjdhd****', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag list.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag keys. You must specify at least one tag key and at most 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length. The tag key cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of the tag.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'C1CCAB91-6AE6-50E3-AAA3-D0E5A2BC6ADE'], 'EcrGrantRules' => [ 'description' => 'The cross-account authorization list of the ECR'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'EcrUid' => ['description' => 'The ECR account ID.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '11111111111', 'title' => ''], 'CreateTime' => ['description' => 'The authorization time. The time follows the ISO8601 standard and uses UTC time. The format is YYYY-MM-DDThh:mm:ssZ.'."\n", 'type' => 'string', 'example' => '2025-09-15T14:00:00Z', 'title' => ''], 'EcrInstanceId' => ['description' => 'The ECR account ID.'."\n", 'type' => 'string', 'example' => 'ecr-xxxxxx', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'Count' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'PageNumber' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries on each page. Maximum value: 50. Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParam.NotNull', 'errorMessage' => 'The parameter must not be null.', 'description' => ''], ['errorCode' => 'Parameter.Illegal', 'errorMessage' => 'The parameter is illegal.', 'description' => 'The parameter is invalid.'], ['errorCode' => 'Instance.StatusError', 'errorMessage' => 'The status of instance error. ', 'description' => ''], ], 404 => [ ['errorCode' => 'VRouterId.NotFound', 'errorMessage' => 'The VRouter not found.', 'description' => 'The specified vRouter cannot be found.'], ['errorCode' => 'Instance.NotExist', 'errorMessage' => 'The instance not exist.', 'description' => ''], ], ], 'title' => 'DescribeGrantRulesToEcr', 'summary' => 'Queries the cross-account authorization list of an Express Connect Router (ECR).', 'changeSet' => [], 'ramActions' => [], '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"}]', 'translator' => 'manual', ], 'DescribeHaVips' => [ 'summary' => 'Queries HaVips in a region.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the HaVip.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The number of the returned page. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], ], [ 'name' => 'Filter', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The details of the filter condition.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The filter keys. You can specify at most five filter keys. Valid values of **N**: **1 to 5**. The following filter keys are supported:'."\n" ."\n" .'* **VpcId**: virtual private cloud (VPC) ID'."\n" .'* **VSwitchId**: vSwitch ID'."\n" .'* **Status**: HaVip status'."\n" .'* **HaVipId**: HaVip ID'."\n" .'* **HaVipAddress**: HaVip IP address'."\n" ."\n" .'You can specify multiple values for each filter key. The logical operator among multiple values is OR. If one value is matched, the filter key is matched.'."\n" ."\n" .'The logical operator among multiple filter keys is AND. HaVips can be queried only if all filter keys are matched.', 'type' => 'string', 'required' => false, 'example' => 'HaVipId', 'title' => ''], 'Value' => [ 'description' => 'The value of the filter key. Valid values of **N**: **1 to 5**.'."\n", 'type' => 'array', 'items' => ['description' => 'The filter values for filter keys. You can specify multiple filter values for one key. The logical operator between filter values is OR. If one filter value is matched, the filter key is matched.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Active', 'title' => ''], 'required' => false, 'example' => 'havip-bp19o63nequs01i8d****', 'maxItems' => 10, 'title' => '', ], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 6, 'title' => '', 'example' => '', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the HaVip belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag list.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N to add to the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of tag N to add to the resource. You can specify at most 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'description' => 'The number of entries per page.'."\n", 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '33E480C5-B46F-4CA5-B6FD-D77C746E86AB', 'title' => ''], 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'HaVips' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'HaVip' => [ 'description' => 'The details about the HaVip.', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'VpcId' => ['description' => 'The ID of the VPC to which the HaVip belongs.', 'type' => 'string', 'example' => 'vpc-bp1kcm36tevkpms97****', 'title' => ''], 'Status' => ['description' => 'The status of the HaVip. Valid values:'."\n" ."\n" .'* **Creating**: The server group is being created.'."\n" .'* **Available**: The FULLNAT entry is available.'."\n" .'* **Deleting**', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'HaVipId' => ['description' => 'The ID of the HaVip.', 'type' => 'string', 'example' => 'havip-bp149uyvut73dpld****', 'title' => ''], 'AssociatedInstanceType' => ['description' => 'The type of the instance with which the HaVip is associated. Valid values:'."\n" ."\n" .'* **EcsInstance**: Elastic Compute Service (ECS) instance'."\n" .'* **NetworkInterface**: elastic network interface (ENI)', 'type' => 'string', 'example' => 'EcsInstance', 'title' => ''], 'CreateTime' => ['description' => 'The time when the HaVip was created.', 'type' => 'string', 'example' => '2021-07-03T14:25:26Z', 'title' => ''], 'ChargeType' => ['description' => 'The parameter is invalid. No value is returned.'."\n", 'type' => 'string', 'example' => 'none', 'title' => ''], 'RegionId' => ['description' => 'The ID of the region to which the HaVip belongs.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'VSwitchId' => ['description' => 'The ID of the vSwitch to which the HaVip belongs.', 'type' => 'string', 'example' => 'vsw-bp1pkt1fba8e824ez****', 'title' => ''], 'IpAddress' => ['description' => 'The private IP address of the HaVip.', 'type' => 'string', 'example' => '192.168.24.5', 'title' => ''], 'Description' => ['description' => 'The description of the HaVip.', 'type' => 'string', 'example' => 'My HaVip', 'title' => ''], 'MasterInstanceId' => ['description' => 'The ID of the active instance that is associated with the HaVip.', 'type' => 'string', 'example' => 'i-bp145q7glnuzdvz****', 'title' => ''], 'Name' => ['description' => 'The name of the HaVip.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'AssociatedEipAddresses' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'associatedEipAddresse' => [ 'description' => 'The list of EIPs associated with the HaVip.', 'type' => 'array', 'items' => ['description' => 'The EIP that is associated with the HaVip.', 'type' => 'string', 'example' => '121.12.XX.XX', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'AssociatedInstances' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'associatedInstance' => [ 'description' => 'The information about the instance associated with the HaVip.', 'type' => 'array', 'items' => ['description' => 'The ID of the instance with which the HaVip is associated.', 'type' => 'string', 'example' => 'i-bp145q7glnuzdvzu21****', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the HaVip belongs.', 'type' => 'string', 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The tag list.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N added to the resource.'."\n", 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of tag N added to the resource.'."\n", 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Forbidden.HaVip', 'errorMessage' => 'No permissions to perform operations on HAVIPs. Please apply for privilege--vpc_privilege_allow_buy_havip_instance.', 'description' => 'The error message returned because you do not have the permissions to manage the HAVIP. Go to the Quota Center page to acquire the permissions.'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidFilterKey.ValueNotSupported', 'errorMessage' => 'Specified filter key is not supported: Filter.X.key', 'description' => ''], ], ], 'title' => 'DescribeHaVips', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-01-11T06:07:05.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-01-10T15:26:11.000Z', 'description' => 'Error codes changed, Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeHaVips', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'HaVip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeHaVips'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'DescribeHighDefinitionMonitorLogAttribute' => [ 'summary' => 'Queries configurations about the fine-grained monitoring feature of an elastic IP address (EIP).', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'autoTest' => true, 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the instance.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance whose fine-grained monitoring configurations you want to query.'."\n", 'type' => 'string', 'required' => true, 'example' => 'eip-wz9fi6qboho9fwgx7****', 'title' => ''], ], [ 'name' => 'InstanceType', 'in' => 'query', 'schema' => ['description' => 'The type of the instance. Set the value to **EIP**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'EIP', 'default' => 'EIP', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'LogProject' => ['description' => 'The name of the project.'."\n", 'type' => 'string', 'example' => 'hdmonitor-cn-shenzhen-1658206966225390', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457', 'title' => ''], 'LogStore' => ['description' => 'The name of the Logstore.'."\n", 'type' => 'string', 'example' => 'hdmonitor', 'title' => ''], 'Success' => ['description' => 'Indicates whether the operation is performed. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], 'InstanceId' => ['description' => 'The ID of the instance whose fine-grained monitoring configurations you want to query.'."\n", 'type' => 'string', 'example' => 'eip-wz9fi6qboho9fwgx7****', 'title' => ''], 'InstanceType' => ['description' => 'The type of instance for which you want to query fine-grained monitoring. Only **EIP** may be returned.'."\n", 'type' => 'string', 'example' => 'EIP', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Instance does not exist.', 'description' => 'The error message returned because the specified instance does not exist.'], ['errorCode' => 'ProjectNotExist', 'errorMessage' => 'The Project does not exist.', 'description' => ''], ['errorCode' => 'ParameterInvalid', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because a parameter is invalid.'], ['errorCode' => 'InvalidHdMonitorStatus', 'errorMessage' => 'Current instance status is not valid for this action.', 'description' => ''], ['errorCode' => 'InvalidAction.NotSupport', 'errorMessage' => 'This region does not support this action.', 'description' => ''], ['errorCode' => 'InvalidAllocationId.NotFound', 'errorMessage' => 'Specified allocation id is not found.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeHighDefinitionMonitorLogAttribute', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-06-13T02:40:57.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'DescribeIPv6TranslatorAclListAttributes' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region of the ACL.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'AclId', 'in' => 'query', 'schema' => ['description' => 'The ACL ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ipv6transacl-bp1de2****'], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1'], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '10'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'AclId' => ['description' => 'The ACL ID.'."\n", 'type' => 'string', 'example' => 'ipv6transacl-bp1de2****'], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45'], 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20'], 'AclName' => ['description' => 'The name of the ACL.'."\n", 'type' => 'string', 'example' => 'acl1'], 'AclEntries' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'AclEntry' => [ 'description' => 'The ACLs.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The details of the ACL.'."\n", 'type' => 'object', 'properties' => [ 'AclEntryComment' => ['description' => 'The remarks of the ACL entry.'."\n", 'type' => 'string', 'example' => 'client IP'], 'AclEntryId' => ['description' => 'The ID of the ACL entry.'."\n", 'type' => 'string', 'example' => 'ipv6transaclentry-bp105jrs****'], 'AclEntryIp' => ['description' => 'The IP address specified in the ACL entry.'."\n", '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.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], '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' => 'DescribeIPv6TranslatorAclListAttributes', 'summary' => 'Queries the details of an access control list (ACL), including the specified IP addresses and associated IPv6 mapping entries.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'DescribeIPv6TranslatorAclLists' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => true, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region of the ACL.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'AclId', 'in' => 'query', 'schema' => ['description' => 'The ID of the ACL.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ipv6transacl-bp1de2****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '10', 'title' => ''], ], [ 'name' => 'AclName', 'in' => 'query', 'schema' => ['description' => 'The name of the ACL.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acl1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'Ipv6TranslatorAcls' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'IPv6TranslatorAcl' => [ 'description' => 'The list of network ACLs.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'AclName' => ['description' => 'The ACL name.'."\n", 'type' => 'string', 'example' => 'acl1', 'title' => ''], 'AclId' => ['description' => 'The ACL ID.'."\n", 'type' => 'string', 'example' => 'ipv6transacl-bp1de2****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidName', 'errorMessage' => 'The specified value of name is not supported.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], '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' => 'DescribeIPv6TranslatorAclLists', 'summary' => 'Queries access control lists (ACLs).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeIPv6TranslatorAclLists', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeIPv6TranslatorAclLists'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'DescribeIPv6TranslatorEntries' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => true, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region of the IPv6 Translation Service instance. You can call the **DescribeRegions** operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Ipv6TranslatorId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'ipv6trans-bp1858ysxx****'], ], [ 'name' => 'Ipv6TranslatorEntryId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 mapping entry.'."\n" ."\n" .'> If **Ipv6TranslatorId** and **Ipv6TranslatorEntryId** are empty, information about all IPv6 mapping entries is returned. If only **Ipv6TranslatorEntryId** is empty, information about the IPv6 mapping entries of the current IPv6 Translation Service instance is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ipv6transentry-bp1g8bhrde****'], ], [ 'name' => 'EntryName', 'in' => 'query', 'schema' => ['description' => 'The name of the IPv6 mapping entry.'."\n", 'type' => 'string', 'required' => false, 'example' => 'entryname'], ], [ 'name' => 'AllocateIpv6Addr', 'in' => 'query', 'schema' => ['description' => 'The IPv6 address allocated to the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'required' => false, 'example' => '2400:3200:1600::XX'], ], [ 'name' => 'AllocateIpv6Port', 'in' => 'query', 'schema' => ['description' => 'The port used by the IPv6 address allocated to the IPv6 Translation Service instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80'], ], [ 'name' => 'BackendIpv4Addr', 'in' => 'query', 'schema' => ['description' => 'The public IPv4 address that needs to provide IPv6 services.'."\n", 'type' => 'string', 'required' => false, 'example' => '47.99.XX.XX'], ], [ 'name' => 'BackendIpv4Port', 'in' => 'query', 'schema' => ['description' => 'The port used by the public IPv4 address that needs to provide IPv6 services.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80'], ], [ 'name' => 'TransProtocol', 'in' => 'query', 'schema' => ['description' => 'The protocol used by the data to be forwarded.'."\n", 'type' => 'string', 'required' => false, 'example' => 'tcp'], ], [ 'name' => 'AclStatus', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable access control lists (ACLs). Valid values:'."\n" ."\n" .'* **on**'."\n" .'* **off**'."\n", 'type' => 'string', 'required' => false, 'example' => 'off'], ], [ 'name' => 'AclType', 'in' => 'query', 'schema' => ['description' => 'The ACL type. Valid values:'."\n" ."\n" .'* **white**: a whitelist. IPv6 addresses in the ACL are allowed to access backend services.'."\n" .'* **black**: a blacklist. IPv6 addresses in the ACL are not allowed to access backend services.'."\n", 'type' => 'string', 'required' => false, 'example' => 'white'], ], [ 'name' => 'AclId', 'in' => 'query', 'schema' => ['description' => 'The ID of the network ACL.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ipv6transacl-bp1de2****'], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1'], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '10'], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45'], 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], 'TotalCount' => ['description' => 'The number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], 'Ipv6TranslatorEntries' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Ipv6TranslatorEntry' => [ 'description' => 'The IPv6 mapping entries that are queried.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The details of the IPv6 mapping entry.'."\n", 'type' => 'object', 'properties' => [ 'AclType' => ['description' => 'The ACL type.'."\n" ."\n" .'* **white**: a whitelist. IPv6 addresses in the ACL are allowed to access backend services.'."\n" .'* **black**: a blacklist. IPv6 addresses in the ACL are not allowed to access backend services.'."\n", 'type' => 'string', 'example' => 'white'], 'EntryStatus' => ['description' => 'The status of the IPv6 mapping entry.'."\n", 'type' => 'string', 'example' => 'active'], 'TransProtocol' => ['description' => 'The protocol.'."\n", 'type' => 'string', 'example' => 'tcp'], 'Ipv6TranslatorId' => ['description' => 'The ID of the IPv6 Translation Service instance to which the IPv6 mapping entry belongs.'."\n", 'type' => 'string', 'example' => 'ipv6trans-bp1858ys****'], 'EntryDescription' => ['description' => 'The description of the IPv6 mapping entry.'."\n", 'type' => 'string', 'example' => 'description'], 'Ipv6TranslatorEntryId' => ['description' => 'The ID of the IPv6 mapping entry.'."\n", 'type' => 'string', 'example' => 'ipv6transentry-bp1g8bhrde****'], 'AllocateIpv6Port' => ['description' => 'The port used by the IPv6 address allocated to the IPv6 Translation Service instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'], 'BackendIpv4Addr' => ['description' => 'The public IP address of the backend IPv4 server.'."\n", 'type' => 'string', 'example' => '47.99.XX.XX'], 'BackendIpv4Port' => ['description' => 'The public IPv4 port used by the IPv4 server that needs to provide IPv6 access.'."\n", 'type' => 'string', 'example' => '80'], 'RegionId' => ['description' => 'The region of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou'], 'EntryBandwidth' => ['description' => 'The bandwidth specified in the IPv6 mapping entry.'."\n", 'type' => 'string', 'example' => '1'], 'AclId' => ['description' => 'The ID of the associated ACL.'."\n", 'type' => 'string', 'example' => 'ipv6transacl-bp1de2****'], 'EntryName' => ['description' => 'The name of the IPv6 mapping entry.'."\n", 'type' => 'string', 'example' => 'name'], 'AclStatus' => ['description' => 'Indicates whether ACLs are enabled.'."\n", 'type' => 'string', 'example' => 'on'], 'AllocateIpv6Addr' => ['description' => 'The IPv6 address allocated to the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'example' => '2400:3200:1600::XX'], ], ], ], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidName', 'errorMessage' => 'The specified value of name not supported.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.InvalidPort', 'errorMessage' => 'The specified port is invalid.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.InvalidProtocol', 'errorMessage' => 'The specified transProtocol is invalid.', 'description' => ''], ['errorCode' => 'InvalidIpAddress.WrongFormat', 'errorMessage' => 'The specified ip address is invalid.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.InvalidAclStatus', 'errorMessage' => 'The specified acl status is invalid.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.InvalidAclType', 'errorMessage' => 'The specified acl type is invalid.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], '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' => 'DescribeIPv6TranslatorEntries', 'summary' => 'Queries IPv6 mapping entries.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'DescribeIPv6Translators' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => true, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region of the IPv6 Translation Service instance. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Ipv6TranslatorId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ipv6trans-bp1858ys****'], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ipv6_1'], ], [ 'name' => 'Spec', 'in' => 'query', 'schema' => ['description' => 'The specification of the IPv6 Translation Service instance. Set the value to **small**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'small'], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'The status of the IPv6 Translation Service instance. Valid values:'."\n" ."\n" .'* **init**'."\n" .'* **provisioning**'."\n" .'* **active**'."\n" .'* **updating**'."\n" .'* **upgrading**'."\n" .'* **deleting**'."\n" .'* **deleted**'."\n", 'type' => 'string', 'required' => false, 'example' => 'active'], ], [ 'name' => 'AllocateIpv6Addr', 'in' => 'query', 'schema' => ['description' => 'The IPv6 address allocated to the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'required' => false, 'example' => '2400:3200:1600::XXXX'], ], [ 'name' => 'AllocateIpv4Addr', 'in' => 'query', 'schema' => ['description' => 'The IPv4 address allocated to the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'required' => false, 'example' => '47.99.XX.XX'], ], [ 'name' => 'PayType', 'in' => 'query', 'schema' => ['description' => 'The billing method of the IPv6 Translation Service instance. Valid values:'."\n" ."\n" .'* **Prepay**: subscription'."\n" .'* **Postpay**: pay-as-you-go'."\n", 'type' => 'string', 'required' => false, 'example' => 'Prepay'], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1'], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '10'], ], [ 'name' => 'BusinessStatus', 'in' => 'query', 'schema' => ['description' => 'The business status of the IPv6 Translation Service instance. Valid values:'."\n" ."\n" .'* **Normal**'."\n" .'* **FinancialLocked**'."\n", 'type' => 'string', 'required' => false, 'example' => 'Normal'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45'], 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], 'TotalCount' => ['description' => 'The number of returned entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], 'Ipv6Translators' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Ipv6Translator' => [ 'description' => 'The list of IPv6 Translation Service instances.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The details of the IPv6 Translation Service instance.'."\n", 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'example' => 'active'], 'Spec' => ['description' => 'The specification of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'example' => 'small'], 'CreateTime' => ['description' => 'The timestamp when the IPv6 Translation Service instance was created.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1537151540000'], 'PayType' => ['description' => 'The billing method of the IPv6 Translation Service instance.'."\n" ."\n" .'* **Prepay**: subscription'."\n" .'* **Postpay**: pay-as-you-go'."\n", 'type' => 'string', 'example' => 'Prepay'], 'Ipv6TranslatorId' => ['description' => 'The ID of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'example' => 'ipv6trans-bp1858ys*****'], 'AllocateIpv4Addr' => ['description' => 'The IPv4 address allocated to the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'example' => '47.99.XX.XX'], 'AvailableBandwidth' => ['description' => 'The bandwidth of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'example' => '1'], 'RegionId' => ['description' => 'The region of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou'], 'EndTime' => ['description' => 'The timestamp when IPv6 Translation Service instance expires.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1539792000000'], 'Description' => ['description' => 'The description of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'example' => 'descriptionforinstance'], 'Bandwidth' => ['description' => 'The bandwidth of the IPv6 Translation Service instance. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], 'BusinessStatus' => ['description' => 'The business status of the IPv6 Translation Service instance. Valid values:'."\n" ."\n" .'* **Normal**'."\n" .'* **FinancialLocked**'."\n", 'type' => 'string', 'example' => 'Normal'], 'AllocateIpv6Addr' => ['description' => 'The IPv6 address allocated to the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'example' => '2400:3200:1600::XXXX'], 'Name' => ['description' => 'The name of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'example' => 'test'], 'Ipv6TranslatorEntryIds' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Ipv6TranslatorEntryId' => [ 'description' => 'The IDs of IPv6 mapping entries of the IPv6 Translation Service instance.'."\n", 'type' => 'array', 'items' => ['description' => 'The ID of the IPv6 mapping entry.'."\n", 'type' => 'string', 'example' => '["ipv6transentry-bp1kp5ixtm3001vmn****", "ipv6transentry-bp16dg87v006zwrd6****"]'], ], ], ], ], ], ], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'PayType.NotSupport', 'errorMessage' => 'The specified pay type is not support.', 'description' => ''], ['errorCode' => 'BusinessStatus.NotSupport', 'errorMessage' => 'The specified business status is not supported.', 'description' => ''], ['errorCode' => 'InvalidIpAddress.WrongFormat', 'errorMessage' => 'The specified ip address is invalid.', 'description' => ''], ['errorCode' => 'Status.NotSupport', 'errorMessage' => 'The specified value of status is not supported.', 'description' => ''], ['errorCode' => 'InvalidName', 'errorMessage' => 'The specified value of name is not supported.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], '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' => 'DescribeIPv6Translators', 'summary' => 'Queries IPv6 Translation Service instances.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'DescribeIpv6Addresses' => [ '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' => 'The ID of the region in which you want to query IPv6 addresses. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote'], ], [ 'name' => 'Ipv6AddressId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 address that you want to query. You can enter at most 20 IPv6 address IDs in each API request. Separate IPv6 address IDs with commas (,).'."\n", 'type' => 'string', 'required' => false, 'example' => 'ipv6-2zen5j4axcp5l5qyy****'], ], [ 'name' => 'Ipv6Address', 'in' => 'query', 'schema' => ['description' => 'The IPv6 address that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => '2408:XXXX:153:3921:851c:c435:7b12:1c5f'], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the IPv6 address that you want to query.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ 'name' => 'AddressType', 'in' => 'query', 'schema' => ['description' => 'The type of IP address. Valid values:'."\n" ."\n" .'- IPv6Address (default): indicates an IPv6 instance used to query a single IPv6 address.'."\n" ."\n" .'- IPv6Prefix: indicates an IPv6 instance used to query prefix CIDR blocks.', 'type' => 'string', 'required' => false, 'example' => 'IPv6Address'], ], [ 'name' => 'AssociatedInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance that is assigned the IPv6 address.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-2ze72wuqj4y3jl4f****'], ], [ 'name' => 'AssociatedInstanceType', 'in' => 'query', 'schema' => ['description' => 'The type of instance associated with the IPv6 address. Valid values:'."\n" ."\n" .'* **EcsInstance**: Elastic Compute Service (ECS) instance in a virtual private cloud (VPC)'."\n" .'* **NetworkInterface**: secondary elastic network interface (ENI)'."\n", 'type' => 'string', 'required' => false, 'example' => 'EcsInstance'], ], [ 'name' => 'NetworkType', 'in' => 'query', 'schema' => ['description' => 'The type of communication supported by the IPv6 address. Valid values:'."\n" ."\n" .'* **Private**'."\n" .'* **Public**'."\n", 'type' => 'string', 'required' => false, 'example' => 'Private'], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC to which the IPv6 address belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vpc-bp15zckdt37pq72zv****'], ], [ 'name' => 'VSwitchId', 'in' => 'query', 'schema' => ['description' => 'The ID of the vSwitch to which the IPv6 address belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vsw-25navfgbue4g****'], ], [ 'name' => 'Ipv6InternetBandwidthId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet bandwidth that you purchased for the IPv6 address.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ipv6bw-uf6hcyzu65v98v3du****'], ], [ 'name' => 'IncludeReservationData', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to return information about pending orders. Valid values:'."\n" ."\n" .'* **false** (default)'."\n" .'* **true**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the IPv6 gateway belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-bp67acfmxazb4ph****'], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag list.', 'type' => 'array', 'items' => [ 'description' => 'The tag list.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N. You can specify at most 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot start with aliyun or acs:, and cannot contain http:// or https://.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept'], 'Value' => ['description' => 'The value of tag N.'."\n" ."\n" .'The tag value can be up to 128 characters in length. It can be an empty string. It cannot start with aliyun or acs:, and cannot contain http:// or https://.'."\n" ."\n" .'Each tag key corresponds to one tag value. You can specify at most 20 tag values at a time.', 'type' => 'string', 'required' => false, 'example' => 'yunke'], ], 'required' => false, ], 'required' => false, 'maxItems' => 21, ], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1'], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'default' => '10'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region in which you want to query IPv6 addresses. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote'], ], [ 'name' => 'ServiceManaged', 'in' => 'query', 'schema' => ['description' => 'Indicates whether the instance is managed. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n" ."\n" .'If you do not specify this parameter, all instances are queried.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries returned per page. Maximum value: **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'AA4486A8-B6AE-469E-AB09-820EF8ECFA2B'], 'PageNumber' => ['description' => 'The page number of the returned page. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], 'TotalCount' => ['description' => 'The number of returned entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2'], 'Ipv6Addresses' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Ipv6Address' => [ 'description' => 'The details of the IPv6 address.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'VpcId' => ['description' => 'The ID of the VPC to which the IPv6 address belongs.'."\n", 'type' => 'string', 'example' => 'vpc-bp15zckdt37pq72zv****'], 'Status' => ['description' => 'The status of the IPv6 address.'."\n" ."\n" .'* **Pending**'."\n" .'* **Available**'."\n", 'type' => 'string', 'example' => 'Available'], 'Ipv6AddressId' => ['description' => 'The ID of the IPv6 address.'."\n", 'type' => 'string', 'example' => 'ipv6-2zen5j4axcp5l5qyy****'], 'AllocationTime' => ['description' => 'The time when the IPv6 address was created.'."\n", 'type' => 'string', 'example' => '2020-12-20T14:56:09Z'], 'Ipv6AddressName' => ['description' => 'The name of the IPv6 address.'."\n", 'type' => 'string', 'example' => 'test'], 'Ipv6AddressDescription' => ['description' => 'The description of the IPv6 address.'."\n", 'type' => 'string', 'example' => 'test'], 'AssociatedInstanceType' => ['description' => 'The type of instance associated with the IPv6 address.'."\n", 'type' => 'string', 'example' => 'EcsInstance'], 'AssociatedInstanceId' => ['description' => 'The ID of the instance associated with the IPv6 address.'."\n", 'type' => 'string', 'example' => 'i-2ze72wuqj4y3jl4f****'], 'NetworkType' => ['description' => 'The type of connection supported by the IPv6 address. Valid values:'."\n" ."\n" .'* **Private**'."\n" .'* **Public**'."\n", 'type' => 'string', 'example' => 'Private'], 'Ipv6Address' => ['description' => 'The IPv6 address.'."\n", 'type' => 'string', 'example' => '2408:XXXX:153:3921:851c:c435:7b12:1c5f'], 'AddressType' => ['description' => 'The type of IPv6 address. Valid values:'."\n" ."\n" .'* IPv6Address (default): indicates a single IPv6 IP.'."\n" .'* IPv6Prefix: indicates IPv6 CIDR.', 'type' => 'string', 'example' => 'IPv6Address'], 'Ipv6Isp' => ['description' => 'The ISP of the IPv6 address. Valid values:'."\n" ."\n" .'* **BGP** (default)'."\n" .'* **ChinaMobile**'."\n" .'* **ChinaUnicom**'."\n" .'* **ChinaTelecom**'."\n", 'type' => 'string', 'example' => 'BGP'], 'VSwitchId' => ['description' => 'The ID of the vSwitch to which the IPv6 address belongs.'."\n", 'type' => 'string', 'example' => 'vsw-25navfgbue4g****'], 'Ipv6GatewayId' => ['description' => 'The ID of the IPv6 gateway to which the IPv6 address belongs.'."\n", 'type' => 'string', 'example' => 'ipv6gw-2zewg0l66s73b4k2q****'], 'RealBandwidth' => ['description' => 'The peak bandwidth of the IPv6 address.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'], 'Ipv6InternetBandwidth' => [ 'description' => 'The Internet bandwidth of the IPv6 address.'."\n", 'type' => 'object', 'properties' => [ 'InternetChargeType' => ['description' => 'The billing method of the Internet bandwidth of the IPv6 address. Valid values:'."\n" ."\n" .'* **PayByTraffic**'."\n" .'* **PayByBandwidth**'."\n", 'type' => 'string', 'example' => 'PayByTraffic'], 'BusinessStatus' => ['description' => 'The status of the Internet bandwidth of the IPv6 address. Valid values:'."\n" ."\n" .'* **Normal**'."\n" .'* **FinancialLocked**'."\n" .'* **SecurityLocked**'."\n", 'type' => 'string', 'example' => 'Normal'], 'Bandwidth' => ['description' => 'The dedicated Internet bandwidth of the IPv6 address. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'], 'Ipv6InternetBandwidthId' => ['description' => 'The Internet bandwidth ID of the IPv6 address.'."\n", 'type' => 'string', 'example' => 'ipv6bw-hp3b35oq1fj50kbv****'], 'InstanceChargeType' => ['description' => 'The billing method of the Internet bandwidth of the IPv6 address. Valid values:'."\n" ."\n" .'Only **PostPaid** may be returned, which indicates the pay-as-you-go billing method.'."\n", 'type' => 'string', 'example' => 'PostPaid'], 'HasReservationData' => ['description' => 'Indicates whether renewal data is included. Valid values:'."\n" ."\n" .'* **false**'."\n" .'* **true** **true** is returned only when **IncludeReservationData** is set to **true** and some orders have not taken effect.'."\n", 'type' => 'boolean', 'example' => 'false'], 'ReservationInternetChargeType' => ['description' => 'The metering method that is used after the renewal takes effect.'."\n" ."\n" .'* **PayByTraffic**'."\n" .'* **PayByBandwidth**'."\n", 'type' => 'string', 'example' => 'PayByTraffic'], 'ReservationOrderType' => ['description' => 'The type of the renewal order. Only **RENEW** may be returned, which indicates that the order is placed for service renewal.'."\n", 'type' => 'string', 'example' => 'RENEW'], 'ReservationActiveTime' => ['description' => 'The time when the renewal takes effect. The time is displayed in the `YYYY-MM-DDThh:mm:ssZ` format.'."\n", 'type' => 'string', 'example' => '2021-05-23T16:00:00Z'], 'ReservationBandwidth' => ['description' => 'The maximum bandwidth after the renewal takes effect. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '12'], ], ], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the IPv6 gateway belongs.'."\n", 'type' => 'string', 'example' => 'rg-bp67acfmxazb4ph****'], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The tag list.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The tag list.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length. The tag key cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'example' => 'FinanceDept'], 'Value' => ['description' => 'The tag value.'."\n" ."\n" .'The tag value can be up to 128 characters in length. It can be an empty string. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n" ."\n" .'Each tag key corresponds to one tag value. You can specify at most 20 tag values at a time.'."\n", 'type' => 'string', 'example' => 'yunke'], ], ], ], ], ], 'ServiceManaged' => ['description' => 'Indicates whether the instance is managed. Valid values:'."\n" ."\n" .'* **1**: yes'."\n" .'* **0**: no'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], ], ], ], ], ], ], 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.Ipv6Address', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The IPv6 address is invalid.'], ['errorCode' => 'IllegalParam.NetworkType', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'Invalid NetworkType value.'], ['errorCode' => 'IllegalParam.AddressType', 'errorMessage' => 'The specified AddressType is illegal.', 'description' => 'The specified input AddressType is illegal.'], ['errorCode' => 'IllegalParamSize.AssociatedInstanceId', 'errorMessage' => 'The param size of AssociatedInstanceId is illegal.', 'description' => 'Illegal parameter AssociatedInstanceId length'], ['errorCode' => 'MissingParam.AssociatedInstanceId', 'errorMessage' => 'The param of AssociatedInstanceId is missing when AssociatedInstanceType is specified.', 'description' => 'Missing parameter AssociatedInstanceId'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeIpv6Addresses', 'summary' => 'Queries IPv6 addresses in a region.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-03-25T06:30:03.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-01-22T02:57:54.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-08-08T09:26:08.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-06-28T01:52:07.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2024-03-14T06:49:39.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2023-05-29T02:33:52.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeIpv6Addresses', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6InternetBandwidth', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/*'], ], ], ], ], ], 'DescribeIpv6EgressOnlyRules' => [ 'summary' => 'Queries IPv6 egress-only rules that you created.', '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' => 'The region ID of the IPv6 gateway. You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-huhehaote', 'title' => ''], ], [ 'name' => 'Ipv6GatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 gateway.', 'type' => 'string', 'required' => true, 'example' => 'ipv6gw-bp1rhhs9zjlxukc5e****', 'title' => ''], ], [ 'name' => 'Ipv6EgressOnlyRuleId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 egress-only rule to query.', 'type' => 'string', 'required' => false, 'example' => 'ipv6py-bp1rr7fq1md8pbb3k****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the rule.', 'type' => 'string', 'required' => false, 'example' => 'rulename', 'title' => ''], ], [ 'name' => 'InstanceType', 'in' => 'query', 'schema' => ['description' => 'The type of the instance for which you want to configure IPv6 egress-only rules. Valid values:'."\n" ."\n" .'- IPv6Address (default): The instance is a single IPv6 address.'."\n" .'- IPv6Prefix: The instance is an IPv6 CIDR block.', 'type' => 'string', 'required' => false, 'example' => 'Ipv6Address', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 address for which the IPv6 egress-only rule is configured.', 'type' => 'string', 'required' => false, 'example' => 'ipv6-bp12uzwhac8tv3xx6****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number of the list to return. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page for a paged query. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPv6 gateway. You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-huhehaote', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page for a paged query. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E16671B7-DEA6-48E0-8E9C-41913DAD44DD', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the list to return. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Ipv6EgressOnlyRules' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Ipv6EgressOnlyRule' => [ 'description' => 'The details of the IPv6 egress-only rule.', 'type' => 'array', 'items' => [ 'description' => 'The details of the IPv6 egress-only rule.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the IPv6 egress-only rule.', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'Description' => ['description' => 'The description of the IPv6 egress-only rule.', 'type' => 'string', 'example' => 'ruledescription', 'title' => ''], 'Ipv6EgressOnlyRuleId' => ['description' => 'The ID of the IPv6 egress-only rule.', 'type' => 'string', 'example' => 'ipv6py-bp1rr7fq1md8pbb3k****', 'title' => ''], 'InstanceId' => ['description' => 'The ID of the IPv6 address for which the IPv6 egress-only rule is configured.', 'type' => 'string', 'example' => 'ipv6gw-bp1rhhs9zjlxukc5e****', 'title' => ''], 'InstanceType' => ['description' => 'The type of the instance for which the IPv6 egress-only rule is configured.', 'type' => 'string', 'example' => 'Ipv6Address', 'title' => ''], 'Name' => ['description' => 'The name of the IPv6 egress-only rule.', 'type' => 'string', 'example' => 'rulename', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Query iPv6 egress-only rules', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-06-28T01:52:07.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeIpv6EgressOnlyRules'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeIpv6EgressOnlyRules', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/{#Ipv6GatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeIpv6GatewayAttribute' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPv6 gateway. You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-huhehaote', 'title' => ''], ], [ 'name' => 'Ipv6GatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 gateway to query.', 'type' => 'string', 'required' => true, 'example' => 'ipv6gw-hp3y0l3ln89j8cdvf****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'VpcId' => ['description' => 'The ID of the VPC to which the IPv6 gateway belongs.', 'type' => 'string', 'example' => 'vpc-123sedrfswd23****', 'title' => ''], 'Status' => ['description' => 'The status of the IPv6 gateway. Valid values:'."\n" ."\n" .'- **Pending**: being configured.'."\n" ."\n" .'- **Available**: active.', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'CreationTime' => ['description' => 'The time when the IPv6 gateway was created.', 'type' => 'string', 'example' => '2018-12-05T09:21:35Z', 'title' => ''], 'RegionId' => ['description' => 'The region ID of the IPv6 gateway.', 'type' => 'string', 'example' => 'cn-huhehaote', 'title' => ''], 'InstanceChargeType' => ['description' => 'The billing method of the IPv6 gateway.', 'type' => 'string', 'example' => 'PostPaid', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC', 'title' => ''], 'Ipv6GatewayId' => ['description' => 'The instance ID of the IPv6 gateway.', 'type' => 'string', 'example' => 'ipv6gw-hp3y0l3ln89j8cdvf****', 'title' => ''], 'Description' => ['description' => 'The description of the IPv6 gateway.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'ExpiredTime' => ['description' => 'The expiration time of the IPv6 gateway.', 'type' => 'string', 'example' => '2019-1-05T09:21:35Z', 'title' => ''], 'BusinessStatus' => ['description' => 'The business status of the IPv6 gateway. Valid values:'."\n" ."\n" .'- **Normal**: Normal.'."\n" ."\n" .'- **FinancialLocked**: financial lock.'."\n" ."\n" .'- **SecurityLocked**: security lock.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'Name' => ['description' => 'The name of the IPv6 gateway.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], 'GatewayRouteTableId' => ['description' => 'The ID of the gateway route table associated with the IPv6 gateway.'."\n" ."\n\n" .'> This parameter is displayed only for IPv6 gateways that are associated with a gateway route table.', 'type' => 'string', 'example' => 'vtb-5ts0ohchwkp3dydt2****', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ 'description' => 'The list of tags.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'A tag key can be up to 128 characters in length. It must start with a letter or Chinese character and can contain digits, periods (.), underscores (_), and hyphens (-). It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'A tag value can be up to 128 characters in length. It must start with a letter or Chinese character and can contain digits, periods (.), underscores (_), and hyphens (-). It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'OwnerId' => ['description' => 'The Alibaba Cloud account ID of the IPv6 gateway owner.'."\n" ."\n" .'>This value is of the Long type. Precision loss may occur in certain programming languages. Use this value with caution.>', 'type' => 'integer', 'format' => 'int64', 'example' => '2546073170691****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'title' => 'Query details of a specified iPv6 gateway', 'summary' => 'Queries the details of a specified IPv6 gateway, including the region, VPC, running status, and billing method.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-04-17T08:31:24.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2025-04-14T06:08:17.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-07-31T02:46:00.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeIpv6GatewayAttribute'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeIpv6GatewayAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/{#Ipv6GatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeIpv6Gateways' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPv6 gateway. You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-huhehaote', 'title' => ''], ], [ 'name' => 'Ipv6GatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 gateway.', 'type' => 'string', 'required' => false, 'example' => 'ipv6gw-hp3rwmtmfhgis****', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC associated with the IPv6 gateway.', 'type' => 'string', 'required' => false, 'example' => 'vpc-123sedrfswd23****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the IPv6 gateway.'."\n" ."\n" .'The name must be 2 to 128 characters in length and must start with a letter or a Chinese character. It can contain digits, periods (.), underscores (_), and hyphens (-), but cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'ipv6GW', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPv6 gateway. You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-huhehaote', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the IPv6 gateway belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag list.', 'type' => 'array', 'items' => [ 'description' => 'The tag list.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length, and cannot start with `aliyun` or `acs:`, or contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length, and cannot start with `aliyun` or `acs:`, or contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries to return on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E3A06196-3E7C-490D-8F39-CB4B5A0CE8AD', 'title' => ''], 'PageNumber' => ['description' => 'The number of the page to return.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'Ipv6Gateways' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Ipv6Gateway' => [ 'description' => 'The details of the IPv6 gateway.', 'type' => 'array', 'items' => [ 'description' => 'The details of the IPv6 gateway.', 'type' => 'object', 'properties' => [ 'CreationTime' => ['description' => 'The time when the IPv6 gateway was created.', 'type' => 'string', 'example' => '2020-12-20T14:51:23Z', 'title' => ''], 'Status' => ['description' => 'The status of the IPv6 gateway. Valid values:'."\n" ."\n" .'- **Pending**: being configured.'."\n" ."\n" .'- **Available**: active.', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'VpcId' => ['description' => 'The ID of the VPC associated with the IPv6 gateway.', 'type' => 'string', 'example' => 'vpc-123sedrfswd23****', 'title' => ''], 'Description' => ['description' => 'The description of the IPv6 gateway.', 'type' => 'string', 'example' => 'descriptionforIPv6GW', 'title' => ''], 'Ipv6GatewayId' => ['description' => 'The ID of the IPv6 gateway.', 'type' => 'string', 'example' => 'ipv6gw-hp3rwmtmfhgisipv6gw-hp3rwmtmfhgis****', 'title' => ''], 'ExpiredTime' => ['description' => 'The expiration time of the IPv6 gateway.', 'type' => 'string', 'example' => '2021-12-20T14:51:23Z', 'title' => ''], 'BusinessStatus' => ['description' => 'The business status of the IPv6 gateway. Valid values:'."\n" ."\n" .'- **Normal**: Normal.'."\n" ."\n" .'- **FinancialLocked**: locked due to overdue payment.'."\n" ."\n" .'- **SecurityLocked**: locked for security reasons.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'Name' => ['description' => 'The name of the IPv6 gateway.', 'type' => 'string', 'example' => 'ipv6GW', 'title' => ''], 'InstanceChargeType' => ['description' => 'The billing method of the IPv6 gateway.'."\n" .' '."\n" .'The value is **PostPaid**, which indicates pay-as-you-go.', 'type' => 'string', 'example' => 'PostPaid', 'title' => ''], 'RegionId' => ['description' => 'The region ID of the IPv6 gateway.', 'type' => 'string', 'example' => 'cn-huhehaote', 'title' => ''], 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The tag list.', 'type' => 'array', 'items' => [ 'description' => 'The tag list.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'OwnerId' => ['description' => 'The Alibaba Cloud account ID to which the IPv6 gateway belongs.'."\n" ."\n" .'>This value is of the Long type. Precision loss may occur in certain programming languages. Use this value with caution.>', 'type' => 'integer', 'format' => 'int64', 'example' => '2546073170691****'."\n", 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'title' => 'Query created iPv6 gateways', 'summary' => 'Queries IPv6 gateways created in a specified region by calling the DescribeIpv6Gateways operation.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-04-17T08:31:24.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2025-04-14T06:08:17.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2025-02-08T07:52:01.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-07-31T02:46:00.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-07-29T04:09:38.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeIpv6Gateways'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeIpv6Gateways', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/{#Ipv6GatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeNatGatewayAssociateNetworkInterfaces' => [ 'summary' => 'Queries the list of elastic network interfaces (ENIs) associated with a VPC NAT gateway when the VPC NAT gateway is referenced as an EPS resource by PrivateLink. This feature is currently unavailable.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the NAT gateway.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'NatGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the NAT gateway to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ngw-bp1uewa15k4iy5770****', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazdjdhd****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of resource tags.', 'type' => 'array', 'items' => [ 'description' => 'The list of tags.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the instance. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag key of the instance. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the NAT gateway.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Filter', 'in' => 'query', 'style' => 'flat', 'schema' => [ 'description' => 'The filter information. You can specify key-value pairs to filter the query results.', 'type' => 'array', 'items' => [ 'description' => 'The filter information.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of the filter. Valid values:'."\n" ."\n" .'- ResourceId'."\n" .'>Set Value to the ID of the EPS resource that you want to query.'."\n" .'- NetworkInterfaceId'."\n" .'>Set Value to the ID of the elastic network interface (ENI), which is a network interface controller (NIC), that you want to query.'."\n" .'- ResourceOwnerId'."\n" .'>Set Value to the UID of the user to whom the EPS resource belongs for resource ownership query.', 'type' => 'string', 'required' => false, 'example' => 'ResourceId', 'title' => ''], 'Value' => ['description' => 'The filter value. You can specify multiple values separated by commas (,).', 'type' => 'string', 'required' => false, 'example' => 'ep-8psre8c8936596cd****', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'title' => '', 'example' => '', ], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination token. Valid values:'."\n" ."\n" .'- If this is the first query or no subsequent query is required, leave this parameter empty.'."\n" ."\n" .'- If a subsequent query is required, set the value to the **NextToken** value returned in the previous API call.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page for a paged query. Valid values: **1** to **100**. Default value: **20**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2315DEB7-5E92-423A-91F7-4C1EC9AD****', 'title' => ''], 'NextToken' => ['description' => 'The pagination token. Valid values:'."\n" ."\n" .'- If **NextToken** is empty, no subsequent query exists.'."\n" ."\n" .'- If **NextToken** is returned, the value indicates the token for the next query.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], 'MaxResults' => ['description' => 'The number of entries per page for a paged query. Valid values: **1** to **100**. Default value: **20**.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'NatGatewayId' => ['description' => 'The instance ID of the VPC NAT gateway.', 'type' => 'string', 'example' => 'ngw-bp1uewa15k4iy5770****', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'AssociateNetworkInterfaces' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'AssociateNetworkInterface' => [ 'description' => 'The list of elastic network interfaces (ENIs) associated with the VPC NAT gateway. An ENI is a network interface controller (NIC).', 'type' => 'array', 'items' => [ 'description' => 'The details of the associate with ENI operation. An elastic network interface (ENI) is a network interface controller (NIC).', 'type' => 'object', 'properties' => [ 'NetworkInterfaceId' => ['description' => 'The ID of the elastic network interface (ENI). An ENI is a network interface controller (NIC).', 'type' => 'string', 'example' => 'eni-gw8g131ef2dnbu3k****', 'title' => ''], 'ResourceId' => ['description' => 'The EPS resource ID.', 'type' => 'string', 'example' => 'ep-8psre8c8936596cd****', 'title' => ''], 'ResourceType' => ['description' => 'The EPS resource type.', 'type' => 'string', 'example' => 'PrivateLink', 'title' => ''], 'ResourceOwnerId' => ['description' => 'The UID of the user who has resource ownership of the EPS resource.', 'type' => 'string', 'example' => '138859086900****', 'title' => ''], 'IPv4Sets' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'IPv4Set' => [ 'description' => 'The collection of IPv4 addresses of the elastic network interface (ENI). An ENI is a network interface controller (NIC).', 'type' => 'array', 'items' => [ 'description' => 'The IPv4 address information of the elastic network interface (ENI). An ENI is a network interface controller (NIC).', 'type' => 'object', 'properties' => [ 'IPv4Address' => ['description' => 'The private IP address of the elastic network interface (ENI). An ENI is a network interface controller (NIC).', 'type' => 'string', 'example' => '172.17.**.**', 'title' => ''], 'Primary' => ['description' => 'Indicates whether this is the primary private IP address. Valid values:'."\n" ."\n" .'- true: primary private IP address.'."\n" ."\n" .'- false: secondary private IP address.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'TunnelIndex' => ['description' => 'The tunnel index ID.', 'type' => 'string', 'example' => '41a5489ea2a0****', 'title' => ''], 'ResourceVpcId' => ['description' => 'The VPC ID of the EPS resource.', 'type' => 'string', 'example' => 'vpc-bp1di7uewzmtvfuq8****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'Count' => ['description' => 'The number of associated ENIs.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InstanceNotExist.NatGatewayId', 'errorMessage' => 'The NAT gateway instance is not exist.', 'description' => 'The NAT Gateway instance does not exist.'], ['errorCode' => 'IllegalParam.ResourceOwnerId', 'errorMessage' => 'The param of resource owner ID is illegal.', 'description' => 'The parameter of resource owner ID is illegal.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query elastic network interfaces (ENIs) associated with a VPC NAT gateway', 'changeSet' => [ ['createdAt' => '2024-12-30T03:59:17.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2024-10-23T06:17:17.000Z', 'description' => 'Error codes changed, Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNatGatewayAssociateNetworkInterfaces'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeNatGatewayAssociateNetworkInterfaces', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], ], '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"}]', ], 'DescribeNatGateways' => [ 'summary' => 'Calls DescribeNatGateways to query the detailed information of NAT gateways that meet specified conditions in a specified region in list form.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the NAT gateway to query.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'NatGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the NAT gateway to query.', 'type' => 'string', 'required' => false, 'example' => 'ngw-bp1uewa15k4iy5770****', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC to which the NAT gateway to query belongs.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp15zckdt37pq72z****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the NAT gateway to query.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'InstanceChargeType', 'in' => 'query', 'schema' => ['description' => 'The billing method of the NAT gateway instance to query. Valid values:'."\n" ."\n" .''."\n" .'- **PostPaid**: pay-as-you-go.'."\n" .'- **PrePaid**: the legacy subscription billing method. The subscription billing method is no longer available for new purchases.'."\n" ."\n" .''."\n" ."\n" .'The billing method of the NAT gateway instance to query. Valid value: **PostPaid** (pay-as-you-go).'."\n", 'type' => 'string', 'required' => false, 'example' => 'PostPaid', 'title' => ''], ], [ 'name' => 'Spec', 'in' => 'query', 'schema' => ['description' => 'The specification of the Internet NAT gateway. Only when **InstanceChargeType** is **PrePaid** (legacy subscription Internet NAT gateway), creating a NAT gateway by fixed specification is supported. Valid values:'."\n" ."\n" .''."\n" .'- **Small** (default): small.'."\n" .'- **Middle**: medium.'."\n" .'- **Large**: large.'."\n" ."\n" .''."\n" .'The specification of the NAT gateway. Leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '中国站示例值:Small,国际站示例值:无需填写', 'title' => ''], ], [ 'name' => 'NatType', 'in' => 'query', 'schema' => ['description' => 'The type of the NAT gateway. Valid value: **Enhanced** (enhanced NAT gateway).', 'type' => 'string', 'required' => false, 'example' => 'Enhanced', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the NAT gateway to query belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '10', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page for paginated queries. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'default' => '10', 'example' => '1', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run without querying resource status. The check items include whether the AccessKey pair is valid, whether the RAM user is authorized, and whether required parameters are specified. If the check fails, the corresponding error is returned. If the check succeeds, the error code `DryRunOperation` is returned.'."\n" ."\n" .'- **false** (default): performs a normal request. After the check succeeds, a 2xx HTTP status code is returned and the resource status is queried directly.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'The status of the NAT gateway to query. Valid values:'."\n" .'- **Creating**: Creating a NAT gateway is an asynchronous operation. The status is **Creating** before the creation is complete.'."\n" ."\n" .'- **Available**: The status after the NAT gateway is created. This is a stable status.'."\n" ."\n" .'- **Modifying**: Modifying a NAT gateway is an asynchronous operation. The status is **Modifying** during the modification process.'."\n" ."\n" .'- **Deleting**: Deleting a NAT gateway is an asynchronous operation. The status is **Deleting** during the deletion process.'."\n" ."\n" .'- **Converting**: Converting a standard NAT gateway to an enhanced NAT gateway is an asynchronous operation. The status is **Converting** during the conversion process.', 'type' => 'string', 'required' => false, 'example' => 'Available', 'title' => ''], ], [ 'name' => 'NetworkType', 'in' => 'query', 'schema' => ['description' => 'The type of the NAT gateway to query. Valid values:'."\n" ."\n" .'- **internet**: Internet NAT gateway.'."\n" .'- **intranet**: VPC NAT gateway.', 'type' => 'string', 'required' => false, 'example' => 'internet', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ 'description' => 'The list of tags.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the NAT gateway instance. You can specify up to 20 tag keys.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'KeyTest', 'title' => ''], 'Value' => ['description' => 'The tag value of the NAT gateway instance. You can specify up to 20 tag values.'."\n" ."\n" .'The tag value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'valueTest', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], [ 'name' => 'ZoneId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the zone where the NAT gateway is deployed.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-b'], ], [ 'name' => 'AvailabilityMode', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The number of entries per page.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], 'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries in the NAT gateway list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'NatGateways' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'NatGateway' => [ 'description' => 'The detailed information of the NAT gateway.', 'type' => 'array', 'items' => [ 'description' => 'The detailed information of the NAT gateway.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the NAT gateway. Valid values:'."\n" ."\n" .'- **Creating**: Creating a NAT gateway is an asynchronous operation. The status is **Creating** before the creation is complete.'."\n" ."\n" .'- **Available**: The status after the NAT gateway is created. This is a stable status.'."\n" ."\n" .'- **Modifying**: Modifying a NAT gateway is an asynchronous operation. The status is **Modifying** during the modification process.'."\n" ."\n" .'- **Deleting**: Deleting a NAT gateway is an asynchronous operation. The status is **Deleting** during the deletion process.'."\n" ."\n" .'- **Converting**: Converting a standard NAT gateway to an enhanced NAT gateway is an asynchronous operation. The status is **Converting** during the conversion process.', 'type' => 'string', 'example' => 'Creating', 'title' => ''], 'CreationTime' => ['description' => 'The creation time of the NAT gateway.', 'type' => 'string', 'example' => '2021-06-08T12:20:20Z', 'title' => ''], 'VpcId' => ['description' => 'The ID of the VPC to which the NAT gateway belongs.', 'type' => 'string', 'example' => 'vpc-bp15zckdt37pq72z****', 'title' => ''], 'NatType' => ['description' => 'The type of the NAT gateway. Valid value: **Enhanced** (enhanced NAT gateway).', 'type' => 'string', 'example' => 'Enhanced', 'title' => ''], 'AutoPay' => ['description' => 'Specifies whether to automatically pay the order. Valid values:'."\n" ."\n" .'- **false**: does not automatically pay the order.'."\n" .'- **true**: automatically pays the order.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'Spec' => ['description' => 'The specification of the Internet NAT gateway. Only when **InstanceChargeType** is **PrePaid** (legacy subscription Internet NAT gateway), creating a NAT gateway by fixed specification is supported. Valid values:'."\n" ."\n" .''."\n" .'- **Small**: small.'."\n" .'- **Middle**: medium.'."\n" .'- **Large**: large.'."\n" ."\n" .''."\n" ."\n" .'The specification of the NAT gateway. The return value of this parameter is empty.'."\n" ."\n" .'When **InternetChargeType** is **PayByLcu**, the return value is empty.', 'type' => 'string', 'example' => 'Small', 'title' => ''], 'DeletionProtection' => ['description' => 'Indicates whether deletion protection is enabled. Valid values:'."\n" ."\n" .'- **true**: enabled.'."\n" ."\n" .'- **false**: disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'NetworkType' => ['description' => 'The type of the NAT gateway. Valid values:'."\n" ."\n" .'- **internet**: Internet NAT gateway.'."\n" ."\n" .'- **intranet**: VPC NAT gateway.', 'type' => 'string', 'example' => 'internet', 'title' => ''], 'SecurityProtectionEnabled' => ['description' => 'Indicates whether the firewall feature is enabled. Valid values:'."\n" ."\n" .'- **false**: disabled.'."\n" ."\n" .'- **true**: enabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'InstanceChargeType' => ['description' => 'The billing method of the NAT gateway instance. Valid values:'."\n" ."\n" .''."\n" .'- **PostPaid**: pay-as-you-go.'."\n" .'- **PrePaid**: subscription.'."\n" ."\n" .''."\n" ."\n" .'The billing method of the NAT gateway instance. Valid value: **PostPaid** (pay-as-you-go).'."\n", 'type' => 'string', 'example' => 'PostPaid', 'title' => ''], 'RegionId' => ['description' => 'The region ID of the NAT gateway.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'EcsMetricEnabled' => ['description' => 'Indicates whether the gateway traffic monitoring feature is enabled. Valid values:'."\n" ."\n" .'- **true**: enabled.'."\n" ."\n" .'- **false**: disabled.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'IcmpReplyEnabled' => ['description' => 'Indicates whether ICMP proxy reply is enabled. Valid values:'."\n" ."\n" .'- **true** (default): enabled.'."\n" .'- **false**: disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Description' => ['description' => 'The description of the NAT gateway.', 'type' => 'string', 'example' => 'NAT', 'title' => ''], 'ExpiredTime' => ['description' => 'The expiration time of the NAT gateway.', 'type' => 'string', 'example' => '2021-08-26T16:00Z', 'title' => ''], 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], 'NatGatewayId' => ['description' => 'The ID of the NAT gateway.', 'type' => 'string', 'example' => 'ngw-bp1047e2d4z7kf2ki****', 'title' => ''], 'InternetChargeType' => ['description' => 'The metering method of the NAT gateway. Valid values:'."\n" ."\n" .'- **PayBySpec**: pay by fixed specification.'."\n" ."\n" .'- **PayByLcu**: pay by capacity unit (CU).', 'type' => 'string', 'example' => 'PayByLcu', 'title' => ''], 'BusinessStatus' => ['description' => 'The business status of the NAT gateway. Valid values:'."\n" ."\n" .'- **Normal**: normal.'."\n" ."\n" .'- **FinancialLocked**: locked due to overdue payment.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'Name' => ['description' => 'The name of the NAT gateway instance.', 'type' => 'string', 'example' => 'abc', 'title' => ''], 'IpLists' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'IpList' => [ 'description' => 'The list of EIPs associated with the Internet NAT gateway.', 'type' => 'array', 'items' => [ 'description' => 'The IP information list of the NAT gateway.', 'type' => 'object', 'properties' => [ 'UsingStatus' => ['description' => 'The association of the EIP bound to the Internet NAT gateway instance. Valid values:'."\n" ."\n" .'- **UsedByForwardTable**: the EIP is used to configure DNAT rules.'."\n" .'- **UsedBySnatTable**: the EIP is used to configure SNAT rules.'."\n" .'- **UsedByForwardSnatTable**: the EIP is used to configure both DNAT and SNAT rules.'."\n" .'- **Idle**: idle. No DNAT or SNAT rules are configured.', 'type' => 'string', 'example' => 'UsedByForwardTable', 'title' => ''], 'IpAddress' => ['description' => 'The IP address of the EIP bound to the NAT gateway.', 'type' => 'string', 'example' => '116.62.XX.XX', 'title' => ''], 'SnatEntryEnabled' => ['description' => 'Indicates whether the IP address that is already used for DNAT entries can also be used for SNAT entries. Valid values:'."\n" ."\n" .'- **true**: can be used for SNAT entries.'."\n" ."\n" .'- **false**: cannot be used for SNAT entries.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'AllocationId' => ['description' => 'The instance ID of the EIP bound to the NAT gateway.', 'type' => 'string', 'example' => 'eip-m5egzuvp3dgixen6****', 'title' => ''], 'PrivateIpAddress' => ['description' => 'The private IP address of the NAT gateway.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'ForwardTableIds' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ForwardTableId' => [ 'description' => 'The DNAT table ID of the NAT gateway.', 'type' => 'array', 'items' => ['description' => 'The DNAT table ID.', 'type' => 'string', 'example' => 'ftb-uf6gj3mhsg94qsqst****', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'SnatTableIds' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SnatTableId' => [ 'description' => 'The SNAT table ID of the NAT gateway.', 'type' => 'array', 'items' => ['description' => 'The SNAT table ID.', 'type' => 'string', 'example' => 'stb-uf6dalcdu0krz423p****', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'FullNatTableIds' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'FullNatTableId' => [ 'description' => 'The FULLNAT table ID.', 'type' => 'array', 'items' => ['description' => 'The FULLNAT table ID.', 'type' => 'string', 'example' => 'fulltb-gw88z7hhlv43rmb26****', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'NatGatewayPrivateInfo' => [ 'description' => 'The private network information of the enhanced Internet NAT gateway.'."\n" ."\n" .'> When **NatType** is set to **Normal**, all parameters in this list return empty values.', 'type' => 'object', 'properties' => [ 'VswitchId' => ['description' => 'The ID of the vSwitch to which the NAT gateway belongs.', 'type' => 'string', 'example' => 'vsw-bp1s2laxhdf9ayjbo****', 'title' => ''], 'EniInstanceId' => ['description' => 'The elastic network interface (ENI) instance ID.', 'type' => 'string', 'example' => 'eni-m5eg4ozy5st8q3q4****', 'title' => ''], 'MaxBandwidth' => ['description' => 'The maximum bandwidth. Unit: Mbps.', 'type' => 'integer', 'format' => 'int32', 'example' => '5120', 'title' => ''], 'MaxSessionQuota' => ['description' => 'The number of concurrent connections of the NAT gateway.', 'type' => 'integer', 'format' => 'int32', 'example' => '2000000', 'title' => ''], 'MaxSessionEstablishRate' => ['description' => 'The rate of new connections of the NAT gateway. Unit: connections per second.', 'type' => 'integer', 'format' => 'int32', 'example' => '100000', 'title' => ''], 'PrivateIpAddress' => ['description' => 'The private IP address.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''], 'IzNo' => ['description' => 'The zone to which the NAT gateway belongs.', 'type' => 'string', 'example' => 'cn-hangzhou-b', 'title' => ''], 'EniType' => ['description' => 'The binding mode between the ENI and the NAT gateway. Valid values:'."\n" ."\n" .'- **indirect**: non-passthrough mode.'."\n" ."\n" .'- Empty return value: passthrough mode.', 'type' => 'string', 'example' => 'indirect', 'title' => ''], ], 'title' => '', 'example' => '', ], 'PrivateLinkEnabled' => ['title' => '', 'description' => 'Indicates whether private link is supported. Valid values:'."\n" ."\n" .'- **true**: private link is supported.'."\n" .'- **false**: private link is not supported.', 'type' => 'boolean', 'example' => 'true'], 'PrivateLinkMode' => ['title' => '', 'description' => 'The private link service conversion mode. Valid values:'."\n" ."\n" .'- **FullNat**: uses FULLNAT mode.'."\n" .'- **Geneve**: uses Geneve mode.', 'type' => 'string', 'example' => 'FullNat'], 'EipBindMode' => ['title' => '', 'description' => 'The EIP binding mode of the NAT gateway. Valid values:'."\n" ."\n" .'- **MULTI_BINDED**: multi-EIP NIC-visible mode.'."\n" ."\n" .'- **NAT**: EIP normal mode, compatible with IPv4 gateway.'."\n" ."\n" .'> When the EIP binding mode of the NAT gateway is EIP normal mode, the EIP occupies a private IP address of the vSwitch where the NAT gateway is located. Make sure that sufficient private IP addresses are available in the vSwitch. If no idle private IP addresses are available in the vSwitch, new EIPs cannot be bound. When the EIP binding mode is EIP normal mode, the maximum number of EIPs that can be bound to the NAT gateway is 50.', 'type' => 'string', 'example' => 'MULTI_BINDED'], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'title' => '', 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ 'description' => 'The list of tags.', 'type' => 'object', 'properties' => [ 'TagKey' => ['description' => 'The tag key of the instance.', 'type' => 'string', 'example' => 'KeyTest', 'title' => ''], 'TagValue' => ['description' => 'The tag value of the instance.', 'type' => 'string', 'example' => 'valueTest', 'title' => ''], ], 'title' => '', 'example' => '', ], 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'EnableSessionLog' => ['description' => 'Indicates whether session logging is enabled. Valid values:'."\n" ."\n" .'- **true**: session logging is enabled.'."\n" ."\n" .'- **false**: session logging is disabled.', 'type' => 'string', 'example' => 'true', 'title' => ''], 'AccessMode' => [ 'description' => 'The access mode for reverse access to the VPC NAT gateway.', 'type' => 'object', 'properties' => [ 'ModeValue' => ['description' => 'The access mode. Valid values:'."\n" ."\n" .'- **route**: route mode.'."\n" ."\n" .'- **tunnel**: tunnel mode.', 'type' => 'string', 'example' => 'route', 'title' => ''], 'TunnelType' => ['description' => 'The tunnel mode type:'."\n" ."\n" .'- **geneve**: Geneve type.', 'type' => 'string', 'example' => 'geneve', 'title' => ''], ], 'title' => '', 'example' => '', ], 'AvailabilityMode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'IpPrefixList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'IpPrefixList' => [ 'description' => 'The list of NAT IP prefix address ranges.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'IpPrefix' => ['description' => 'The NAT IP prefix address range.', 'type' => 'string', 'example' => '192.168.0.0/28', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => 'An internal error occurred.'], ], ], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], 'responseDemo' => '[{"errorExample":"","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 \\"AvailabilityMode\\": \\"\\",\\n \\"IpPrefixList\\": {\\n \\"IpPrefixList\\": [\\n {\\n \\"IpPrefix\\": \\"192.168.0.0/28\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Query created NAT gateways', 'description' => 'This operation supports querying detailed information about Internet NAT gateways or VPC NAT gateways. The term "NAT gateway" used in this document does not distinguish between the two types.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-10-23T06:17:18.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-05-07T06:31:14.000Z', 'description' => 'Response parameters changed, Response parameters changed'], ['createdAt' => '2023-02-28T22:01:22.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-12-16T06:14:15.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-09-01T06:05:31.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-08-26T07:41:28.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2021-11-17T06:33:02.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-11-17T06:33:02.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-10-15T06:08:26.000Z', 'description' => 'Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNatGateways'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeNatGateways', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], ], ], 'DescribeNetworkAclAttributes' => [ 'summary' => 'Queries the details of a network 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' => 'The ID of the network ACL.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'nacl-a2do9e413e0spzasx****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the network ACL.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the network ACL.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F5905F9C-0161-4E72-9CB1-1F3F3CF6268A', 'title' => ''], 'NetworkAclAttribute' => [ 'description' => 'The details of the network ACL.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the associated resource. Valid values:'."\n" ."\n" .'- **Available**: available.'."\n" ."\n" .'- **Modifying**: being modified.', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'VpcId' => ['description' => 'The ID of the VPC associated with the network ACL.', 'type' => 'string', 'example' => 'vpc-a2d33rfpl72k5defr****', 'title' => ''], 'CreationTime' => ['description' => 'The time when the network ACL was created.', 'type' => 'string', 'example' => '2021-12-25 11:33:27', 'title' => ''], 'Description' => ['description' => 'The description of the network ACL.', 'type' => 'string', 'example' => 'This is my NetworkAcl.', 'title' => ''], 'NetworkAclName' => ['description' => 'The name of the network ACL.', 'type' => 'string', 'example' => 'acl-1', 'title' => ''], 'NetworkAclId' => ['description' => 'The ID of the network ACL.', 'type' => 'string', 'example' => 'nacl-a2do9e413e0spnhmj****', 'title' => ''], 'OwnerId' => ['description' => 'The Alibaba Cloud account ID to which the network ACL belongs.'."\n" ."\n" .'>This value is of the Long type. In some programming languages, precision loss may occur. Use this value with caution.>.', 'type' => 'integer', 'format' => 'int64', 'example' => '2546073170691****'."\n", 'title' => ''], 'RegionId' => ['description' => 'The region ID of the network ACL.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'IngressAclEntries' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'IngressAclEntry' => [ 'description' => 'The inbound rule information of the network ACL.', 'type' => 'array', 'items' => [ 'description' => 'The inbound rule information of the network ACL.', 'type' => 'object', 'properties' => [ 'NetworkAclEntryId' => ['description' => 'The ID of the inbound rule entries.', 'type' => 'string', 'example' => 'nae-a2dk86arlydmevfbg****', 'title' => ''], 'EntryType' => ['description' => 'The type of the rule. The value is **custom**, which indicates a custom rule.', 'type' => 'string', 'example' => 'custom', 'title' => ''], 'NetworkAclEntryName' => ['description' => 'The name of the inbound rule entries.', 'type' => 'string', 'example' => 'acl-3', 'title' => ''], 'Policy' => ['description' => 'The authorization policy. Valid values:'."\n" ."\n" .'- **accept**: allows access.'."\n" ."\n" .'- **drop**: denies access.', 'type' => 'string', 'example' => 'accept', 'title' => ''], 'Description' => ['description' => 'The description of the inbound rule.', 'type' => 'string', 'example' => 'This is IngressAclEntries.', 'title' => ''], 'SourceCidrIp' => ['description' => 'The source CIDR block.', 'type' => 'string', 'example' => '10.0.0.0/24', 'title' => ''], 'IpVersion' => ['description' => 'The IP version of the instance. Valid values:'."\n" ."\n" .'- **IPv4**: IPv4.'."\n" .'- **IPv6**: IPv6.', 'type' => 'string', 'example' => 'IPv4', 'title' => ''], 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" ."\n" .'- **icmp**: Internet Control Message Protocol.'."\n" ."\n" .'- **gre**: Generic Routing Encapsulation.'."\n" ."\n" .'- **tcp**: Transmission Control Protocol.'."\n" ."\n" .'- **udp**: User Datagram Protocol.'."\n" ."\n" .'- **all**: all protocols.', 'type' => 'string', 'example' => 'all', 'title' => ''], 'Port' => ['description' => 'The destination port range of the inbound rule.'."\n" ."\n" .'- If the **Protocol** (Protocol Type) of the inbound rule is set to **all**, **icmp**, or **gre**, the port range is -1/-1, which indicates all ports.'."\n" .'- If the **Protocol** (Protocol Type) of the inbound rule is set to **tcp** or **udp**, the port range is **1** to **65535**. The format is **1/200** or **80/80**, which indicates port 1 to port 200 or port 80.', 'type' => 'string', 'example' => '-1/-1', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'EgressAclEntries' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'EgressAclEntry' => [ 'description' => 'The outbound rule information of the network ACL.', 'type' => 'array', 'items' => [ 'description' => 'The outbound rule information of the network ACL.', 'type' => 'object', 'properties' => [ 'NetworkAclEntryId' => ['description' => 'The ID of the outbound rule entries.', 'type' => 'string', 'example' => 'nae-a2d447uw4tillxdcv****', 'title' => ''], 'EntryType' => ['description' => 'The type of the rule. The value is **custom**, which indicates a custom rule.', 'type' => 'string', 'example' => 'custom', 'title' => ''], 'NetworkAclEntryName' => ['description' => 'The name of the outbound rule entries.', 'type' => 'string', 'example' => 'acl-2', 'title' => ''], 'Policy' => ['description' => 'The authorization policy. Valid values:'."\n" ."\n" .'- **accept**: allows access.'."\n" ."\n" .'- **drop**: denies access.', 'type' => 'string', 'example' => 'accept', 'title' => ''], 'Description' => ['description' => 'The description of the outbound rule.', 'type' => 'string', 'example' => 'This is EgressAclEntries.', 'title' => ''], 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" ."\n" .'- **icmp**: Internet Control Message Protocol.'."\n" ."\n" .'- **gre**: Generic Routing Encapsulation.'."\n" ."\n" .'- **tcp**: Transmission Control Protocol.'."\n" ."\n" .'- **udp**: User Datagram Protocol.'."\n" ."\n" .'- **all**: all protocols.', 'type' => 'string', 'example' => 'all', 'title' => ''], 'DestinationCidrIp' => ['description' => 'The destination CIDR block.', 'type' => 'string', 'example' => '10.0.0.0/24', 'title' => ''], 'IpVersion' => ['description' => 'The IP version of the instance. Valid values:'."\n" ."\n" .'- **IPv4**: IPv4.'."\n" .'- **IPv6**: IPv6.', 'type' => 'string', 'example' => 'IPv4', 'title' => ''], 'Port' => ['description' => 'The destination port range of the outbound rule.'."\n" ."\n" .'- If the **Protocol** (Protocol Type) of the outbound rule is set to **all**, **icmp**, or **gre**, the port range is -1/-1, which indicates all ports.'."\n" .'- If the **Protocol** (Protocol Type) of the outbound rule is set to **tcp** or **udp**, the port range is **1** to **65535**. The format is **1/200** or **80/80**, which indicates port 1 to port 200 or port 80.', 'type' => 'string', 'example' => '-1/-1', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'Resources' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Resource' => [ 'description' => 'The associated resource.', 'type' => 'array', 'items' => [ 'description' => 'The associated resource.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the associated resource. Valid values:'."\n" ."\n" .'- **BINDED**: associated.'."\n" ."\n" .'- **BINDING**: being associated.'."\n" ."\n" .'- **UNBINDING**: being disassociated.', 'type' => 'string', 'example' => 'BINDED', 'title' => ''], 'ResourceType' => ['description' => 'The type of the associated resource. The value is **VSwitch**, which indicates a vSwitch.', 'type' => 'string', 'example' => 'VSwitch', 'title' => ''], 'ResourceId' => ['description' => 'The instance ID of the associated resource.', 'type' => 'string', 'example' => 'vsw-bp1de348lntdwxscd****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The tag list.', 'type' => 'array', 'items' => [ 'description' => 'The tag list.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ParameterMissing.AliUid', 'errorMessage' => 'ParameterMissing.AliUid', 'description' => ''], ['errorCode' => 'ParameterMissing.Bid', 'errorMessage' => 'ParameterMissing.Bid', 'description' => ''], ['errorCode' => 'ParameterMissing.RegionId', 'errorMessage' => 'ParameterMissing.RegionId', 'description' => ''], ['errorCode' => 'ParameterEmpty.RegionId', 'errorMessage' => 'ParameterEmpty.RegionId', 'description' => ''], ['errorCode' => 'ParameterMissing.NetworkAclId', 'errorMessage' => 'ParameterMissing.NetworkAclId', 'description' => ''], ['errorCode' => 'ParameterEmpty.NetworkAclId', 'errorMessage' => 'ParameterEmpty.NetworkAclId', 'description' => ''], ['errorCode' => 'InvalidNetworkAcl.NotFound', 'errorMessage' => 'The special Network Acl is not found.', 'description' => 'The network ACL is not found.'], ['errorCode' => 'NotSupport.NetworkAcl', 'errorMessage' => 'Network acl is not support now.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'title' => 'Query details of a network ACL', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-11-24T05:37:30.000Z', 'description' => 'Response parameters changed, Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNetworkAclAttributes'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeNetworkAclAttributes', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NetworkAcl', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:networkacl/{#NetworkAclId}'], ], ], ], ], ], 'DescribeNetworkAcls' => [ 'summary' => 'Queries a list of network ACLs by calling the DescribeNetworkAcls operation.', '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' => 'The ID of the network ACL.', 'type' => 'string', 'required' => false, 'example' => 'nacl-bp1lhl0taikrbgnh****', 'title' => ''], ], [ 'name' => 'NetworkAclName', 'in' => 'query', 'schema' => ['description' => 'The name of the network ACL.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'acl-1', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC associated with the network ACL.', 'type' => 'string', 'required' => false, 'example' => 'vpc-m5ebpc2xh64mqm27e****', 'title' => ''], ], [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => ['description' => 'The type of the associated resource. Valid values: **VSwitch**: vSwitch.'."\n" ."\n" .'The **ResourceType** and **ResourceId** parameters must be specified together to take effect.', 'type' => 'string', 'required' => false, 'example' => 'VSwitch', 'title' => ''], ], [ 'name' => 'ResourceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the associated resource.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1de348lntdwnhbg****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number of the list. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page in a paged query. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the network ACL. '."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags.', 'type' => 'array', 'items' => [ 'description' => 'The tags.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'A tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the network ACL. '."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a parameter value from your client to ensure uniqueness across different requests. ClientToken supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page in a paging query.', 'type' => 'string', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the list.', 'type' => 'string', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of network ACLs in the list.', 'type' => 'string', 'example' => '2', 'title' => ''], 'NetworkAcls' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'NetworkAcl' => [ 'description' => 'The details of the network ACL.', 'type' => 'array', 'items' => [ 'description' => 'The details of the network ACL.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the network ACL. Valid values:'."\n" ."\n" .'- **Available**: available.'."\n" ."\n" .'- **Modifying**: being configured.', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'VpcId' => ['description' => 'The ID of the associated VPC.', 'type' => 'string', 'example' => 'vpc-m5ebpc2xh64mqm27e****', 'title' => ''], 'CreationTime' => ['description' => 'The time when the network ACL was created.', 'type' => 'string', 'example' => '2021-12-25 11:44:17', 'title' => ''], 'Description' => ['description' => 'The description of the network ACL.', 'type' => 'string', 'example' => 'This is my NetworkAcl.', 'title' => ''], 'NetworkAclName' => ['description' => 'The name of the network ACL.', 'type' => 'string', 'example' => 'acl-1', 'title' => ''], 'NetworkAclId' => ['description' => 'The ID of the network ACL.', 'type' => 'string', 'example' => 'nacl-a2do9e413e0spxscd****', 'title' => ''], 'OwnerId' => ['description' => 'The Alibaba Cloud account ID to which the network ACL belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '253460731706911258', 'title' => ''], 'RegionId' => ['description' => 'The region ID of the network ACL.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'IngressAclEntries' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'IngressAclEntry' => [ 'description' => 'The inbound rule information.', 'type' => 'array', 'items' => [ 'description' => 'The inbound rule information.', 'type' => 'object', 'properties' => [ 'NetworkAclEntryId' => ['description' => 'The ID of the inbound rule entries.', 'type' => 'string', 'example' => 'nae-a2dk86arlydmezasw****', 'title' => ''], 'EntryType' => ['description' => 'The rule type. The value is **custom**, which indicates a custom rule.', 'type' => 'string', 'example' => 'custom', 'title' => ''], 'NetworkAclEntryName' => ['description' => 'The name of the inbound rule entries.', 'type' => 'string', 'example' => 'acl-3 ', 'title' => ''], 'Policy' => ['description' => 'The authorization policy. Valid values:'."\n" ."\n" .'- **accept**: allows access.'."\n" ."\n" .'- **drop**: denies access.', 'type' => 'string', 'example' => 'accept', 'title' => ''], 'Description' => ['description' => 'The description of the inbound rule.', 'type' => 'string', 'example' => 'This is IngressAclEntries.', 'title' => ''], 'SourceCidrIp' => ['description' => 'The source CIDR block.', 'type' => 'string', 'example' => '10.0.0.0/24 ', 'title' => ''], 'IpVersion' => ['description' => 'The IP version of the instance. Valid values:'."\n" ."\n" .'- **IPv4**: IPv4.'."\n" .'- **IPv6**: IPv6.', 'type' => 'string', 'example' => 'IPv4', 'title' => ''], 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" ."\n" .'- **icmp**: Internet Control Message Protocol.'."\n" ."\n" .'- **gre**: Generic Routing Encapsulation.'."\n" ."\n" .'- **tcp**: Transmission Control Protocol.'."\n" ."\n" .'- **udp**: User Datagram Protocol.'."\n" ."\n" .'- **all**: all protocols.', 'type' => 'string', 'example' => 'all', 'title' => ''], 'Port' => ['description' => 'The destination port range of the inbound rule entries.'."\n" ."\n" .'- If the Protocol Type of the inbound rule entries is set to **all**, **icmp**, or **gre**, the port range is -1/-1, which indicates all ports.'."\n" .'- If the Protocol Type of the inbound rule entries is set to **tcp** or **udp**, the port range is **1** to **65535**. The format is **1/200** or **80/80**, which indicates port 1 to port 200 or port 80.', 'type' => 'string', 'example' => '-1/-1 ', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'EgressAclEntries' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'EgressAclEntry' => [ 'description' => 'The outbound rule information.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'NetworkAclEntryId' => ['description' => 'The ID of the outbound rule entries.', 'type' => 'string', 'example' => 'nae-a2d447uw4tillfvgb****', 'title' => ''], 'EntryType' => ['description' => 'The rule type. The value is **custom**, which indicates a custom rule.', 'type' => 'string', 'example' => 'custom', 'title' => ''], 'NetworkAclEntryName' => ['description' => 'The name of the outbound rule entries.', 'type' => 'string', 'example' => 'acl-2 ', 'title' => ''], 'Policy' => ['description' => 'The authorization policy. Valid values:'."\n" ."\n" .'- **accept**: allows access.'."\n" ."\n" .'- **drop**: denies access.', 'type' => 'string', 'example' => 'accept', 'title' => ''], 'Description' => ['description' => 'The description of the outbound rule.', 'type' => 'string', 'example' => 'This is EgressAclEntries.', 'title' => ''], 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" ."\n" .'- **icmp**: Internet Control Message Protocol.'."\n" ."\n" .'- **gre**: Generic Routing Encapsulation.'."\n" ."\n" .'- **tcp**: Transmission Control Protocol.'."\n" ."\n" .'- **udp**: User Datagram Protocol.'."\n" ."\n" .'- **all**: all protocols.', 'type' => 'string', 'example' => 'all', 'title' => ''], 'DestinationCidrIp' => ['description' => 'The destination CIDR block.', 'type' => 'string', 'example' => '10.0.0.0/24 ', 'title' => ''], 'IpVersion' => ['description' => 'The IP version of the instance. Valid values:'."\n" ."\n" .'- **IPv4**: IPv4.'."\n" .'- **IPv6**: IPv6.', 'type' => 'string', 'example' => 'IPv4', 'title' => ''], 'Port' => ['description' => 'The destination port range of the outbound rule entries.'."\n" ."\n" .'- If the Protocol Type of the outbound rule entries is set to **all**, **icmp**, or **gre**, the port range is -1/-1, which indicates all ports.'."\n" .'- If the Protocol Type of the outbound rule entries is set to **tcp** or **udp**, the port range is **1** to **65535**. The format is **1/200** or **80/80**, which indicates port 1 to port 200 or port 80.', 'type' => 'string', 'example' => '-1/-1 ', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'Resources' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Resource' => [ 'description' => 'The associated resource.', 'type' => 'array', 'items' => [ 'description' => 'The associated resource.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the associated resource. Valid values:'."\n" ."\n" .'- **BINDED**: associated.'."\n" ."\n" .'- **BINDING**: being associated.'."\n" ."\n" .'- **UNBINDING**: being disassociated.', 'type' => 'string', 'example' => 'BINDED', 'title' => ''], 'ResourceType' => ['description' => 'The type of the associated resource.', 'type' => 'string', 'example' => 'VSwitch', 'title' => ''], 'ResourceId' => ['description' => 'The ID of the associated resource.', 'type' => 'string', 'example' => 'vsw-bp1de348lntdwcdf****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The tag information.', 'type' => 'array', 'items' => [ 'description' => 'The tag information.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ParameterMissing.AliUid', 'errorMessage' => 'ParameterMissing.AliUid', 'description' => ''], ['errorCode' => 'ParameterMissing.Bid', 'errorMessage' => 'ParameterMissing.Bid', 'description' => ''], ['errorCode' => 'ParameterMissing.RegionId', 'errorMessage' => 'ParameterMissing.RegionId', 'description' => ''], ['errorCode' => 'ParameterEmpty.RegionId', 'errorMessage' => 'ParameterEmpty.RegionId', 'description' => ''], ['errorCode' => 'NotSupport.NetworkAcl', 'errorMessage' => 'Network acl is not support now.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'title' => 'Query network ACL list', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-11-24T05:37:29.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2023-05-09T07:02:21.000Z', 'description' => 'Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNetworkAcls'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeNetworkAcls', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NetworkAcl', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:networkacl/*'], ], ], ], ], ], 'DescribePhysicalConnectionLOA' => [ 'summary' => 'Use `DescribePhysicalConnectionLOA` to query the LOA for a physical connection.', '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' => 'The ID of the region where the physical connection is located. You can call the [DescribeRegions](~~36063~~) operation to get a list of available region IDs.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'A client token that ensures the idempotence of the request.'."\n" ."\n" .'Your client generates this value, which must be unique for each request and have a maximum length of 64 ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. Each API request has a unique **RequestId**.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the physical connection instance.', 'type' => 'string', 'required' => true, 'example' => 'pc-bp1ca4wca27ex****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '318BB676-0A2B-43A0-9AD8-F1D34E93750F', 'title' => ''], 'PhysicalConnectionLOAType' => [ 'description' => 'Information about the physical connection\'s LOA.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the LOA. Valid values:'."\n" ."\n" .'- **Applying**: The LOA application is in progress.'."\n" ."\n" .'- **Accept**: The LOA application is approved.'."\n" ."\n" .'- **Available**: The LOA is available.'."\n" ."\n" .'- **Rejected**: The LOA application is rejected.'."\n" ."\n" .'- **Completing**: The construction of the physical connection is in progress.'."\n" ."\n" .'- **Complete**: The construction of the physical connection is complete.'."\n" ."\n" .'- **Deleted**: The LOA is deleted.', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'LineLabel' => ['description' => 'The line label for the in-building cable at the data center.', 'type' => 'string', 'example' => 'bbb222', 'title' => ''], 'LineCode' => ['description' => 'The line code assigned by the line service provider.', 'type' => 'string', 'example' => 'aaa111', 'title' => ''], 'ConstructionTime' => ['description' => 'The time when construction personnel enter the site.', 'type' => 'string', 'example' => '2019-02-26T08:00:00Z', 'title' => ''], 'SI' => ['description' => 'The system integrator (SI).', 'type' => 'string', 'example' => 'ctcu', 'title' => ''], 'LoaUrl' => ['description' => 'The URL to download the LOA file.', 'type' => 'string', 'example' => 'http://******', 'title' => ''], 'CompanyLocalizedName' => ['description' => 'The localized name of the company.', 'type' => 'string', 'example' => 'company', 'title' => ''], 'InstanceId' => ['description' => 'The instance ID of the physical connection.', 'type' => 'string', 'example' => 'pc-bp1ca4wca27****', 'title' => ''], 'LineType' => ['description' => 'The line type of the physical connection. Valid values:'."\n" ."\n" .'- **MSTP**'."\n" ."\n" .'- **MPLSVPN**'."\n" ."\n" .'- **FIBRE**'."\n" ."\n" .'- **Other**', 'type' => 'string', 'example' => 'FIBRE', 'title' => ''], 'CompanyName' => ['description' => 'The name of the company that requires the physical connection.', 'type' => 'string', 'example' => 'test1234', 'title' => ''], 'PMInfo' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'PMInfo' => [ 'description' => 'A list of construction crew members.', 'type' => 'array', 'items' => [ 'description' => 'The information about a construction crew member.', 'type' => 'object', 'properties' => [ 'PMGender' => ['description' => 'The gender of the construction crew member. Valid values:'."\n" ."\n" .'- **Male**: Male.'."\n" ."\n" .'- **Female**: Female.', 'type' => 'string', 'example' => 'Male', 'title' => ''], 'PMCertificateNo' => ['description' => 'The certificate number of the construction crew member.', 'type' => 'string', 'example' => '12345671****', 'title' => ''], 'PMName' => ['description' => 'The name of the construction crew member.', 'type' => 'string', 'example' => 'name', 'title' => ''], 'PMCertificateType' => ['description' => 'The certificate type of the construction crew member. Valid values:'."\n" ."\n" .'- **IDCard**: ID card.'."\n" ."\n" .'- **Passport**: passport.'."\n" ."\n" .'- **Other**: Other.', 'type' => 'string', 'example' => 'Other', 'title' => ''], 'PMContactInfo' => ['description' => 'The contact information of the construction crew member.', 'type' => 'string', 'example' => '18910010****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => 'Information about the construction personnel.', 'title' => '', 'example' => '', ], 'LineServiceProvider' => ['description' => 'The line service provider. Valid values:'."\n" ."\n" .'- **China Telecom**'."\n" ."\n" .'- **China Unicom**'."\n" ."\n" .'- **China Mobile**'."\n" ."\n" .'- **Other**', 'type' => 'string', 'example' => '中国其他', 'title' => ''], 'LineSPContactInfo' => ['description' => 'The contact information of the line O\\&M personnel.', 'type' => 'string', 'example' => '1388888****', 'title' => ''], 'Description' => ['description' => 'The description of the LOA.', 'type' => 'string', 'title' => '', 'example' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => 'The data returned.', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParam.AliUid', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'MissingParam.InstanceId', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'MissingParam.RegionNo', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => '%s', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribePhysicalConnectionLOA', 'changeSet' => [ ['createdAt' => '2023-09-07T11:50:19.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], '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' => 'The region ID of the Express Connect circuit. '."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number of the list. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page in a paged query. Default value: **10**. Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], ], [ 'name' => 'IncludeReservationData', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to return data of orders that have not taken effect. Valid values:'."\n" ."\n" .'* **true**: Returns data of orders that have not taken effect.'."\n" ."\n" .'* **false** (default): Does not return data of orders that have not taken effect.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a parameter value from your client to ensure uniqueness across different requests. ClientToken supports only ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001', 'title' => ''], ], [ 'name' => 'Filter', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of filter conditions.', 'type' => 'array', 'items' => [ 'description' => 'The filter condition.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The filter condition. Valid values:'."\n" ."\n" .'- **PhysicalConnectionId**: the Express Connect circuit ID.'."\n" ."\n" .'- **AccessPointId**: the access point ID.'."\n" ."\n" .'- **Type**: the Express Connect circuit type. This filter condition supports only the value **VPC**.'."\n" ."\n" .'- **LineOperator**: the carrier of the Express Connect circuit. This filter condition supports the following values:'."\n" .' - **CT**: China Telecom.'."\n" .' - **CU**: China Unicom.'."\n" .' - **CM**: China Mobile.'."\n" .' - **CO**: other carriers in China.'."\n" .' - **Equinix**: Equinix.'."\n" .' - **Other**: other carriers outside China.'."\n" ."\n" .'- **Spec**: the specification of the Express Connect circuit. This filter condition supports the following values:'."\n" .' - **1G and below**.'."\n" .' - **10G**.'."\n" .' - **40G**.'."\n" .' - **100G**.'."\n" .'> The **40G** and **100G** specifications are not available by default. Only users who have committed an application to their account manager and received approval can use these values.'."\n" ."\n" .'- **Status**: the status of the Express Connect circuit. This filter condition supports the following values:'."\n" .' - **Initial**: pending application.'."\n" .' - **Approved**: approved.'."\n" .' - **Allocating**: allocating resources.'."\n" .' - **Allocated**: under construction.'."\n" .' - **Confirmed**: pending user confirmation.'."\n" .' - **Enabled**: enabled.'."\n" .' - **Rejected**: application denied.'."\n" .' - **Canceled**: canceled.'."\n" .' - **Allocation Failed**: resource allocation failed.'."\n" .' - **Terminating**: stopping.'."\n" .' - **Terminated**: stopped.'."\n" ."\n" .'- **Name**: the name of the Express Connect circuit.'."\n" .'- **ProductType**: the circuit type. Valid values:'."\n" .' - **VirtualPhysicalConnection**: shared Express Connect circuit.'."\n" .' - **PhysicalConnection**: dedicated Express Connect circuit.'."\n" ."\n" .'You can specify up to 5 filter conditions at a time. The filter conditions have an **AND** relationship. Results are returned only when all filter conditions are met.', 'type' => 'string', 'required' => false, 'example' => 'Name', 'title' => ''], 'Value' => [ 'description' => 'The list of filter values.', 'type' => 'array', 'items' => ['description' => 'The filter value that corresponds to the filter condition.'."\n" ."\n" .'Each filter condition supports up to 5 filter values. Multiple filter values have an **OR** relationship. A record is considered to match the filter condition if it matches any of the filter values.', 'type' => 'string', 'required' => false, 'example' => 'nametest', 'title' => ''], 'required' => false, 'example' => '1', 'maxItems' => 5, 'title' => '', ], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 5, 'title' => '', 'example' => '', ], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ 'description' => 'The list of tags.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 64 characters in length and can contain digits, periods (.), underscores (\\_), and hyphens (-). It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and can contain digits, periods (.), underscores (\\_), and hyphens (-). It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 5, 'title' => '', 'example' => '', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the Express Connect circuit belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-aek2yvwibxr****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0E6D0EC4-7C91-53E2-9F65-64BF713114B0', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the list. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page in a paged query. Default value: **10**. Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PhysicalConnectionSet' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'PhysicalConnectionType' => [ 'description' => 'The list of Express Connect circuits.', 'type' => 'array', 'items' => [ 'description' => 'The details of the Express Connect circuit.', 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'The type of the Express Connect circuit. Valid values: **VPC**.', 'type' => 'string', 'example' => 'VPC', 'title' => ''], 'Status' => ['description' => 'The status of the Express Connect circuit. Valid values:'."\n" ."\n" .'- **Initial**: pending application.'."\n" ."\n" .'- **Approved**: approved.'."\n" ."\n" .'- **Allocating**: allocating resources.'."\n" ."\n" .'- **Allocated**: under construction. '."\n" ."\n" .'- **Confirmed**: pending user confirmation. '."\n" ."\n" .'- **Enabled**: enabled.'."\n" ."\n" .'- **Rejected**: application rejected.'."\n" ."\n" .'- **Canceled**: canceled.'."\n" .' '."\n" .'- **Allocation Failed**: resource allocation failed.'."\n" ."\n" .'- **Terminating**: terminating.'."\n" ."\n" .'- **Terminated**: terminated.', 'type' => 'string', 'example' => 'Enabled', 'title' => ''], 'CreationTime' => ['description' => 'The time when the Express Connect circuit was created.', 'type' => 'string', 'example' => '2021-08-24T07:30:58Z', 'title' => ''], 'AdLocation' => ['description' => 'The location of the access point where the Express Connect circuit access device is deployed.', 'type' => 'string', 'example' => '浙江省杭州市XX区XX镇XX路10号', 'title' => ''], 'ReservationActiveTime' => ['description' => 'The effective period of the order that has not taken effect.', 'type' => 'string', 'example' => '2022-02-25T11:01:04Z', 'title' => ''], 'ReservationOrderType' => ['description' => 'The type of the order that has not taken effect.'."\n" ."\n" .'Valid values: **RENEW**, which indicates a renewal order.', 'type' => 'string', 'example' => 'RENEW', 'title' => ''], 'PortNumber' => ['description' => 'The port number of the Express Connect circuit access device.', 'type' => 'string', 'example' => '1/1/1', 'title' => ''], 'Spec' => ['description' => 'The specification of the Express Connect circuit.'."\n" ."\n" .'Unit: **G** indicates Gbit/s.', 'type' => 'string', 'example' => '10G', 'title' => ''], 'ChargeType' => ['description' => 'The billing method of the Express Connect circuit.'."\n" ."\n" .'Valid values: **Prepaid**, which indicates subscription.', 'type' => 'string', 'example' => 'Prepaid', 'title' => ''], 'ReservationInternetChargeType' => ['description' => 'The billing type of the order that has not taken effect.'."\n" ."\n" .'Valid values: **PayByBandwidth**, which indicates pay-by-bandwidth.', 'type' => 'string', 'example' => 'PayByBandwidth', 'title' => ''], 'Description' => ['description' => 'The description of the Express Connect circuit.', 'type' => 'string', 'example' => 'desctest', 'title' => ''], 'Bandwidth' => ['description' => 'The bandwidth of the Express Connect circuit.'."\n" ."\n" .'Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], 'EnabledTime' => ['description' => 'The time when the Express Connect circuit was enabled.', 'type' => 'string', 'example' => '2021-08-24T07:33:18Z', 'title' => ''], 'LineOperator' => ['description' => 'The carrier that provides the physical line for the Express Connect circuit. Valid values:'."\n" ."\n" .'- **CT**: China Telecom.'."\n" ."\n" .'- **CU**: China Unicom.'."\n" ."\n" .'- **CM**: China Mobile.'."\n" ."\n" .'- **CO**: other carriers in China. '."\n" ."\n" .'- **Equinix**: Equinix.'."\n" ."\n" .'- **Other**: other carriers outside China.', 'type' => 'string', 'example' => 'CT', 'title' => ''], 'PeerLocation' => ['description' => 'The geographic location of the on-premises data center.', 'type' => 'string', 'example' => '浙江省杭州市XX区XX镇XX路XX号', 'title' => ''], 'RedundantPhysicalConnectionId' => ['description' => 'The ID of the redundant Express Connect circuit.', 'type' => 'string', 'example' => 'pc-119mfjzm****', 'title' => ''], 'Name' => ['description' => 'The name of the Express Connect circuit.', 'type' => 'string', 'example' => 'nametest', 'title' => ''], 'CircuitCode' => ['description' => 'The circuit code provided by the carrier for the Express Connect circuit.', 'type' => 'string', 'example' => 'longtel001', 'title' => ''], 'EndTime' => ['description' => 'The expiration time of the Express Connect circuit.', 'type' => 'string', 'example' => '2022-04-24T16:00:00Z', 'title' => ''], 'PortType' => ['description' => 'The port type of the Express Connect circuit access device. Valid values:'."\n" ."\n" .'- **100Base-T**: 100M Ethernet port.'."\n" ."\n" .'- **1000Base-T**: 1 GE electrical port.'."\n" ."\n" .'- **1000Base-LX**: GE single-mode optical port (10 km).'."\n" ."\n" .'- **10GBase-T**: 10 GE electrical port.'."\n" ."\n" .'- **10GBase-LR**: 10 GE single-mode optical port (10 km).'."\n" ."\n" .'- **40GBase-LR**: 40 GE single-mode optical port.'."\n" ."\n" .'- **100GBase-LR**: 100 GE single-mode optical port.'."\n" ."\n" .'> 40GBase-LR and 100GBase-LR ports are created based on the actual port availability in the backend. Contact your account manager for port availability details.', 'type' => 'string', 'example' => '10GBase-LR', 'title' => ''], 'BusinessStatus' => ['description' => 'The business status of the Express Connect circuit. Valid values:'."\n" .' '."\n" .'- **Normal**: enabled.'."\n" ."\n" .'- **FinancialLocked**: locked due to overdue payment. '."\n" ."\n" .'- **SecurityLocked**: locked for security reasons.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'LoaStatus' => ['description' => 'The status of the Letter of Authorization (LOA). Valid values:'."\n" ."\n" .'- **Applying**: LOA application in progress.'."\n" ."\n" .'- **Accept**: LOA application approved.'."\n" ."\n" .'- **Available**: LOA available.'."\n" ."\n" .'- **Rejected**: LOA application rejected.'."\n" ."\n" .'- **Completing**: circuit construction in progress.'."\n" ."\n" .'- **Complete**: circuit construction completed.'."\n" ."\n" .'- **Deleted**: LOA deleted.', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'AccessPointId' => ['description' => 'The ID of the access point for the Express Connect circuit.', 'type' => 'string', 'example' => 'ap-cn-hangzhou-finance-yh-E', 'title' => ''], 'AccessPointType' => ['description' => 'The type of the access point for the Express Connect circuit.', 'type' => 'string', 'example' => 'VPC', 'title' => ''], 'HasReservationData' => ['description' => 'Indicates whether the response includes data of orders that have not taken effect. Valid values:'."\n" .'* **true**: The response includes data of orders that have not taken effect.'."\n" ."\n" .'* **false**: The response does not include data of orders that have not taken effect.', 'type' => 'string', 'example' => 'false', 'title' => ''], 'PhysicalConnectionId' => ['description' => 'The instance ID of the Express Connect circuit.', 'type' => 'string', 'example' => 'pc-bp1ciz7ekd2grn1as****', 'title' => ''], 'ProductType' => ['description' => 'The type of the Express Connect circuit. Valid values:'."\n" ."\n" .'- **VirtualPhysicalConnection**: shared Express Connect circuit.'."\n" .'- **PhysicalConnection**: dedicated Express Connect circuit.', 'type' => 'string', 'example' => 'PhysicalConnection', 'title' => ''], 'VirtualPhysicalConnectionCount' => ['description' => 'The number of shared Express Connect circuits created under the current Express Connect circuit.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'ParentPhysicalConnectionId' => ['description' => 'The instance ID of the Express Connect circuit associated with the shared Express Connect circuits.', 'type' => 'string', 'example' => 'pc-bp1ciz7ekd2grn1as****', 'title' => ''], 'ParentPhysicalConnectionAliUid' => ['description' => 'The Alibaba Cloud account ID that owns the Express Connect circuit associated with the shared Express Connect circuits.', 'type' => 'integer', 'format' => 'int64', 'example' => '132193271328****', 'title' => ''], 'VlanId' => ['description' => 'The VLAN ID of the shared Express Connect circuits.', 'type' => 'string', 'example' => '10', 'title' => ''], 'OrderMode' => ['description' => 'The payer of the shared Express Connect circuits. Valid values:'."\n" ."\n" .'- **PayByPhysicalConnectionOwner**: The partner pays.'."\n" .'- **PayByVirtualPhysicalConnectionOwner**: The tenant pays.', 'type' => 'string', 'example' => 'PayByPhysicalConnectionOwner', 'title' => ''], 'VpconnStatus' => ['description' => 'The business status of the shared Express Connect circuits. Valid values:'."\n" ."\n" .'- **Confirmed**: The shared Express Connect circuits have been accepted.'."\n" .'- **UnConfirmed**: The shared Express Connect circuits have not been accepted.'."\n" .'- **Deleted**: The shared Express Connect circuits have been deleted.', 'type' => 'string', 'example' => 'Confirmed', 'title' => ''], 'ExpectSpec' => ['description' => 'The expected bandwidth of the shared Express Connect circuits. The expected bandwidth takes effect after payment is completed.'."\n" ."\n" .'Unit: **M** indicates Mbit/s, **G** indicates Gbit/s.', 'type' => 'string', 'example' => '50M', 'title' => ''], 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-acfmwu3k52p****', 'title' => ''], 'AdDetailLocation' => ['description' => 'The information about the data center and rack.', 'type' => 'string', 'example' => '浙江省杭州市XX区XX镇XX路10号, XX机房, ET135ET135-XX-2包间, JXX机柜, position30', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'tags' => [ 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ 'description' => 'The list of tags.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 64 characters in length and can contain digits, periods (.), underscores (\\_), and hyphens (-). It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and can contain digits, periods (.), underscores (\\_), and hyphens (-). It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'QosId' => ['description' => 'The instance ID of the QoS policy.', 'type' => 'string', 'example' => 'qos-bp10s3szn8rgnxuw7****', 'title' => ''], 'OpticalModuleModel' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'MacsecKeys' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'MacsecKey' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'CipherSuite' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Ckn' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Cak' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'StartOn' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Status' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationUnsupported.ResourceGroupId', 'errorMessage' => 'ResourceGroupId in financial region is unsupported.', 'description' => 'The operation is not supported because Alibaba Finance Cloud does not support resource group IDs.'], ['errorCode' => 'InvalidTagKey.Malformed', 'errorMessage' => 'The specified tag key is invalid.', 'description' => 'Invalid tag key value. Specify a valid tag key value and try again.'], ['errorCode' => 'OperationFailed.InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error. Please retry the operation. The error still exists. Please submit the work order for processing.'], ], 404 => [ ['errorCode' => 'InvalidFilterKey.ValueNotSupported', 'errorMessage' => 'Specified filter key is not supported: Filter.X.key', 'description' => 'Filter.X.key is not supported.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query express connect circuits in a specified region', 'summary' => 'Queries information about Express Connect circuits in a specified region.', 'description' => 'By default, the system queries information about all Express Connect circuits in the specified region. You can use the filter options provided by the **DescribePhysicalConnections** operation to query information about specific Express Connect circuits. For the supported filter options, see the description of **Key** in the **request parameters** section of this topic.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-11-12T08:03:53.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-06-13T08:13:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-02-01T03:33:17.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-08-08T13:15:03.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2023-04-25T07:47:31.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-12-02T02:38:40.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2021-11-17T06:33:01.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-09-27T03:23:37.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-09-27T03:23:37.000Z', 'description' => 'Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePhysicalConnections'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribePhysicalConnections', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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 \\"MacsecKeys\\": {\\n \\"MacsecKey\\": [\\n {\\n \\"CipherSuite\\": \\"\\",\\n \\"Ckn\\": \\"\\",\\n \\"Cak\\": \\"\\",\\n \\"StartOn\\": \\"\\",\\n \\"Status\\": \\"\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'DescribePublicIpAddress' => [ 'summary' => 'Queries the public IP address range of a virtual private cloud (VPC) in a region.', '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' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page.'."\n" ."\n" .'Valid values: **1** to **100**. Default value: **100**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'default' => '100', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region that you want to query. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region that you want to query. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'IpVersion', 'in' => 'query', 'schema' => ['description' => 'The IP version. Valid values:'."\n" ."\n" .'* **IPv4** (default)'."\n" .'* **IPv6**', 'type' => 'string', 'required' => false, 'example' => 'ipv4', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call is successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The HTTP status codes returned.'."\n", 'type' => 'string', 'example' => '200', 'title' => ''], 'Message' => ['description' => 'The response messages.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The number of returned entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RegionId' => ['description' => 'The ID of the region to which the public IP addresses belong.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'PublicIpAddress' => [ 'description' => 'The range of the public IP addresses of the VPC in the region.'."\n", 'type' => 'array', 'items' => ['description' => 'The range of the public IP addresses of the VPC in the region.'."\n", 'type' => 'string', 'example' => '101.37.XX.XX/24', 'title' => ''], 'example' => '110.11.1.0/24', 'title' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.IpVersion', 'errorMessage' => 'Param IpVersion illegal.', 'description' => 'Illegal parameter: IpVersion'], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribePublicIpAddress', 'description' => 'You cannot query the range of public IP addresses of a classic network by calling the **DescribePublicIpAddress** operation.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-07-24T02:48:29.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2024-03-12T12:58:53.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-05-15T06:29:29.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-08-19T12:00:40.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-08-19T08:16:28.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ], 'ramActions' => [], '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":""}]', ], 'DescribeRegions' => [ 'summary' => 'Queries available regions by calling the DescribeRegions operation.', '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' => 'The product type. Default value: **VPC**.', 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''], ], [ 'name' => 'AcceptLanguage', 'in' => 'query', 'schema' => ['description' => 'The language of the response. Valid values: '."\n" .' '."\n" .'- **zh-CN** (default): Chinese.'."\n" ."\n" .'- **en-US**: English.', 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F', 'title' => ''], 'Regions' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Region' => [ 'description' => 'The list of available regions.', 'type' => 'array', 'items' => [ 'description' => 'The list of available regions.', 'type' => 'object', 'properties' => [ 'RegionEndpoint' => ['description' => 'The endpoint of the region.', 'type' => 'string', 'example' => 'vpc.aliyuncs.com', 'title' => ''], 'LocalName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => '华北 1', 'title' => ''], 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-qingdao', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'User not authorized to operate on the specified resource.'], ], ], 'title' => 'Query available Alibaba Cloud regions', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-07-31T02:45:59.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-22T03:01:34.000Z', 'description' => 'Request parameters changed, Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeRouteEntryList' => [ 'summary' => 'Calls DescribeRouteEntryList to query the list of route entries.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the route table to which the route entry belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID. ', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RouteTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the route table to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-bp1r9pvl4xen8s9ju****', 'title' => ''], ], [ 'name' => 'RouteEntryId', 'in' => 'query', 'schema' => ['description' => 'The ID of the route entry to query.', 'type' => 'string', 'required' => false, 'example' => 'rte-bp1mnnr2al0naomnp****', 'title' => ''], ], [ 'name' => 'DestinationCidrBlock', 'in' => 'query', 'schema' => ['description' => 'The destination CIDR block of the route entry. Both IPv4 and IPv6 CIDR blocks are supported.', 'type' => 'string', 'required' => false, 'example' => '192.168.2.0/24', 'title' => ''], ], [ 'name' => 'RouteEntryName', 'in' => 'query', 'schema' => ['description' => 'The name of the route entry.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'abc', 'title' => ''], ], [ 'name' => 'IpVersion', 'in' => 'query', 'schema' => ['description' => 'The version of the IP protocol. Valid values:'."\n" ."\n" .'- **ipv4**: IPv4 protocol.'."\n" ."\n" .'- **ipv6**: IPv6 protocol.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ipv4', 'title' => ''], ], [ 'name' => 'RouteEntryType', 'in' => 'query', 'schema' => ['description' => 'The type of the route. Valid values:'."\n" ."\n" .'- **Custom**: custom route.'."\n" .'- **System**: system route.'."\n" .'- **BGP**: BGP route.'."\n" .'- **CEN**: Cloud Enterprise Network (CEN) route.'."\n" .'- **ECR**: Express Connect Router route.', 'type' => 'string', 'required' => false, 'example' => 'System', 'title' => ''], ], [ 'name' => 'NextHopId', 'in' => 'query', 'schema' => ['description' => 'The ID of the next hop instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vpn-bp10zyaph5cc8b7c7****', 'title' => ''], ], [ 'name' => 'NextHopType', 'in' => 'query', 'schema' => ['description' => 'The type of the next hop. Valid values:'."\n" ."\n" .'- **Instance** (default): ECS instance.'."\n" ."\n" .'- **HaVip**: high-availability virtual IP address (HAVIP).'."\n" ."\n" .'- **VpnGateway**: VPN gateway.'."\n" ."\n" .'- **NatGateway**: NAT gateway.'."\n" ."\n" .'- **NetworkInterface**: secondary elastic network interface.'."\n" ."\n" .'- **RouterInterface**: router interface.'."\n" ."\n" .'- **IPv6Gateway**: IPv6 gateway.'."\n" ."\n" .'- **Attachment**: transit router.'."\n" .'- **Ipv4Gateway**: IPv4 gateway.'."\n" .'- **GatewayEndpoint**: gateway endpoint.'."\n" .'- **Ecr**: Express Connect Router.', 'type' => 'string', 'required' => false, 'example' => 'Instance', 'title' => ''], ], [ 'name' => 'MaxResult', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return per page during a paged query. Valid values: **1** to **100**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '500', 'default' => '100', 'example' => '10', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'Specifies whether a next query token (Token) exists. Valid values:'."\n" .'- You do not need to specify this parameter for the first query or if no next query exists.'."\n" .'- If a next query exists, set the value to the NextToken value returned from the previous API call.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the route table to which the route entry belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID. ', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ServiceType', 'in' => 'query', 'schema' => ['description' => 'The type of route service. If this field is empty, it indicates that the route is not managed.'."\n" ."\n" .'Valid value: **TR**, which indicates that the managed type is transit router.', 'type' => 'string', 'required' => false, 'example' => 'TR', 'title' => ''], ], [ 'name' => 'DestCidrBlockList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of destination CIDR blocks of route entries.', 'type' => 'array', 'items' => ['description' => 'The destination CIDR block list information of route entries. A maximum of 20 destination CIDR blocks can be specified.', 'type' => 'string', 'required' => false, 'example' => '192.168.0.0/24', 'title' => ''], 'required' => false, 'maxItems' => 200, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The detailed information about route entries.', 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'Indicates whether a next query token (Token) exists. Valid values:'."\n" .'- If **NextToken** is empty, no next query exists.'."\n" .'- If **NextToken** has a returned value, the value indicates the token for the next query.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', 'title' => ''], 'RouteEntrys' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'RouteEntry' => [ 'description' => 'The route entry information.', 'type' => 'array', 'items' => [ 'description' => 'The route entry information.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the route entry. Valid values:'."\n" ."\n" .'- **Pending**: being configured.'."\n" ."\n" .'- **Available**: available.'."\n" ."\n" .'- **Modifying**: being modified.'."\n" ."\n" .'- **Deleting**: being deleted.', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'Type' => ['description' => 'The type of the route entry. Valid values:'."\n" ."\n" .'- **Custom**: custom route.'."\n" .'- **System**: system route.'."\n" .'- **BGP**: BGP route.'."\n" .'- **CEN**: Cloud Enterprise Network (CEN) route.'."\n" .'- **ECR**: Express Connect Router route.', 'type' => 'string', 'example' => 'System', 'title' => ''], 'IpVersion' => ['description' => 'The version of the IP protocol. Valid values:'."\n" ."\n" .'- **ipv4**: IPv4 protocol.'."\n" ."\n" .'- **ipv6**: IPv6 protocol.', 'type' => 'string', 'example' => 'ipv4', 'title' => ''], 'Description' => ['description' => 'The description of the route entry.', 'type' => 'string', 'example' => 'RouteEntryDescription', 'title' => ''], 'RouteEntryName' => ['description' => 'The name of the route entry.', 'type' => 'string', 'example' => 'aaa', 'title' => ''], 'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the route entry.', 'type' => 'string', 'example' => '192.168.2.0/24', 'title' => ''], 'RouteEntryId' => ['description' => 'The ID of the route entry.', 'type' => 'string', 'example' => 'rte-bp1mnnr2al0naomnp****', 'title' => ''], 'RouteTableId' => ['description' => 'The route table ID.', 'type' => 'string', 'example' => 'vtb-bp15w5q90d2rk3bww****', 'title' => ''], 'GmtModified' => ['description' => 'The time when the route entry was modified. The time is in UTC and displayed in the format of `YYYY-MM-DDThh:mm:ssZ`.', 'type' => 'string', 'format' => 'iso8601', 'example' => '2022-05-09T03:00:07Z', 'title' => ''], 'NextHops' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'NextHop' => [ 'description' => 'The next hop information.', 'type' => 'array', 'items' => [ 'description' => 'The next hop information.', 'type' => 'object', 'properties' => [ 'NextHopRegionId' => ['description' => 'The region ID of the next hop instance.'."\n" ."\n" .'> This parameter is returned only when the next hop type is **RouterInterface**.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'Weight' => ['description' => 'The weight of the route entry.'."\n" ."\n" .'> This parameter is returned only when the next hop type is **RouterInterface**.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'NextHopId' => ['description' => 'The ID of the next hop instance.', 'type' => 'string', 'example' => 'vpn-bp10zyaph5cc8b7c7****', 'title' => ''], 'Enabled' => ['description' => 'Indicates whether the route is available. Valid values:'."\n" ."\n" .'- **0**: unavailable.'."\n" ."\n" .'- **1**: available.'."\n" ."\n" .'> This parameter is returned only when the next hop type is **RouterInterface**.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'NextHopType' => ['description' => 'The type of the next hop. Valid values:'."\n" ."\n" .'- **Instance**: ECS instance.'."\n" ."\n" .'- **HaVip**: high-availability virtual IP address (HAVIP).'."\n" ."\n" .'- **VpnGateway**: VPN gateway.'."\n" ."\n" .'- **NatGateway**: NAT gateway.'."\n" ."\n" .'- **NetworkInterface**: secondary elastic network interface.'."\n" ."\n" .'- **RouterInterface**: router interface.'."\n" ."\n" .'- **IPv6Gateway**: IPv6 gateway.'."\n" ."\n" .'- **Attachment**: transit router.'."\n" .'- **Ipv4Gateway**: IPv4 gateway.'."\n" .'- **GatewayEndpoint**: gateway endpoint.'."\n" .'- **Ecr**: Express Connect Router.', 'type' => 'string', 'example' => 'Instance', 'title' => ''], 'NextHopRelatedInfo' => [ 'description' => 'The information related to the next hop.', 'type' => 'object', 'properties' => [ 'InstanceId' => ['description' => 'The instance ID of the instance associated with the next hop.', 'type' => 'string', 'example' => 'vpc-bp1t36rn9l53iwbsf****', 'title' => ''], 'InstanceType' => ['description' => 'The instance type of the instance associated with the next hop. Valid values:'."\n" ."\n" .'- **VPC**: virtual private cloud.'."\n" ."\n" .'- **VBR**: virtual border router.'."\n" ."\n" .'- **PCONN**: physical connection.', 'type' => 'string', 'example' => 'VPC', 'title' => ''], 'RegionId' => ['description' => 'The region ID of the instance associated with the next hop.', 'type' => 'string', 'example' => 'ch-hangzhou', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'ServiceType' => ['description' => 'The type of route service. If this field is empty, it indicates that the route is not managed.'."\n" ."\n" .'Valid value: **TR**, which indicates that the managed type is transit router.', 'type' => 'string', 'example' => 'TR', 'title' => ''], 'Origin' => ['description' => 'The origin of the route. Valid values:'."\n" ."\n" .'- **RoutePropagation**: created by dynamic route propagation.'."\n" .'- **SystemCreate**: created by the system.'."\n" .'- **CustomCreate**: custom created.', 'type' => 'string', 'example' => 'RoutePropagation', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'User nextToken is illegal.', 'description' => ''], ['errorCode' => 'InvalidNextHop.NotFound', 'errorMessage' => 'The specified route entry nexthop does not exist in our records.', 'description' => ''], ['errorCode' => 'OperationFailed.QueryCenEntry', 'errorMessage' => 'Operation is denied because getting CEN route entry has failed.', 'description' => 'Operation is denied because getting CEN route entry has failed.'], ['errorCode' => 'OperationDenied.UseGatewayRouteEntryQueryInterface', 'errorMessage' => 'Use listGatewayRouteTableEntries to describe gateway route entries.', 'description' => ''], ['errorCode' => 'InvalidRouteTable.NotFound', 'errorMessage' => 'The specified RouteTable was not found.', 'description' => ''], ['errorCode' => 'IllegalParam.RouteEntryType', 'errorMessage' => 'The parameter of RouteEntryType is illegal.', 'description' => ''], ['errorCode' => 'MissingParam.context', 'errorMessage' => 'The param of context is missing.', 'description' => ''], ['errorCode' => 'MissingParam.aliUid', 'errorMessage' => 'The param of aliUid is missing.', 'description' => ''], ['errorCode' => 'MissingParam.bid', 'errorMessage' => 'The param of bid is missing.', 'description' => ''], ['errorCode' => 'IllegalParam.IpVersion', 'errorMessage' => 'Param IpVersion illegal.', 'description' => 'Illegal parameter: IpVersion'], ['errorCode' => 'OperationFailed.FilterParamUnderWrongRouteType', 'errorMessage' => 'Operation failed because only custom type support filter by routeEntryId or routeEntryName', 'description' => 'The operation failed because only custom routes support search by route ID or route name.'], ['errorCode' => 'IllegalParam.NextTokenExpired', 'errorMessage' => 'The parameter of NextTokenExpired is illegal.', 'description' => ''], ], ], 'title' => 'Query the list of route entries', 'description' => 'Before calling the [DeleteRouteEntry](~~36013~~) operation to delete a route entry, you can call this operation to query the next hop information of the route entry to be deleted.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-02-10T06:07:07.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-08-26T11:35:35.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-01-05T06:29:38.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-07-03T09:17:39.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2022-09-29T03:52:23.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2022-09-15T02:10:52.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-09-15T02:10:52.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-17T06:33:02.000Z', 'description' => 'Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRouteEntryList'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeRouteEntryList', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], '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' => 'The type of the router to which the route table belongs. Valid value:'."\n" ."\n" .'* **VRouter** (default): a vRouter'."\n" .'* **VBR**: a VBR'."\n", 'type' => 'string', 'required' => false, 'example' => 'VRouter', 'default' => 'VRouter', 'title' => ''], ], [ 'name' => 'RouterId', 'in' => 'query', 'schema' => ['description' => 'The ID of vRouter to which the route table belongs.', 'type' => 'string', 'required' => false, 'example' => 'vrt-bp1lhl0taikrteen8****', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC to which the route table belongs. '."\n" ."\n" .'When this parameter is set, the value of **RouterType** is automatically assigned to **VRouter**.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp15zckdt37pq72****', 'title' => ''], ], [ 'name' => 'RouteTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the route table.', 'type' => 'string', 'required' => false, 'example' => 'vtb-bp145q7glnuzdvzu2****', 'title' => ''], ], [ 'name' => 'RouteTableName', 'in' => 'query', 'schema' => ['description' => 'The name of the route table.', 'type' => 'string', 'required' => false, 'example' => 'doctest', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The number of the returned page. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the route table belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPC to which the route table belongs.'."\n" ."\n" .'You can call [DescribeRegions](https://www.alibabacloud.com/help/vpc/developer-reference/api-vpc-2016-04-28-describeregions) to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-southeast-6', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'description' => 'The tags of the resource.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The value of tag N to add to the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of tag N to add to the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'RouteTableType', 'in' => 'query', 'schema' => ['description' => 'The type of the route table.'."\n" ."\n" .'* **System**'."\n" .'* **Custom**', 'type' => 'string', 'required' => false, 'example' => 'System', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The details of the route table.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'DC668356-BCB4-42FD-9BC3-FA2B2E04B634', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RouterTableList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'RouterTableListType' => [ 'description' => 'The detailed information about the route tables.', 'type' => 'array', 'items' => [ 'description' => 'The details of the route table.', 'type' => 'object', 'properties' => [ 'VpcId' => ['description' => 'The ID of the VPC to which the route table belongs.', 'type' => 'string', 'example' => 'vpc-bp15zckdt37pq72****', 'title' => ''], 'CreationTime' => ['description' => 'The time when the route table was created.', 'type' => 'string', 'example' => '2021-08-22T10:40:25Z', 'title' => ''], 'Status' => ['description' => 'The status of the route table. Valid values:'."\n" ."\n" .'* **Pending**'."\n" .'* **Available**'."\n" .'* **Deleting**', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'RouterId' => ['description' => 'The ID of the vRouter to which the route table belongs.', 'type' => 'string', 'example' => 'vrt-bp1lhl0taikrteen8****', 'title' => ''], 'AssociateType' => ['description' => 'The type of the cloud resource with which the route table is associated. Valid values:'."\n" ."\n" .'* **VSwitch**: vSwitch'."\n" .'* **Gateway**: IPv4 gateway', 'type' => 'string', 'example' => 'VSwitch', 'title' => ''], 'RouteTableId' => ['description' => 'The ID of the route table.', 'type' => 'string', 'example' => 'vtb-bp145q7glnuzdvzu2****', 'title' => ''], 'OwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the route table belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '253460731706911258', 'title' => ''], 'Description' => ['description' => 'The information about the route table.', 'type' => 'string', 'example' => 'This is Route Table.', 'title' => ''], 'RouteTableType' => ['description' => 'The type of the route table. Valid values:'."\n" ."\n" .'* **Custom**'."\n" .'* **System**', 'type' => 'string', 'example' => 'System', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the route table belongs.', 'type' => 'string', 'example' => 'rg-acfmxazb4ph****', 'title' => ''], 'RouterType' => ['description' => 'The type of the vRouter to which the route table belongs. Valid values:'."\n" ."\n" .'- **VRouter**: a vRouter.'."\n" ."\n" .'- **VBR**: a VBR.', 'type' => 'string', 'example' => 'VRouter', 'title' => ''], 'RouteTableName' => ['description' => 'The name of the route table.', 'type' => 'string', 'example' => 'doctest', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The tags.', 'type' => 'array', 'items' => [ 'description' => 'The tags.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of the tag that is added to the route table.', 'type' => 'string', 'example' => 'type', 'title' => ''], 'Value' => ['description' => 'The value of the tag that is added to the route table.', 'type' => 'string', 'example' => 'ingress', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'VSwitchIds' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'VSwitchId' => [ 'description' => 'The vSwitch IDs.'."\n", 'type' => 'array', 'items' => ['description' => 'The vSwitch IDs.'."\n", 'type' => 'string', 'example' => 'vsw-bp12mw1f8k3jgygk9****', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'GatewayIds' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'GatewayIds' => [ 'description' => 'The detailed information about the IPv4 gateway.', 'type' => 'array', 'items' => ['description' => 'The detailed information about the IPv4 gateway.', 'type' => 'string', 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'RoutePropagationEnable' => ['description' => 'Whether to receive the propagation routes. Valid Values:'."\n" ."\n" .'* **true**: received.'."\n" ."\n" .'* **false**: not received.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidTagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The tag index is invalid.'], ['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The tag value is invalid.'], ['errorCode' => 'IellgalParameter.OwnerAccount', 'errorMessage' => 'The specified parameter OwnerAccount is not valid.', 'description' => 'The specified parameter OwnerAccount is illegal.'], ], 403 => [ ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'User not authorized to operate on the specified resource.'], ['errorCode' => 'Abs.InvalidPayType', 'errorMessage' => 'Specified pay type is not valid.', 'description' => ''], ['errorCode' => 'Abs.InstanceNotExist', 'errorMessage' => 'Specified instance not exist.', 'description' => ''], ['errorCode' => 'Abs.Forbidden', 'errorMessage' => 'Specified instance cannot change pay type.', 'description' => ''], ['errorCode' => 'Abs.InvalidPayPeriod', 'errorMessage' => 'Specified pay period not valid.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeRouteTableList', 'summary' => 'Queries route tables.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-01-05T06:29:38.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-11-27T12:29:43.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-08-14T08:48:43.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-08-03T05:30:57.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2021-11-02T02:19:49.000Z', 'description' => 'Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '180', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRouteTableList'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeRouteTableList', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:VRouter', 'validationType' => 'always'], ['conditionKey' => 'vpc:VBR', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/*'], ], ], ], ], '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":""}]', ], 'DescribeRouteTables' => [ 'summary' => 'Calls the DescribeRouteTables operation to query route tables.', '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' => 'The region ID of the VPC to which the route table belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => false, 'example' => 'ap-southeast-6', 'title' => ''], ], [ 'name' => 'VRouterId', 'in' => 'query', 'schema' => ['description' => 'The ID of the vRouter to query.'."\n" ."\n" .'>You must specify at least one of the following parameters: VRouterId, RouteTableId, RouterId, and RouteTableName. You cannot specify both VRouterId and RouterId at the same time.', 'type' => 'string', 'required' => false, 'example' => 'vrt-bp1lhl0taikrteen****', 'title' => ''], ], [ 'name' => 'RouteTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the route table to query.'."\n" ."\n" .'>You must specify at least one of the following parameters: VRouterId, RouteTableId, RouterId, and RouteTableName. You cannot specify both VRouterId and RouterId at the same time.', 'type' => 'string', 'required' => false, 'example' => 'vtb-bp145q7glnuzdvzu2****', 'title' => ''], ], [ 'name' => 'RouterType', 'in' => 'query', 'schema' => ['description' => 'The type of the router to which the route table belongs. Valid values:'."\n" ."\n" .'- **VRouter** (default): vRouter.'."\n" .'- **VBR**: Virtual Border Router.', 'type' => 'string', 'required' => false, 'example' => 'VRouter', 'title' => ''], ], [ 'name' => 'RouterId', 'in' => 'query', 'schema' => ['description' => 'The ID of the router to which the route table belongs.'."\n" ."\n" .'>You must specify at least one of the following parameters: VRouterId, RouteTableId, RouterId, and RouteTableName. You cannot specify both VRouterId and RouterId at the same time.', 'type' => 'string', 'required' => false, 'example' => 'vrt-bp1lhl0taikrteen8****', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', 'schema' => ['description' => 'The destination type of the route to query. Valid values:'."\n" ."\n" .'- **Custom**: custom route.'."\n" .'- **System**: system route.'."\n" .'- **BGP**: BGP route.'."\n" .'- **CEN**: Cloud Enterprise Network (CEN) route.'."\n" .'- **ECR**: Express Connect Router (ECR) route.', 'type' => 'string', 'required' => false, 'example' => 'Custom', 'title' => ''], ], [ 'name' => 'RouteTableName', 'in' => 'query', 'schema' => ['description' => 'The name of the route table to query.'."\n" ."\n" .'The name must be 2 to 128 characters in length and must start with a letter or a Chinese character. It can contain digits, periods (.), underscores (_), and hyphens (-).'."\n" ."\n" .'>You must specify at least one of the following parameters: VRouterId, RouteTableId, RouterId, and RouteTableName. You cannot specify both VRouterId and RouterId at the same time.', 'type' => 'string', 'required' => false, 'example' => 'doctest', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the route table belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page during paging. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The number of entries per page.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'DC668356-BCB4-42FD-9BC3-FA2B2E04B634', 'title' => ''], 'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RouteTables' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'RouteTable' => [ 'description' => 'The details of the route tables.', 'type' => 'array', 'items' => [ 'description' => 'The time when the route table was created.', 'type' => 'object', 'properties' => [ 'CreationTime' => ['description' => 'The time when the route table was created.'."\n" ."\n" .'The time is displayed in UTC in the `YYYY-MM-DDThh:mm:ssZ` format.', 'type' => 'string', 'example' => '2022-08-22T10:40:25Z', 'title' => ''], 'Status' => ['description' => 'The status of the route table. Valid values:'."\n" ."\n" .'- **Pending**: being configured.'."\n" .'- **Available**: active.', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'VRouterId' => ['description' => 'The ID of the vRouter.', 'type' => 'string', 'example' => 'vrt-bp1lhl0taikrteen****', 'title' => ''], 'RouteTableType' => ['description' => 'The type of the route table. Valid values:'."\n" ."\n" .'- **Custom**: custom route table.'."\n" .'- **System**: system route table.', 'type' => 'string', 'example' => 'Custom', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the route table belongs.', 'type' => 'string', 'example' => 'rg-acfmxazb4ph****', 'title' => ''], 'RouteTableId' => ['description' => 'The ID of the route table.', 'type' => 'string', 'example' => 'vtb-bp145q7glnuzdvzu2****', 'title' => ''], 'RouteEntrys' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'RouteEntry' => [ 'description' => 'The route information.', 'type' => 'array', 'items' => [ 'description' => 'The route information.', 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'The destination type of the route. Valid values:'."\n" ."\n" .'- **Custom**: custom route.'."\n" .'- **System**: system route.'."\n" .'- **BGP**: BGP route.'."\n" .'- **CEN**: Cloud Enterprise Network (CEN) route.'."\n" .'- **ECR**: Express Connect Router (ECR) route.', 'type' => 'string', 'example' => 'Custom', 'title' => ''], 'Status' => ['description' => 'The status of the route. Valid values:'."\n" ."\n" .'- **Pending**: being configured.'."\n" .'- **Available**: active.'."\n" .'- **Modifying**: being modified.', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'NextHopType' => ['description' => 'The next hop type. Valid values:'."\n" ."\n" .'- **Instance** (default): ECS instance.'."\n" .'- **HaVip**: high-availability virtual IP address.'."\n" .'- **VpnGateway**: VPN gateway.'."\n" .'- **NatGateway**: NAT gateway.'."\n" .'- **NetworkInterface**: secondary elastic network interface controller (NIC).'."\n" .'- **RouterInterface**: vRouter interface.'."\n" .'- **IPv6Gateway**: IPv6 gateway.'."\n" .'- **Attachment**: transit router.'."\n" .'- **Ipv4Gateway**: IPv4 gateway.'."\n" .'- **GatewayEndpoint**: gateway endpoint.'."\n" .'- **CenBasic**: CEN that does not support transit routers.'."\n" .'- **Ecr**: Express Connect Router (ECR).', 'type' => 'string', 'example' => 'Instance', 'title' => ''], 'RouteEntryName' => ['description' => 'The name of the route.'."\n" ."\n" .'The name must be 2 to 128 characters in length and must start with a letter or a Chinese character. It can contain digits, periods (.), underscores (_), and hyphens (-).', 'type' => 'string', 'example' => 'name', 'title' => ''], 'RouteEntryId' => ['description' => 'The ID of the route.', 'type' => 'string', 'example' => 'rte-bp1mnnr2al0naomnp****', 'title' => ''], 'InstanceId' => ['description' => 'The instance ID of the instance associated with the next hop.', 'type' => 'string', 'example' => 'vpc-bp1t36rn9l53iwbsf****', 'title' => ''], 'RouteTableId' => ['description' => 'The ID of the route table.', 'type' => 'string', 'example' => 'vtb-bp15w5q90d2rk3bww****', 'title' => ''], 'Description' => ['description' => 'The description of the route.'."\n" .'The description must be 2 to 256 characters in length and must start with a letter or a Chinese character. It cannot start with `http://` or `https://`.', 'type' => 'string', 'example' => 'RouteEntryDescription', 'title' => ''], 'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the route. Both IPv4 and IPv6 destination CIDR blocks are supported. The following requirements must be met:'."\n" ."\n" .'- The destination CIDR block cannot point to or be contained within 100.64.0.0/10.'."\n" .'- The destination CIDR blocks of different routes in the same route table must be unique.', 'type' => 'string', 'example' => '192.168.2.0/24', 'title' => ''], 'NextHops' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'NextHop' => [ 'description' => 'The next hop information.', 'type' => 'array', 'items' => [ 'description' => 'The next hop information.', 'type' => 'object', 'properties' => [ 'NextHopId' => ['description' => 'The instance ID of the next hop.', 'type' => 'string', 'example' => 'vpn-bp10zyaph5cc8b7c7****', 'title' => ''], 'Weight' => ['description' => 'The weight of the route.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'NextHopType' => ['description' => 'The next hop type. Valid values:'."\n" ."\n" .'- **Instance**: ECS instance.'."\n" .'- **HaVip**: high-availability virtual IP address.'."\n" .'- **VpnGateway**: VPN gateway.'."\n" .'- **NatGateway**: NAT gateway.'."\n" .'- **NetworkInterface**: secondary elastic network interface controller (NIC).'."\n" .'- **RouterInterface**: vRouter interface.'."\n" .'- **IPv6Gateway**: IPv6 gateway.'."\n" .'- **Attachment**: transit router.'."\n" .'- **Ipv4Gateway**: IPv4 gateway.'."\n" .'- **GatewayEndpoint**: gateway endpoint.'."\n" .'- **CenBasic**: CEN that does not support transit routers.'."\n" .'- **Ecr**: Express Connect Router (ECR).', 'type' => 'string', 'example' => 'Instance', 'title' => ''], 'Enabled' => ['description' => 'Indicates whether the route is available. Valid values:'."\n" ."\n" .'- **0**: unavailable.'."\n" .'- **1**: available.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'VSwitchIds' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'VSwitchId' => [ 'description' => 'The vSwitch ID.', 'type' => 'array', 'items' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-bp12mw1f8k3jgygk9****', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidVRouterId.NotFound', 'errorMessage' => 'Specified virtual router does not exist.', 'description' => ''], ['errorCode' => 'OperationFailed.DescribeCenRoute', 'errorMessage' => 'An error occurred while querying the CEN route entry.', 'description' => 'CEN routes are abnormal.'], ['errorCode' => 'OperationFailed.VRouterNotExist', 'errorMessage' => 'Operation failed because the VRouter does not exist.', 'description' => 'Operation failed because the VRouter does not exist.'], ['errorCode' => 'IllegalParam.Type', 'errorMessage' => 'The parameter of Type is illegal.', 'description' => 'Illegal parameter Type.'], ['errorCode' => 'OperationFailed.InvalidRouterType', 'errorMessage' => 'The operation is failed because of %s.', 'description' => 'Invalid router type.'], ], ], 'staticInfo' => [ 'substitutions' => ['Vpc::2016-04-28::DescribeRouteTableList'], 'returnType' => 'synchronous', ], 'title' => 'Query route tables', 'changeSet' => [ ['createdAt' => '2024-12-31T01:51:55.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-09-25T07:38:52.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-09-06T05:55:03.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-09T12:09:24.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRouteTables'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeRouteTables', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:VBR'], ['conditionKey' => 'vpc:VRouter'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], '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' => 'The ID of the region to which the router interface belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the router interface.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ri-m5egfc10sednwk2yt****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'ReservationActiveTime' => ['description' => 'The time when the renewal takes effect.'."\n", 'type' => 'string', 'example' => '2022-06-11T16:00:00Z', 'title' => ''], 'HealthCheckTargetIp' => ['description' => 'The destination IP address that is used for the health check.'."\n", 'type' => 'string', 'example' => '2.2.XX.XX', 'title' => ''], 'Status' => ['description' => 'The status of the router interface. Valid values:'."\n" ."\n" .'* **Idle**'."\n" .'* **AcceptingConnecting**'."\n" .'* **Connecting**'."\n" .'* **Activating**'."\n" .'* **Active**'."\n" .'* **Modifying**'."\n" .'* **Deactivating**'."\n" .'* **Inactive**'."\n" .'* **Deleting**'."\n", 'type' => 'string', 'example' => 'Active', 'title' => ''], 'CreationTime' => ['description' => 'The time when the router interface was created.'."\n", 'type' => 'string', 'example' => '2022-04-14T08:57:24Z', 'title' => ''], 'ReservationOrderType' => ['description' => 'The type of the renewal order. Only **RENEW** may be returned, which indicates that the order is placed for service renewal.'."\n", 'type' => 'string', 'example' => 'RENEW', 'title' => ''], 'OppositeInterfaceId' => ['description' => 'The ID of the peer router interface.'."\n", 'type' => 'string', 'example' => 'ri-bp1xkrzttximaoxbl****', 'title' => ''], 'Spec' => ['description' => 'The specification of the router interface. Valid values:'."\n" ."\n" .'* **Mini.2**: 2 Mbit/s'."\n" .'* **Mini.5**: 5 Mbit/s'."\n" .'* **Small.1**: 10 Mbit/s'."\n" .'* **Small.2**: 20 Mbit/s'."\n" .'* **Small.5**: 50 Mbit/s'."\n" .'* **Middle.1**: 100 Mbit/s'."\n" .'* **Middle.2**: 200 Mbit/s'."\n" .'* **Middle.5**: 500 Mbit/s'."\n" .'* **Large.1**: 1,000 Mbit/s'."\n" .'* **Large.2**: 2,000 Mbit/s'."\n" .'* **Large.5**: 5,000 Mbit/s'."\n" .'* **Xlarge.1**: 10,000 Mbit/s'."\n", 'type' => 'string', 'example' => 'Mini.2', 'title' => ''], 'ChargeType' => ['description' => 'The billing method. Valid values:'."\n" ."\n" .'* **AfterPay**: pay-as-you-go'."\n" .'* **PrePaid**: subscription'."\n", 'type' => 'string', 'example' => 'AfterPay', 'title' => ''], 'RouterInterfaceId' => ['description' => 'The ID of the router interface.'."\n", 'type' => 'string', 'example' => 'ri-m5egfc10sednwk2yt****', 'title' => ''], 'Message' => ['description' => 'The response parameters.'."\n", 'type' => 'string', 'example' => 'successful', 'title' => ''], 'HcThreshold' => ['description' => 'The healthy threshold. This value indicates the number of probe packets that are sent during a health check. Unit: packets.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '8', 'title' => ''], 'OppositeRouterType' => ['description' => 'The type of the router to which the peer router interface belongs. Valid values:'."\n" ."\n" .'* **VRouter**'."\n" .'* **VBR**'."\n", 'type' => 'string', 'example' => 'VRouter', 'title' => ''], 'GmtModified' => ['description' => 'The time when the router interface was modified.'."\n", 'type' => 'string', 'example' => '2022-04-28T10:02:12Z', 'title' => ''], 'VpcInstanceId' => ['description' => 'The ID of the virtual private cloud (VPC) to which the router interface belongs.'."\n", 'type' => 'string', 'example' => 'vpc-bp1b49rqrybk45nio****', 'title' => ''], 'OppositeInterfaceOwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the peer router interface belongs.'."\n", 'type' => 'string', 'example' => '1321932713****', 'title' => ''], 'OppositeVpcInstanceId' => ['description' => 'The ID of the peer VPC.'."\n", 'type' => 'string', 'example' => 'vpc-bp1b49rqrybk45nio****', 'title' => ''], 'ReservationInternetChargeType' => ['description' => 'The metering method that is used after the renewal takes effect. Valid values: If **PayByBandwidth** is returned, it indicates that the Express Connect circuit is billed on a pay-by-bandwidth basis.'."\n", 'type' => 'string', 'example' => 'PayByBandwidth', 'title' => ''], 'CrossBorder' => ['description' => 'Indicates whether the connection is a cross-border connection. Valid values:'."\n" ."\n" .'* **false**'."\n" .'* **true**'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '01818199-04F6-47F4-9ADF-7CC824CF57A4', 'title' => ''], 'Bandwidth' => ['description' => 'The bandwidth of the router interface. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'Description' => ['description' => 'The description of the router interface.'."\n", 'type' => 'string', 'example' => '对端接口', 'title' => ''], 'HcRate' => ['description' => 'The rate of health checks. Unit: seconds. The value indicates the interval at which probe packets are sent during a health check.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'ReservationBandwidth' => ['description' => 'The maximum bandwidth after the renewal takes effect. Unit: Mbit/s.'."\n", 'type' => 'string', 'example' => '100', 'title' => ''], 'Code' => ['description' => 'The HTTP status code.'."\n", 'type' => 'string', 'example' => '200', 'title' => ''], 'Name' => ['description' => 'The name of the router interface.'."\n", 'type' => 'string', 'example' => '路由器接口1', 'title' => ''], 'OppositeRouterId' => ['description' => 'The ID of the router to which the peer router interface belongs.'."\n", 'type' => 'string', 'example' => 'vrt-bp11xvy6lb9photuu****', 'title' => ''], 'OppositeInterfaceSpec' => ['description' => 'The specification of the peer router interface. Valid values:'."\n" ."\n" .'* **Mini.2**: 2 Mbit/s'."\n" .'* **Mini.5**: 5 Mbit/s'."\n" .'* **Small.1**: 10 Mbit/s'."\n" .'* **Small.2**: 20 Mbit/s'."\n" .'* **Small.5**: 50 Mbit/s'."\n" .'* **Middle.1**: 100 Mbit/s'."\n" .'* **Middle.2**: 200 Mbit/s'."\n" .'* **Middle.5**: 500 Mbit/s'."\n" .'* **Large.1**: 1,000 Mbit/s'."\n" .'* **Large.2**: 2,000 Mbit/s'."\n" .'* **Large.5**: 5,000 Mbit/s'."\n" .'* **Xlarge.1**: 10,000 Mbit/s'."\n" .'* **Negative**: not applicable'."\n", 'type' => 'string', 'example' => 'Negative', 'title' => ''], 'RouterId' => ['description' => 'The ID of the router to which the router interface belongs.'."\n", 'type' => 'string', 'example' => 'vbr-m5ex0xf63xk8s5bob****', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request is successful. Valid values: true and false.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'OppositeInterfaceBusinessStatus' => ['description' => 'The service status of the peer router interface. Valid values:'."\n" ."\n" .'* **Normal**'."\n" .'* **FinancialLocked**'."\n" .'* **SecurityLocked**'."\n", 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'ConnectedTime' => ['description' => 'The time when the connection was established.'."\n", 'type' => 'string', 'example' => '2022-04-14T08:58:04Z', 'title' => ''], 'HealthCheckSourceIp' => ['description' => 'The source IP address that is used for the health check.'."\n", 'type' => 'string', 'example' => '1.1.XX.XX', 'title' => ''], 'OppositeInterfaceStatus' => ['description' => 'The status of the peer router interface. Valid values:'."\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', 'title' => ''], 'EndTime' => ['description' => 'The end of the time range during which data was queried.'."\n", 'type' => 'string', 'example' => '2999-09-08T16:00:00Z', 'title' => ''], 'OppositeRegionId' => ['description' => 'The region ID of the peer router interface.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'OppositeAccessPointId' => ['description' => 'The ID of the peer access point.'."\n", 'type' => 'string', 'example' => 'ap-cn-qingdao-ls-B', 'title' => ''], 'BusinessStatus' => ['description' => 'The status of the router interface. Valid values:'."\n" ."\n" .'* **Normal**'."\n" .'* **FinancialLocked**'."\n" .'* **SecurityLocked**'."\n", 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'HealthCheckStatus' => ['description' => 'The status of the health check. Valid values:'."\n" ."\n" .'* **Abnormal**'."\n" .'* **Normal**'."\n" .'* **NoRedundantRoute**'."\n" .'* **NoHealthCheckConfig**'."\n", 'type' => 'string', 'example' => 'normal', 'title' => ''], 'OppositeBandwidth' => ['description' => 'The maximum bandwidth of the peer router interface. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'RouterType' => ['description' => 'The type of the router to which the route table belongs. Valid values:'."\n" ."\n" .'* **VRouter**'."\n" .'* **VBR**'."\n", 'type' => 'string', 'example' => 'VRouter', 'title' => ''], 'Role' => ['description' => 'The role of the router interface in the peering connection.'."\n", 'type' => 'string', 'example' => 'InitiatingSide', 'title' => ''], 'HasReservationData' => ['description' => 'Indicates whether renewal data is included. Valid values:'."\n" ."\n" .'* **false**'."\n" .'* **true**'."\n", 'type' => 'string', 'example' => 'false', 'title' => ''], 'AccessPointId' => ['description' => 'The ID of the access point.'."\n", 'type' => 'string', 'example' => 'ap-cn-qingdao-ls-A', 'title' => ''], 'ResourceGroupId' => ['description' => 'The resource group ID.'."\n" ."\n" .'For more information about resource groups, see [What is a resource group?](~~94475~~)'."\n", 'type' => 'string', 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tags' => [ 'description' => 'The tag of the resource.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N added to the resource. You must enter at least one tag key and at most 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 64 characters in length and can contain digits, periods (.), underscores (\\_), and hyphens (-). It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of tag N added to the resource. You can specify at most 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'It can be up to 128 characters in length and can contain digits, periods (.), underscores (\\_), and hyphens (-). It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'FastLinkMode' => ['description' => 'Indicates whether the VBR that is created in the Fast Link mode is uplinked to the router interface. The Fast Link mode helps automatically connect router interfaces that are created for the VBR and its peer VPC. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false** (default)'."\n" ."\n" .'> '."\n" ."\n" .'* This parameter takes effect only when **RouterType** is set to **VBR** and **OppositeRouterType** is set to **VRouter**.'."\n" ."\n" .'* When **FastLinkMode** is set to **true**, **Role** must be set to **InitiatingSide**. **AccessPointId**, **OppositeRouterType**, **OpppsiteRouterId**, and **OppositeInterfaceOwnerId** are required.'."\n", 'type' => 'string', 'example' => 'false', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParam.NotNull', 'errorMessage' => 'The parameter must not be null.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeRouterInterfaceAttribute', 'summary' => 'Queries the configuration of a router interface.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-07-24T11:57:53.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2023-07-20T11:21:57.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], '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":"","errorExample":""}]', ], 'DescribeRouterInterfaces' => [ 'summary' => 'Queries router interfaces in a specified region.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the router interface.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => ' cn-hangzhou', 'title' => ''], ], [ 'name' => 'IncludeReservationData', 'in' => 'query', 'schema' => ['description' => 'Specifies whether renewal data is included. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false** (default)'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''], ], [ 'name' => 'Filter', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The filter information.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The filter conditions. You can specify up to five filter conditions. The following filter conditions are supported:'."\n" ."\n" .'* **RouterInterfaceId**: the ID of the router interface.'."\n" .'* **RouterId**: the ID of the router.'."\n" .'* **RouterType**: the router type. Valid values: **VRouter** and **VBR**.'."\n" .'* **RouterInterfaceOwnerId**: the ID of the Alibaba Cloud account to which the router interface belongs.'."\n" .'* **OppositeInterfaceId**: the ID of the peer router interface.'."\n" .'* **OppositeRouterType**: the type of the peer router interface. Valid values: **VRouter** and **VBR**.'."\n" .'* **OppositeRouterId**: the ID of the peer router.'."\n" .'* **OppositeInterfaceOwnerId**: the ID of the Alibaba Cloud account to which the peer router interface belongs.'."\n" .'* **Status**: the status of the router interface.'."\n" .'* **Name**: the name of the router interface.'."\n" ."\n" .'> The logical operator among multiple values in a filter condition is OR. In this case, the filter condition is met if one of the values is matched. The logical operator among filter conditions is AND. Only routers that meet all the filter conditions are queried.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Filter.1.Status', 'title' => ''], 'Value' => [ 'description' => 'Specifies the value in the filter condition based on the key. You can specify multiple filter values for one key. The logical operator among filter values is OR. If one filter value is matched, the filter condition is matched.'."\n", 'type' => 'array', 'items' => ['description' => 'Specifies the value in the filter condition based on the key. You can specify multiple filter values for one key. The logical operator among filter values is OR. If one filter value is matched, the filter condition is matched.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], 'required' => false, 'example' => 'Filter.1.Active 1', 'maxItems' => 5, 'title' => '', ], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 5, 'title' => '', 'example' => '', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'Resource Group ID.'."\n" ."\n" .'For more information about resource groups, please refer to [What is a Resource Group?](~~94475~~)', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of the resource tag. At least one tag key must be entered, and a maximum of 20 tag keys are supported. If this value needs to be passed in, it cannot be an empty string.'."\n" ."\n" .'A tag key can support up to 128 characters, cannot start with \'aliyun\' or \'acs:\', and cannot contain \'http://\' or \'https://\'.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of the resource tag. A maximum of 20 tag values can be entered. If this value needs to be passed in, an empty string can be entered.'."\n" ."\n" .'A maximum of 128 characters are supported, it cannot start with \'aliyun\' or \'acs:\', and it cannot contain \'http://\' or \'https://\'.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'C7F6FCBD-F9CC-4501-8EF3-CDC9577CAE45', 'title' => ''], 'PageNumber' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'TotalCount' => ['description' => 'The number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RouterInterfaceSet' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'RouterInterfaceType' => [ 'description' => 'The details of the router interface.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'ReservationActiveTime' => ['description' => 'The time when the renewal takes effect.'."\n" ."\n" .'The time follows the ISO8601 standard in the `YYYY-MM-DDThh:mmZ` format. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2021-03-11T16:00:00Z', 'title' => ''], 'HealthCheckTargetIp' => ['description' => 'The destination IP address that is used for the health check.'."\n", 'type' => 'string', 'example' => '116.62.XX.XX', 'title' => ''], 'Status' => ['description' => 'The status of the router interface.'."\n", 'type' => 'string', 'example' => 'active', 'title' => ''], 'CreationTime' => ['description' => 'The time when the route table was created.'."\n" ."\n" .'The time follows the ISO8601 standard in the `YYYY-MM-DDThh:mmZ` format. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2021-06-08T12:20:55', 'title' => ''], 'ReservationOrderType' => ['description' => 'The type of the renewal order. Valid values:'."\n", 'type' => 'string', 'example' => 'RENEWCHANGE', 'title' => ''], 'OppositeInterfaceId' => ['description' => 'The ID of the peer router interface.'."\n", 'type' => 'string', 'example' => 'ri-bp1itx13bwe6f2wfh****', 'title' => ''], 'Spec' => ['description' => 'The specification of the router interface.'."\n", 'type' => 'string', 'example' => 'Large', 'title' => ''], 'ChargeType' => ['description' => 'The billing method.'."\n", 'type' => 'string', 'example' => 'PayByTraffic', 'title' => ''], 'RouterInterfaceId' => ['description' => 'The ID of the router interface.'."\n", 'type' => 'string', 'example' => 'ri-2zenfgfpyu3v93koa****', 'title' => ''], 'HcThreshold' => ['description' => 'The health check threshold.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'OppositeRouterType' => ['description' => 'The type of the router to which the peer router interface belongs.'."\n", 'type' => 'string', 'example' => 'VRouter', 'title' => ''], 'VpcInstanceId' => ['description' => 'The ID of the local virtual private cloud (VPC) in the peering connection.'."\n", 'type' => 'string', 'example' => 'vpc-2ze3tq4uxhysg717x****', 'title' => ''], 'OppositeInterfaceOwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the peer router interface belongs.'."\n", 'type' => 'string', 'example' => '271598332402530847', 'title' => ''], 'OppositeVpcInstanceId' => ['description' => 'The ID of the peer VPC.'."\n", 'type' => 'string', 'example' => 'vpc-bp1qpo0kug3a20qqe****', 'title' => ''], 'ReservationInternetChargeType' => ['description' => 'The metering method that is used after the renewal takes effect. Valid values:'."\n", 'type' => 'string', 'example' => 'PayByBandwidth', 'title' => ''], 'CrossBorder' => ['description' => 'Indicates whether the connection is a cross-border connection.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'Bandwidth' => ['description' => 'The bandwidth of the router interface. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Description' => ['description' => 'The description of the router interface.'."\n", 'type' => 'string', 'example' => '路由表接口描述', 'title' => ''], 'HcRate' => ['description' => 'The rate of heath checks.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'ReservationBandwidth' => ['description' => 'The maximum bandwidth after the renewal takes effect. Unit: Mbit/s.'."\n", 'type' => 'string', 'example' => '10', 'title' => ''], 'Name' => ['description' => 'The custom name.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'OppositeRouterId' => ['description' => 'The ID of the router to which the peer router interface belongs.'."\n", 'type' => 'string', 'example' => 'vrt-bp1d3bxtdv68tfd7g****', 'title' => ''], 'OppositeInterfaceSpec' => ['description' => 'The specification of the peer router interface.'."\n", 'type' => 'string', 'example' => 'Large', 'title' => ''], 'RouterId' => ['description' => 'The ID of the router to which the route entry belongs.'."\n", 'type' => 'string', 'example' => 'vrt-bp1d3bxtdv68tfd7g****', 'title' => ''], 'OppositeInterfaceBusinessStatus' => ['description' => 'The service status of the peer router interface.'."\n", 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'ConnectedTime' => ['description' => 'The time when the connection was established.'."\n" ."\n" .'The time follows the ISO8601 standard in the `YYYY-MM-DDThh:mmZ` format. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2021-06-08T12:20:55', 'title' => ''], 'HealthCheckSourceIp' => ['description' => 'The source IP address that is used for the health check.'."\n", 'type' => 'string', 'example' => '116.62.XX.XX', 'title' => ''], 'OppositeInterfaceStatus' => ['description' => 'The status of the peer router interface.'."\n", 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'EndTime' => ['description' => 'The end of the time range during which data was queried.'."\n" ."\n" .'The time follows the ISO8601 standard in the `YYYY-MM-DDThh:mmZ` format. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2021-06-08T12:20:55', 'title' => ''], 'OppositeRegionId' => ['description' => 'The region ID of the peer router interface.'."\n", 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''], 'OppositeAccessPointId' => ['description' => 'The ID of the peer access point.'."\n", 'type' => 'string', 'example' => 'ap-cn-shanghaiSZ-****', 'title' => ''], 'BusinessStatus' => ['description' => 'The service status of the router interface. Valid values:'."\n" ."\n" .'* **Normal**'."\n" .'* **FinancialLocked**'."\n" .'* **SecurityLocked**'."\n", 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'OppositeBandwidth' => ['description' => 'The maximum bandwidth of the peer router interface. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''], 'RouterType' => ['description' => 'The type of the router to which the route table belongs. Valid values:'."\n" ."\n" .'* **VRouter**'."\n" .'* **VBR**'."\n", 'type' => 'string', 'example' => 'VRouter', 'title' => ''], 'Role' => ['description' => 'Indicates whether the router interface is the initiator or acceptor of the peering connection.'."\n", 'type' => 'string', 'example' => 'InitiatingSide', 'title' => ''], 'HasReservationData' => ['description' => 'Indicates whether renewal data is included.'."\n", 'type' => 'string', 'example' => 'false', 'title' => ''], 'AccessPointId' => ['description' => 'The ID of the access point.'."\n", 'type' => 'string', 'example' => 'ap-cn-shanghaiSZ-****', 'title' => ''], 'Ipv6Status' => ['description' => 'Indicates whether protection against malicious IPv6 traffic is enabled. Valid values:'."\n" ."\n" .'* **on**'."\n" .'* **off**'."\n" .'* **unsupport**'."\n", 'type' => 'string', 'example' => 'on', 'title' => ''], 'FastLinkMode' => ['description' => 'Indicates whether the VBR that is created in the Fast Link mode is uplinked to the router interface. The Fast Link mode helps automatically connect router interfaces that are created for the VBR and its peer VPC. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false** (default)'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'ResourceGroupId' => ['description' => 'Resource Group ID.'."\n" ."\n" .'For more information about resource groups, please refer to [What is a Resource Group?](~~94475~~)', 'type' => 'string', 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tags' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of the resource tag. At least one tag key must be entered, and a maximum of 20 tag keys are supported. If this value needs to be passed in, it cannot be an empty string.'."\n" ."\n" .'A tag key can support up to 128 characters, cannot start with \'aliyun\' or \'acs:\', and cannot contain \'http://\' or \'https://\'.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of the resource tag. A maximum of 20 tag values can be entered. If this value needs to be passed in, an empty string can be entered.'."\n" ."\n" .'A maximum of 128 characters are supported, it cannot start with \'aliyun\' or \'acs:\', and it cannot contain \'http://\' or \'https://\'.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParam.NotNull', 'errorMessage' => 'The parameter must not be null.', 'description' => ''], ['errorCode' => 'EndPoint.Empty', 'errorMessage' => 'the rc endpoint is empty.', 'description' => ''], ['errorCode' => 'InvalidConnectionType.MalFormed', 'errorMessage' => 'Connection type must be vpc2vpc or vbr2vpc.', 'description' => ''], ['errorCode' => 'InvalidProductForm.MalFormed', 'errorMessage' => 'Product form must be routerinterface or expressconnect.', 'description' => ''], ['errorCode' => 'InvalidRole.Malformed', 'errorMessage' => 'role must be InitiatingSide or AcceptingSide.', 'description' => ''], ['errorCode' => 'IllegalParam.AliUid', 'errorMessage' => 'Specified value of aliuid invalid.', 'description' => ''], ['errorCode' => 'Parameter.Illegal', 'errorMessage' => 'The parameter is illegal.', 'description' => 'The parameter is invalid.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidFilterKey.ValueNotSupported', 'errorMessage' => 'Specified filter key is not supported: Filter.X.key', 'description' => 'Filter.X.key is not supported.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeRouterInterfaces', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-07-20T11:21:54.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2022-09-14T08:06:40.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-09-14T08:06:40.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-09-29T03:46:28.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-09-29T03:46:28.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], '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":"","errorExample":""}]', ], 'DescribeServerRelatedGlobalAccelerationInstances' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the GA instance.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ServerId', 'in' => 'query', 'schema' => ['description' => 'The ID of the backend service instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'i-12s3sdf****', 'title' => ''], ], [ 'name' => 'ServerType', 'in' => 'query', 'schema' => ['description' => 'The type of the backend service instance. Valid values:'."\n" ."\n" .'* **EcsInstance** (default): Elastic Compute Service (ECS)'."\n" .'* **SlbInstance**: Server Load Balancer (SLB)'."\n", 'type' => 'string', 'required' => false, 'example' => 'EcsInstance', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'A8252014-D8DE-4D85-AF35-AFEXXXXXXX', 'title' => ''], 'GlobalAccelerationInstances' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'GlobalAccelerationInstance' => [ 'description' => 'The list of GA instances.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ServerIpAddress' => ['description' => 'The IP address of the backend service.'."\n", 'type' => 'string', 'example' => '172.24.52.234', 'title' => ''], 'GlobalAccelerationInstanceId' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'example' => 'ga-t4nku6vv9****', 'title' => ''], 'IpAddress' => ['description' => 'The public IP address of the GA instance.'."\n", 'type' => 'string', 'example' => '12.34.56.78', 'title' => ''], 'RegionId' => ['description' => 'The region ID of the GA instance.'."\n", 'type' => 'string', 'example' => 'ap-southeast-1', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidBackendServerId.NotInVPC', 'errorMessage' => 'The specified BackendServerId is not in VPC.', 'description' => ''], ['errorCode' => 'InvalidBackendServerType.NotFound', 'errorMessage' => 'The specified BackendServerType is not supported.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not supported.', 'description' => ''], ['errorCode' => 'InvalidBackendServerId.NotFound', 'errorMessage' => 'The specified BackendServerId is not found.', 'description' => ''], ], ], 'title' => 'DescribeServerRelatedGlobalAccelerationInstances', 'summary' => 'Queries the GA instances that are associated with a specified backend server.', 'description' => '> You can call this operation to query only dedicated-bandwidth GA instances.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeServerRelatedGlobalAccelerationInstances'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeServerRelatedGlobalAccelerationInstances', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], '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}"}]', ], 'DescribeSnatTableEntries' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where you want to create the NAT gateway.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'SnatTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the SNAT table.'."\n" ."\n" .'> You must specify at least one of **SnatTableId** and **NatGatewayId**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'stb-8vbczigrhop8x5u3t****', 'title' => ''], ], [ 'name' => 'SnatEntryId', 'in' => 'query', 'schema' => ['description' => 'The ID of the SNAT entry.'."\n", 'type' => 'string', 'required' => false, 'example' => 'snat-8vbae8uqh7rjpk7d2****', 'title' => ''], ], [ 'name' => 'SourceVSwitchId', 'in' => 'query', 'schema' => ['description' => 'The ID of the vSwitch.'."\n" ."\n" .'* When you query SNAT entries of Internet NAT gateways, this parameter specifies that Elastic Compute Service (ECS) instances in the vSwitch can use SNAT entries to access the Internet.'."\n" .'* When you query SNAT entries of virtual private cloud (VPC) NAT gateways, this parameter specifies that ECS instances in the vSwitch can use SNAT entries to access external networks.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vsw-3xbjkhjshjdf****', 'title' => ''], ], [ 'name' => 'SourceCIDR', 'in' => 'query', 'schema' => ['description' => 'The source CIDR block specified in the SNAT entry.'."\n", 'type' => 'string', 'required' => false, 'example' => '116.22.XX.XX/24', 'title' => ''], ], [ 'name' => 'SnatIp', 'in' => 'query', 'schema' => ['description' => '* When you query SNAT entries of Internet NAT gateways, this parameter specifies the EIP in an SNAT entry.'."\n" .'* When you query SNAT entries of VPC NAT gateways, this parameter specifies the NAT IP address in an SNAT entry.'."\n", 'type' => 'string', 'required' => false, 'example' => '116.22.XX.XX', 'title' => ''], ], [ 'name' => 'SnatEntryName', 'in' => 'query', 'schema' => ['description' => 'The name of the SNAT entry.'."\n" ."\n" .'The name must be 2 to 128 characters in length, and can contain digits, underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SnatEntry-1', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], ], [ 'name' => 'NatGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the NAT gateway.'."\n" ."\n" .'> You must specify at least one of **SnatTableId** and **NatGatewayId**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ngw-bp1uewa15k4iy5770****', 'title' => ''], ], [ 'name' => 'NetworkInterfaceIds', 'in' => 'query', 'allowEmptyValue' => true, 'style' => 'flat', 'schema' => [ 'description' => 'The ID of the elastic network interface to be queried.', 'type' => 'array', 'items' => ['description' => 'Elastic Network Interface ID', 'type' => 'string', 'required' => false, 'example' => 'eni-gw8g131ef2dnbu3k****', 'title' => ''], 'required' => false, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6D7E89B1-1C5B-412B-8585-4908E222EED5', 'title' => ''], 'PageNumber' => ['description' => 'The number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The number of returned entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'SnatTableEntries' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SnatTableEntry' => [ 'description' => 'Details of SNAT entries.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the SNAT entry. Valid values:'."\n" ."\n" .'* **Pending**'."\n" .'* **Available**'."\n" .'* **Deleting**'."\n", 'type' => 'string', 'example' => 'Pending', 'title' => ''], 'SnatEntryName' => ['description' => 'The name of the SNAT entry.'."\n", 'type' => 'string', 'example' => 'SnatEntry-1', 'title' => ''], 'SourceVSwitchId' => ['description' => '* When you query SNAT entries of Internet NAT gateways, this parameter indicates the ID of the vSwitch that uses SNAT to access the Internet.'."\n" .'* When you query SNAT entries of VPC NAT gateways, this parameter indicates the ID of the vSwitch that uses SNAT to access external networks.'."\n", 'type' => 'string', 'example' => 'vsw-3xbdsffvfgdfds****', 'title' => ''], 'SourceCIDR' => ['description' => 'The source CIDR block specified in the SNAT entry.'."\n", 'type' => 'string', 'example' => '116.22.XX.XX/24', 'title' => ''], 'SnatEntryId' => ['description' => 'The ID of the SNAT entry.'."\n", 'type' => 'string', 'example' => 'snat-kmd6nv8fy****', 'title' => ''], 'SnatTableId' => ['description' => 'The ID of the SNAT table to which the SNAT entry belongs.'."\n", 'type' => 'string', 'example' => 'stb-gz3r3odawdgffde****', 'title' => ''], 'SnatIp' => ['description' => '* When you query SNAT entries of Internet NAT gateways, this parameter indicates the EIP in an SNAT entry.'."\n" .'* When you query SNAT entries of VPC NAT gateways, this parameter indicates the NAT IP address in an SNAT entry.'."\n", 'type' => 'string', 'example' => '116.22.XX.XX', 'title' => ''], 'NatGatewayId' => ['description' => 'The ID of the NAT gateway to which the SNAT entry belongs.'."\n", 'type' => 'string', 'example' => 'ngw-bp1uewa15k4iy5770****', 'title' => ''], 'NetworkInterfaceId' => ['description' => 'Elastic Network Interface ID', 'type' => 'string', 'example' => 'eni-gw8g131ef2dnbu3k****', 'title' => ''], 'EipAffinity' => ['description' => 'Whether to enable IP affinity. Values:'."\n" .'- **0**: Disable IP affinity. - **1**: Enable IP affinity.'."\n" .'> After enabling the IP affinity switch, if an SNAT entry is bound to multiple EIPs or NAT IPs, the same client will use the same EIP or NAT IP for access. Otherwise, the client will randomly select from the bound EIPs or NAT IPs for access.', 'type' => 'string', 'example' => '1', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidName.Malformed', 'errorMessage' => 'The specified Name is not valid.', 'description' => 'The Name parameter is set to an invalid value.'], ['errorCode' => 'DESCRIBE_SNAT_PARAM_INVALID', 'errorMessage' => 'SnatTableId and natGatewayId can not both be null', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidSnatTableId.NotFound', 'errorMessage' => 'Specified SNAT table does not exist.', 'description' => ''], ], ], 'title' => 'DescribeSnatTableEntries', 'summary' => 'Queries SNAT entries.', 'changeSet' => [ ['createdAt' => '2024-08-09T10:09:59.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2024-05-06T03:02:14.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-08-09T03:15:07.000Z', 'description' => 'Response parameters changed, Response parameters changed'], ['createdAt' => '2023-03-01T06:45:54.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-09-19T02:47:18.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'translator' => 'manual', ], 'DescribeSslVpnClientCert' => [ 'summary' => 'Queries the details of an SSL client certificate.', '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' => 'The region ID of the SSL client certificate. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'SslVpnClientCertId', 'in' => 'query', 'schema' => ['description' => 'The ID of the SSL client certificate that you want to query.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vsc-bp17r58rjf5r1gjyr****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the SSL client certificate. Valid values:'."\n" ."\n" .'* **expiring-soon**'."\n" .'* **normal**'."\n" .'* **expired**'."\n", 'type' => 'string', 'example' => 'normal', 'title' => ''], 'CreateTime' => ['description' => 'The timestamp that indicates when the SSL client certificate was created. Unit: milliseconds.'."\n" ."\n" .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1552550980000', 'title' => ''], 'ClientKey' => ['description' => 'The client key.'."\n", 'type' => 'string', 'example' => '-----BEGIN RSA PRIVATE KEY-----'."\n" .'MIIEpAI****ZzNFhuM/za=='."\n" .'-----END RSA PRIVATE KEY-----', 'title' => ''], 'RegionId' => ['description' => 'The ID of the region where the SSL client certificate is created.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'ClientConfig' => ['description' => 'The client configuration.'."\n", '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', 'title' => ''], 'EndTime' => ['description' => 'The timestamp that indicates when the SSL client certificate expires. Unit: milliseconds.'."\n" ."\n" .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1647158980000', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE', 'title' => ''], 'ClientCert' => ['description' => 'The client certificate.'."\n", 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE-----'."\n" .'MIIDR****A=='."\n" .'-----END CERTIFICATE-----', 'title' => ''], 'CaCert' => ['description' => 'The CA certificate.'."\n", 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE-----'."\n" .'MIID****r4w='."\n" .'-----END CERTIFICATE-----', 'title' => ''], 'SslVpnClientCertId' => ['description' => 'The ID of the SSL client certificate.'."\n", 'type' => 'string', 'example' => 'vsc-bp13k5mp4tg8v3z9b****', 'title' => ''], 'SslVpnServerId' => ['description' => 'The ID of the SSL server.'."\n", 'type' => 'string', 'example' => 'vss-bp155e9yclsg1xgq4****', 'title' => ''], 'Name' => ['description' => 'The name of the SSL client certificate.'."\n", 'type' => 'string', 'example' => 'nametest', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the SSL client certificate belongs.'."\n" ."\n" .'The SSL client certificate and the SSL server associated with the SSL client certificate belong to the same resource group. You can call the [ListResourceGroups](~~158855~~) operation to query resource groups.'."\n", 'type' => 'string', 'example' => 'rg-acfmzs372yg****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The InstanceId is not found.', 'description' => '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.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not found during access authentication.', 'description' => 'The specified area is not found during authentication.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeSslVpnClientCert', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-10-19T07:04:00.000Z', 'description' => 'Error codes changed, Response parameters changed'], ], 'ramActions' => [], '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":"","errorExample":""}]', ], 'DescribeSslVpnClientCerts' => [ 'summary' => 'Queries created SSL client certificates by calling the DescribeSslVpnClientCerts operation.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the SSL client certificate that you want to query.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'SslVpnServerId', 'in' => 'query', 'schema' => ['description' => 'The ID of the SSL server.', 'type' => 'string', 'required' => false, 'example' => 'vss-bp18q7hzj6largv4v****', 'title' => ''], ], [ 'name' => 'SslVpnClientCertId', 'in' => 'query', 'schema' => ['description' => 'The ID of the SSL client certificate.', 'type' => 'string', 'required' => false, 'example' => 'vsc-bp1n8wcf134yl0osr****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the SSL client certificate.', 'type' => 'string', 'required' => false, 'example' => 'cert1', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number of the list. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page in a paged query. Default value: **10**. Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the SSL client certificate belongs.'."\n" ."\n" .'The SSL client certificate belongs to the same resource group as its associated SSL server. You can call the [DescribeSslVpnServers](~~2794078~~) operation to query the resource group ID of the SSL server.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzs372yg****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page in a paged query. This is used for paging.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries in the list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'SslVpnClientCertKeys' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SslVpnClientCertKey' => [ 'description' => 'The list of SSL client certificates.', 'type' => 'array', 'items' => [ 'description' => 'The information about the SSL client certificate.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the client certificate.'."\n" ."\n" .'- **expiring-soon**: The certificate will expire within one week.'."\n" .' '."\n" .'- **normal**: Normal. '."\n" ."\n" .'- **expired**: Expired.', 'type' => 'string', 'example' => 'normal', 'title' => ''], 'EndTime' => ['description' => 'The expiration timestamp of the SSL client certificate. Unit: milliseconds.'."\n" ."\n" .'The timestamp follows the UNIX timestamp format, representing the total duration from 00:00:00 on January 1, 1970 (UTC) to the expiration time of the SSL client certificate.', 'type' => 'integer', 'format' => 'int64', 'example' => '1494966335000', 'title' => ''], 'CreateTime' => ['description' => 'The creation timestamp of the SSL client certificate. Unit: milliseconds.'."\n" ."\n" .'The timestamp follows the UNIX timestamp format, representing the total duration from 00:00:00 on January 1, 1970 (UTC) to the creation time of the SSL client certificate.', 'type' => 'integer', 'format' => 'int64', 'example' => '1492747187000', 'title' => ''], 'SslVpnClientCertId' => ['description' => 'The ID of the SSL client certificate.', 'type' => 'string', 'example' => 'vsc-bp1n8wcf134yl0osr****', 'title' => ''], 'SslVpnServerId' => ['description' => 'The ID of the SSL server.', 'type' => 'string', 'example' => 'vss-bp18q7hzj6largv4v****', 'title' => ''], 'Name' => ['description' => 'The name of the SSL client certificate.', 'type' => 'string', 'example' => 'cert1', 'title' => ''], 'RegionId' => ['description' => 'The region of the SSL client certificate.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the SSL client certificate belongs.'."\n" ."\n" .'You can call the [ListResourceGroups](~~158855~~) operation to query resource group information.', 'type' => 'string', 'example' => 'rg-acfmzs372yg****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not found during access authentication.', 'description' => 'The specified area is not found during authentication.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query created SSL-VPN client certificates', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-10-19T08:26:51.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeSslVpnClientCerts'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeSslVpnClientCerts', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'SslVpnClientCert', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnclientcert/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'SslVpnClientCert', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnclientcert/{#SslVpnClientCertId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeSslVpnClients' => [ 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPN gateway instance.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'eu-central-1', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The VPN gateway instance ID.', 'type' => 'string', 'required' => true, 'example' => 'vpn-gw8gfb947ctddabja****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number of the list. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The maximum number of entries per page in a paged query. Valid values: **1** to **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '885E117D-06A9-38A3-8DD2-40BDAC429FFC', 'title' => ''], 'VpnGatewayId' => ['description' => 'The VPN gateway instance ID.', 'type' => 'string', 'example' => 'vpn-gw8gfb947ctddabja****', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The maximum number of entries per page in a paged query.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries in the list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RegionId' => ['description' => 'The region ID of the VPN gateway instance.', 'type' => 'string', 'example' => 'eu-central-1', 'title' => ''], 'ClientInfoList' => [ 'description' => 'The list of client information.', 'type' => 'array', 'items' => [ 'description' => 'The client information.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the SSL-VPN connection.'."\n" ."\n" .'Valid values: **online**, which indicates that the client has successfully established an SSL-VPN connection to Alibaba Cloud.', 'type' => 'string', 'example' => 'online', 'title' => ''], 'PrivateIp' => ['description' => 'The private IP address that the VPN gateway assigned to the client when the client established an SSL-VPN connection to Alibaba Cloud.', 'type' => 'string', 'example' => '10.10.10.10', 'title' => ''], 'SendBytes' => ['description' => 'The traffic that the VPN gateway sent to the client over the SSL-VPN connection. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '57144', 'title' => ''], 'ConnectedTime' => ['description' => 'The timestamp when the client established the SSL-VPN connection to Alibaba Cloud. Unit: milliseconds.'."\n" ."\n" .'The timestamp is in the UNIX format and represents the total number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC to the time when the SSL-VPN connection was established.', 'type' => 'integer', 'format' => 'int64', 'example' => '1670985008000', 'title' => ''], 'CommonName' => ['description' => 'The SSL client certificate used by the client to establish the SSL-VPN connection to Alibaba Cloud.'."\n" ."\n" .'> If the client uses two-factor identity authentication to establish the SSL-VPN connection to Alibaba Cloud, the value of this parameter is the username of the client.', 'type' => 'string', 'example' => 'CN=vsc-gw8gkh6gtilf1whgc****', 'title' => ''], 'Ip' => ['description' => 'The public IP address that the client used to establish the SSL-VPN connection to Alibaba Cloud.', 'type' => 'string', 'example' => '8.XX.XX.15', 'title' => ''], 'ReceiveBytes' => ['description' => 'The traffic that the VPN gateway received from the client over the SSL-VPN connection. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '60782', 'title' => ''], 'Port' => ['description' => 'The port number that the client used to establish the SSL-VPN connection to Alibaba Cloud.', 'type' => 'string', 'example' => '4****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => 'The specified VPN gateway does not exist. Check whether the specified VPN gateway is valid.'], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The specified instance id does not exist.', 'description' => '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.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query information about SSL-VPN connected clients', 'summary' => 'Queries information about clients that have established SSL-VPN connections to Alibaba Cloud under a specified VPN gateway instance by calling the DescribeSslVpnClients operation.', 'description' => 'If your VPN gateway instance was created before December 10, 2022, you must upgrade the VPN gateway instance to the latest version before you can view SSL client connection information. For more information, see [Upgrade a VPN gateway](~~2671058~~).'."\n" ."\n" .'VPN gateway instances created after December 10, 2022 support viewing SSL client connection information by default.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeSslVpnClients'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeSslVpnClients', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeSslVpnServers' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the SSL server. '."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'SslVpnServerId', 'in' => 'query', 'schema' => ['description' => 'The ID of the SSL server.', 'type' => 'string', 'required' => false, 'example' => 'vss-bp15j3du13gq1dgey****', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPN gateway.', 'type' => 'string', 'required' => false, 'example' => 'vpn-bp1on0xae9d771ggi****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the SSL server.'."\n" ."\n" .'The name must be 1 to 100 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page in paging query. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the SSL server belongs.'."\n" ."\n" .'The SSL server belongs to the same resource group as the associated VPN gateway instance. You can call the [DescribeVpnGateway](~~2794055~~) operation to query the resource group ID of the VPN gateway instance.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzs372yg****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page in paging query.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D350187B-EA41-4577-950B-95434C8302E1', 'title' => ''], 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'SslVpnServers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SslVpnServer' => [ 'description' => 'The details of the SSL server.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'InternetIp' => ['description' => 'The public IP address of the VPN gateway.', 'type' => 'string', 'example' => '47.5.XX.XX', 'title' => ''], 'IDaaSInstanceId' => ['description' => 'The instance ID of the IDaaS EIAM instance.', 'type' => 'string', 'example' => 'idaas-cn-hangzhou-****', 'title' => ''], 'CreateTime' => ['description' => 'The timestamp when the SSL server was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1613800884000', 'title' => ''], 'VpnGatewayId' => ['description' => 'The ID of the VPN gateway.', 'type' => 'string', 'example' => 'vpn-bp1on0xae9d771ggi****', 'title' => ''], 'IDaaSRegionId' => ['description' => 'The region ID of the IDaaS EIAM instance.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'Compress' => ['description' => 'Indicates whether communication is compressed. Valid values:'."\n" ."\n" .'- **true**'."\n" ."\n" .'- **false** (default).', 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'Port' => ['description' => 'The port used by the SSL server.', 'type' => 'integer', 'format' => 'int32', 'example' => '1194', 'title' => ''], 'LocalSubnet' => ['description' => 'The local CIDR block.', 'type' => 'string', 'example' => '192.168.0.0/24', 'title' => ''], 'RegionId' => ['description' => 'The region ID of the SSL server.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'Cipher' => ['description' => 'The encryption algorithm used.', 'type' => 'string', 'example' => 'AES-128-CBC', 'title' => ''], 'Connections' => ['description' => 'The current number of connections.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'SslVpnServerId' => ['description' => 'The ID of the SSL server.', 'type' => 'string', 'example' => 'vss-bp15j3du13gq1dgey****', 'title' => ''], 'MaxConnections' => ['description' => 'The maximum number of connections.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'Name' => ['description' => 'The name of the SSL server.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'EnableMultiFactorAuth' => ['description' => 'Indicates whether two-factor identity authentication is enabled. Valid values:'."\n" ."\n" .'- **true**'."\n" ."\n" .'- **false** (default).', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ClientIpPool' => ['description' => 'The client CIDR block.', 'type' => 'string', 'example' => '10.10.1.0/24', 'title' => ''], 'Proto' => ['description' => 'The protocol used by the SSL server.', 'type' => 'string', 'example' => 'UDP', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the SSL server belongs.'."\n" ."\n" .'You can call the [ListResourceGroups](~~158855~~) operation to query resource group information.', 'type' => 'string', 'example' => 'rg-acfmzs372yg****', 'title' => ''], 'IDaaSApplicationId' => ['description' => 'The ID of the IDaaS application.', 'type' => 'string', 'example' => 'app_my6g4qmvnwxzj2f****', 'title' => ''], 'IDaaSInstanceVersion' => ['description' => 'The version of the IDaaS EIAM instance.'."\n" ."\n" .'- This parameter is returned only when the SSL server is associated with an IDaaS EIAM 2.0 instance. The value is **EIAM 2.0**.'."\n" .'- If the SSL server is associated with an IDaaS EIAM 1.0 instance, this parameter is not returned.', 'type' => 'string', 'example' => 'EIAM 2.0', 'title' => ''], 'DnsServers' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not found during access authentication.', 'description' => 'The specified area is not found during authentication.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query created SSL servers', 'summary' => 'Queries the SSL servers that have been created by calling the DescribeSslVpnServers operation.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-05-10T02:03:16.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-10-19T07:04:00.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeSslVpnServers'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeSslVpnServers', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'SslVpnServer', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnserver/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'SslVpnServer', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnserver/{#SslVpnServerId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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 \\"DnsServers\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'DescribeTagKeys' => [ 'summary' => 'Queries tag keys.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => ['description' => 'The resource type. Valid values:'."\n" ."\n" .'* **VPC**: virtual private cloud (VPC)'."\n" .'* **VSWITCH**: vSwitch'."\n" .'* **ROUTETABLE**: route table'."\n" .'* **EIP**: elastic IP address (EIP)'."\n" .'* **VpnGateway**: VPN gateway'."\n" .'* **NATGATEWAY**: NAT gateway'."\n" .'* **COMMONBANDWIDTHPACKAGE**: EIP bandwidth plan'."\n", 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''], ], [ 'name' => 'Keyword', 'in' => 'query', 'schema' => ['description' => 'The tag keys.'."\n", 'type' => 'string', 'required' => false, 'example' => 'keyword', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the resource.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'* If this is your first query or no next query is to be sent, ignore this parameter.'."\n" .'* If a subsequent query is to be sent, set the parameter to the value of NextToken that is returned from the last call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], ], [ 'name' => 'MaxResult', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 50. Default value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '500', 'default' => '100', 'example' => '50', 'title' => ''], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The resource IDs. You can specify up to 20 resource IDs.'."\n", 'type' => 'array', 'items' => ['description' => 'The ID of the resource. You can enter at most 50 IDs.'."\n" ."\n" .'> If you set this parameter, you must set **ResourceType**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vpc-bp16qjewdsunr41m1****', 'title' => ''], 'required' => false, 'maxItems' => 21, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'description' => ' object', 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'* If the value of **NextToken** is not returned, it indicates that no next query is to be sent.'."\n" .'* If a value of **NextToken** is returned, the value is the token that is used for the subsequent query.'."\n", 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'DE65F6B7-7566-4802-9007-96F2494AC512', 'title' => ''], 'TagKeys' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'TagKey' => [ 'description' => 'The list of tag keys.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'The type of the tag key. Valid values:'."\n" ."\n" .'* **Custom**: custom'."\n" .'* **System**: system'."\n", 'type' => 'string', 'example' => 'Custom', 'title' => ''], 'TagKey' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], ], 'title' => '', ], 'title' => '', ], ], 'description' => '', 'title' => '', ], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'BothEmpty.TagsAndResources', 'errorMessage' => 'The specified Tags and ResourcesIds are not allow to both empty.', 'description' => 'The tags and resource groups cannot be empty at the same time.'], ['errorCode' => 'MissingParameter.TagKey', 'errorMessage' => 'The input parameter TagKey that is mandatory for processing this request is not supplied.', 'description' => 'The TagKey parameter is not set.'], ['errorCode' => 'MissingParameter.TagValue', 'errorMessage' => 'The input parameter TagValue that is mandatory for processing this request is not supplied.', 'description' => 'The TagValue parameter is not set.'], ['errorCode' => 'InvalidTagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The tag index is invalid.'], ['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The tag value is invalid.'], ['errorCode' => 'MissingParam', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidInstanceType.NotFound', 'errorMessage' => 'The instance type is not found', 'description' => 'The instance type is not found.'], ['errorCode' => 'InvalidInstanceIds.NotFound', 'errorMessage' => 'The instanceIds are not found', 'description' => 'The instance ID is not found.'], ['errorCode' => 'Forbidden.TagKeys', 'errorMessage' => 'The request do not allow to operate the tag keys', 'description' => 'You do not have the permissions to set the TagKeys parameter.'], ['errorCode' => 'QuotaExceeded.TagNum', 'errorMessage' => 'Custom Tags quota exceeded', 'description' => 'The upper limit is reached.'], ['errorCode' => 'Forbidden.NotAllowedCategary', 'errorMessage' => 'The System tag is not valid', 'description' => 'The error message returned because the system tag is invalid.'], ['errorCode' => 'Forbidden.TagKey.Duplicated', 'errorMessage' => 'The specified tag key already exists.', 'description' => 'The tag resources are duplicate.'], ['errorCode' => 'SizeLimitExceeded.TagNum', 'errorMessage' => 'The maximum number of tags is exceeded.', 'description' => 'The number of tags has reached the upper limit.'], ['errorCode' => 'SizeLimitExceeded.ResourceId', 'errorMessage' => 'The maximum number of resource IDs is exceeded.', 'description' => 'The number of resource group IDs has reached the upper limit.'], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'title' => 'DescribeTagKeys', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeTagKeys', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], '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' => 'The type of the resource. Set the value to **PHYSICALCONNECTION**, which specifies an Express Connect circuit.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PHYSICALCONNECTION', 'title' => ''], ], [ 'name' => 'Keyword', 'in' => 'query', 'schema' => ['description' => 'The keyword of the tag. Fuzzy match is supported. You can specify a keyword to query all tags that contain the keyword.'."\n", 'type' => 'string', 'required' => false, 'example' => 'keyword', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region to which the resource resides.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n" ."\n" .'* You do not need to specify this parameter for the first request.'."\n" .'* You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], ], [ 'name' => 'MaxResult', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Valid values: **1** to **100**. Default value: **20**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '500', 'example' => '20', 'default' => '100', 'title' => ''], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The IDs of the resources. You can specify up to 20 resource IDs.'."\n", 'type' => 'array', 'items' => ['description' => 'The resource ID. You can specify up to 20 resource IDs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'pc-bp16qjewdsunr41m1****', 'title' => ''], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n" ."\n" .'* If **NextToken** is empty, no next page exists.'."\n" .'* If a value is returned for **NextToken**, the value can be used in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], 'TagKeys' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'TagKey' => [ 'description' => 'The tag keys.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'The type of the resource. The value is set to **PHYSICALCONNECTION**, which indicates an Express Connect circuit.'."\n", 'type' => 'string', 'example' => 'System', 'title' => ''], 'TagKey' => ['description' => 'The key of the tag.'."\n", 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'BothEmpty.TagsAndResources', 'errorMessage' => 'The specified Tags and ResourcesIds are not allow to both empty.', 'description' => 'The tags and resource groups cannot be empty at the same time.'], ['errorCode' => 'MissingParameter.TagKey', 'errorMessage' => 'The input parameter TagKey that is mandatory for processing this request is not supplied.', 'description' => 'The TagKey parameter is not set.'], ['errorCode' => 'MissingParameter.TagValue', 'errorMessage' => 'The input parameter TagValue that is mandatory for processing this request is not supplied.', 'description' => 'The TagValue parameter is not set.'], ['errorCode' => 'InvalidTagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The tag index is invalid.'], ['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The tag value is invalid.'], ['errorCode' => 'InvalidInstanceType.NotFound', 'errorMessage' => 'The instance type is not found', 'description' => 'The instance type is not found.'], ['errorCode' => 'InvalidInstanceIds.NotFound', 'errorMessage' => 'The instanceIds are not found', 'description' => 'The instance ID is not found.'], ['errorCode' => 'Forbidden.TagKeys', 'errorMessage' => 'The request do not allow to operate the tag keys', 'description' => 'You do not have the permissions to set the TagKeys parameter.'], ['errorCode' => 'QuotaExceeded.TagNum', 'errorMessage' => 'Custom Tags quota exceeded', 'description' => 'The upper limit is reached.'], ['errorCode' => 'Forbidden.TagKey.Duplicated', 'errorMessage' => 'The specified tag key already exists.', 'description' => 'The tag resources are duplicate.'], ['errorCode' => 'SizeLimitExceeded.ResourceId', 'errorMessage' => 'The maximum number of resource IDs is exceeded.', 'description' => 'The number of resource group IDs has reached the upper limit.'], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeTagKeysForExpressConnect', 'summary' => 'Queries the tags of an Express Connect circuit.', 'changeSet' => [], 'ramActions' => [], '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":""}]', ], 'DescribeTags' => [ 'summary' => 'Queries a list of tags that meet the specified filter conditions.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => ['description' => 'The resource type. Valid values:'."\n" .'- **VPC**: virtual private cloud (VPC) instance.'."\n" .'- **VSWITCH**: virtual switch instance.'."\n" .'- **ROUTETABLE**: route table instance.'."\n" .'- **EIP**: elastic IP address (EIP) instance.'."\n" .'- **VPNGATEWAY**: VPN gateway instance.'."\n" .'- **NATGATEWAY**: NAT gateway instance.'."\n" .'- **COMMONBANDWIDTHPACKAGE**: Internet Shared Bandwidth instance.'."\n" .'- **PREFIXLIST**: prefix list instance.'."\n" .'- **PUBLICIPADDRESSPOOL**: IP address pool instance.'."\n" .'- **IPV4GATEWAY**: IPv4 gateway instance.'."\n" .'- **IPV6GATEWAY**: IPv6 gateway instance.'."\n" .'- **NETWORKACL**: network ACL instance.'."\n" .'- **TRAFFICMIRRORFILTER**: traffic mirror filter instance.'."\n" .'- **TRAFFICMIRRORSESSION**: traffic mirror session instance.'."\n" .'- **FLOWLOG**: flow log instance.'."\n" .'- **HAVIP**: high-availability virtual IP address instance.'."\n" .'- **DHCPOPTIONSSET**: DHCP options set instance.'."\n" .'- **GATEWAYENDPOINT**: gateway endpoint instance.'."\n" ."\n" .'> The resource type value is case-insensitive.', 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the resource.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination token. Valid values:'."\n" .'- If this is the first query or no subsequent query exists, leave this parameter empty.'."\n" .'- If a subsequent query exists, set this parameter to the NextToken value returned by the previous API call.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], ], [ 'name' => 'MaxResult', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 50. Default value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '500', 'default' => '100', 'example' => '50', 'title' => ''], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The resource ID. You can specify up to 50 resource IDs.', 'type' => 'array', 'items' => ['description' => 'The resource ID. You can specify up to 50 resource IDs.'."\n" ."\n" .'> When you specify this parameter, you must also specify the **ResourceType** parameter.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp16qjewdsunr41m1****', 'title' => ''], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'description' => 'The tags of the resource.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys.'."\n" ."\n" .'A tag key can be up to 128 characters in length. It cannot be an empty string or start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values.'."\n" ."\n" .'A tag value can be up to 128 characters in length. It can be an empty string but cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'description' => 'object', 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'The pagination token. Valid values:'."\n" .'- If **NextToken** is empty, no subsequent query exists.'."\n" .'- If **NextToken** is returned, the value indicates the token for the next query.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0', 'title' => ''], 'TagResources' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'TagResource' => [ 'description' => 'The list of all tags that meet the filter conditions.', 'type' => 'array', 'items' => [ 'description' => 'The tag list.', 'type' => 'object', 'properties' => [ 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'BothEmpty.TagsAndResources', 'errorMessage' => 'The specified Tags and ResourcesIds are not allow to both empty.', 'description' => 'The tags and resource groups cannot be empty at the same time.'], ['errorCode' => 'MissingParameter.TagKey', 'errorMessage' => 'The input parameter TagKey that is mandatory for processing this request is not supplied.', 'description' => 'The TagKey parameter is not set.'], ['errorCode' => 'MissingParameter.TagValue', 'errorMessage' => 'The input parameter TagValue that is mandatory for processing this request is not supplied.', 'description' => 'The TagValue parameter is not set.'], ['errorCode' => 'InvalidTagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The tag index is invalid.'], ['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The tag value is invalid.'], ['errorCode' => 'MissingParam', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidInstanceType.NotFound', 'errorMessage' => 'The instance type is not found', 'description' => 'The instance type is not found.'], ['errorCode' => 'InvalidInstanceIds.NotFound', 'errorMessage' => 'The instanceIds are not found', 'description' => 'The instance ID is not found.'], ['errorCode' => 'Forbidden.TagKeys', 'errorMessage' => 'The request do not allow to operate the tag keys', 'description' => 'You do not have the permissions to set the TagKeys parameter.'], ['errorCode' => 'QuotaExceeded.TagNum', 'errorMessage' => 'Custom Tags quota exceeded', 'description' => 'The upper limit is reached.'], ['errorCode' => 'Forbidden.NotAllowedCategary', 'errorMessage' => 'The System tag is not valid', 'description' => 'The error message returned because the system tag is invalid.'], ['errorCode' => 'Forbidden.TagKey.Duplicated', 'errorMessage' => 'The specified tag key already exists.', 'description' => 'The tag resources are duplicate.'], ['errorCode' => 'SizeLimitExceeded.TagNum', 'errorMessage' => 'The maximum number of tags is exceeded.', 'description' => 'The number of tags has reached the upper limit.'], ['errorCode' => 'SizeLimitExceeded.ResourceId', 'errorMessage' => 'The maximum number of resource IDs is exceeded.', 'description' => 'The number of resource group IDs has reached the upper limit.'], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'title' => 'Query tags that meet filter conditions', 'description' => '- Specify at least **ResourceId.N** or **Tag.N** (**Tag.N.Key** and **Tag.N.Value**) in the request to determine the objects to query.'."\n" ."\n" .'- **Tag.N** is a tag of a resource and consists of a key-value pair. If you specify only **Tag.N.Key**, all tag values associated with the tag key are returned. If you specify only **Tag.N.Value**, an error is returned.'."\n" ."\n" .'- If you specify both **Tag.N** and **ResourceId.N** to filter tags, **ResourceId.N** must match any of the specified tag key-value pairs.'."\n" ."\n" .'- If you specify multiple tag key-value pairs, the results contain all tags that match any of the tag key-value pairs.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeTags'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeTags', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:tag', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeVRouters' => [ 'summary' => 'Calls the DescribeVRouters operation to query the list of vRouters in a specified region.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ 'name' => 'VRouterId', 'in' => 'query', 'schema' => ['description' => 'The ID of the vRouter to query.', 'type' => 'string', 'required' => false, 'example' => 'vrt-bp1lhl0taikrteen****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the vRouter resides.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number of the list. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page in a paged query. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], 'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'VRouters' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'VRouter' => [ 'description' => 'The details of the vRouter.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'VpcId' => ['description' => 'The ID of the VPC to which the vRouter belongs.', 'type' => 'string', 'example' => 'vpc-rj905wotv6y030t1****', 'title' => ''], 'CreationTime' => ['description' => 'The time when the vRouter was created.', 'type' => 'string', 'example' => '2018-03-22T07:46:20Z', 'title' => ''], 'VRouterId' => ['description' => 'The ID of the vRouter.', 'type' => 'string', 'example' => 'vrt-rj98khsezfqpjrxmv****', 'title' => ''], 'Description' => ['description' => 'The description of the vRouter.', 'type' => 'string', 'example' => 'abc', 'title' => ''], 'VRouterName' => ['description' => 'The name of the vRouter.', 'type' => 'string', 'example' => 'doctest', 'title' => ''], 'RegionId' => ['description' => 'The region where the vRouter resides.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'RouteTableIds' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'RouteTableId' => [ 'description' => 'The list of route table IDs.', 'type' => 'array', 'items' => ['description' => 'The ID of the route table in the vRouter.', 'type' => 'string', 'example' => '{ "RouteTableId": [ "vtb-rj9ybe3y0u41mmjsp****"] }', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'title' => 'Query vRouters in a specified region', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-07-31T02:46:00.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-08-04T11:48:33.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVRouters'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVRouters', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:VPC', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vrouter/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeVSwitchAttributes' => [ 'summary' => 'Queries the detailed information about a vSwitch.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'VSwitchId', 'in' => 'query', 'schema' => ['description' => 'The ID of the vSwitch.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vsw-25naue4g****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPC to which the vSwitch belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): sends a request and performs a dry run. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The details about the vSwitch.'."\n", 'type' => 'object', 'properties' => [ 'VpcId' => ['description' => 'The ID of the VPC to which the vSwitch belongs.'."\n", 'type' => 'string', 'example' => 'vpc-257gq642n****', 'title' => ''], 'Status' => ['description' => 'The status of the vSwitch. Valid values:'."\n" ."\n" .'* **Pending**'."\n" .'* **Available**'."\n", 'type' => 'string', 'example' => 'Pending', 'title' => ''], 'CreationTime' => ['description' => 'The time when the vSwitch was created.'."\n", 'type' => 'string', 'example' => '2021-08-22T10:40:25Z', 'title' => ''], 'IsDefault' => ['description' => 'Indicates whether the vSwitch is the default vSwitch. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'AvailableIpAddressCount' => ['description' => 'The number of available IP addresses.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '12', 'title' => ''], 'NetworkAclId' => ['description' => 'The network access control list (ACL) rules.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''], 'OwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the resource belongs.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '28768383240243****', 'title' => ''], 'VSwitchId' => ['description' => 'The vSwitch ID.'."\n", 'type' => 'string', 'example' => 'vsw-25b7pv15t****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '7B48B4B9-1EAD-469F-B488-594DAB4B6A1A', 'title' => ''], 'CidrBlock' => ['description' => 'The CIDR block of the vSwitch.'."\n", 'type' => 'string', 'example' => '192.168.0.1/24', 'title' => ''], 'Description' => ['description' => 'The description of the vSwitch.'."\n", 'type' => 'string', 'example' => 'abc', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the ACL belongs.'."\n", 'type' => 'string', 'example' => 'rg-acfmxazb4ph****', 'title' => ''], 'ZoneId' => ['description' => 'The ID of the zone to which the vSwitch belongs.'."\n", 'type' => 'string', 'example' => 'cn-beijing-a', 'title' => ''], 'Ipv6CidrBlock' => ['description' => 'The IPv6 CIDR block of the vSwitch.'."\n", 'type' => 'string', 'example' => '2408:XXXX:3c5:44e::/64', 'title' => ''], 'VSwitchName' => ['description' => 'The vSwitch name.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'ShareType' => ['description' => 'Indicates whether the vSwitch is shared.'."\n" ."\n" .'* If no value is returned, the vSwitch is a regular vSwitch.'."\n" .'* If **Shared** is returned, the vSwitch is shared.'."\n" .'* If **Sharing** is returned, the vSwitch is being shared.'."\n", 'type' => 'string', 'example' => 'Shared', 'title' => ''], 'EnabledIpv6' => ['description' => 'Indicates whether IPv6 is enabled for the vSwitch. If you enable IPv6, you must configure the IPv6 CIDR block of the vSwitch. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n" ."\n" .'This field is returned only when IPv6 is enabled for the vSwitch.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'RouteTable' => [ 'description' => 'The information about the route table that is associated with the vSwitch.'."\n", 'type' => 'object', 'properties' => [ 'RouteTableId' => ['description' => 'The ID of the route table that is associated with the vSwitch.'."\n", 'type' => 'string', 'example' => 'vtb-bp145q7glnuzdv****', 'title' => ''], 'RouteTableType' => ['description' => 'The type of the route table. Valid values:'."\n" ."\n" .'* **System**'."\n" .'* **Custom**'."\n", 'type' => 'string', 'example' => 'System', 'title' => ''], ], 'title' => '', 'example' => '', ], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The information about the tags.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N added to the resource.'."\n", 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of tag N added to the resource.'."\n", 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'Specified VSwitch can not found.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'title' => 'DescribeVSwitchAttributes', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-07-05T07:33:20.000Z', 'description' => 'Response parameters changed, Response parameters changed'], ['createdAt' => '2023-05-22T02:14:30.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeVSwitchAttributes', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVSwitchAttributes'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'DescribeVSwitches' => [ 'summary' => 'Queries the information about available vSwitches that are used for an internal network.', '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' => 'The ID of the virtual private cloud (VPC) to which the vSwitches belong.'."\n" ."\n" .'> You must set at least one of **RegionId** and **VpcId**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vpc-25cdvfeq58pl****', 'title' => ''], ], [ 'name' => 'VSwitchId', 'in' => 'query', 'schema' => ['description' => 'The ID of the vSwitch that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vsw-23dscddcffvf3****', 'title' => ''], ], [ 'name' => 'ZoneId', 'in' => 'query', 'schema' => ['description' => 'The ID of the zone to which the vSwitches belong. You can call the [DescribeZones](~~36064~~) operation to query the most recent zone list.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-d', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the vSwitch. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n" ."\n" .'> You must set at least one of **RegionId** and **VpcId**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VSwitchName', 'in' => 'query', 'schema' => ['description' => 'The exact name of the vSwitch that you want to query. Fuzzy match is not supported.'."\n" ."\n" .'The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'vSwitch', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'IsDefault', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to query the default vSwitches in the specified region. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n" ."\n" .'If you do not set this parameter, the system queries all vSwitches in the specified region by default.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'RouteTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the route table.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vtb-bp145q7glnuzdvzu2****', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the vSwitch belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], ], [ 'name' => 'VSwitchOwnerId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the vSwitch belongs.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '2546073170691****', 'title' => ''], ], [ 'name' => 'EnableIpv6', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to query vSwitches with IPv6 enabled in the region. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n" ."\n" .'If you do not set this parameter, the system queries all vSwitches in the specified region by default.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. You can specify at most 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value. You can specify at most 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length, and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9A572171-4E27-40D1-BD36-D26C9E71E29E', 'title' => ''], 'PageNumber' => ['description' => 'The number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'VSwitches' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'VSwitch' => [ 'description' => 'The details about the vSwitch.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'VpcId' => ['description' => 'The ID of the VPC to which the vSwitch belongs.'."\n", 'type' => 'string', 'example' => 'vpc-257gcdcdq64****', 'title' => ''], 'Status' => ['description' => 'The status of the vSwitch. Valid values:'."\n" ."\n" .'* **Pending**'."\n" .'* **Available**'."\n", 'type' => 'string', 'example' => 'Available', 'title' => ''], 'CreationTime' => ['description' => 'The time when the vSwitch was created.'."\n", 'type' => 'string', 'example' => '2022-01-18T12:43:57Z', 'title' => ''], 'IsDefault' => ['description' => 'Indicates whether the vSwitch is the default vSwitch. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'AvailableIpAddressCount' => ['description' => 'The number of available IP addresses in the vSwitch.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], 'NetworkAclId' => ['description' => 'The ID of the network access control list (ACL).'."\n", 'type' => 'string', 'example' => 'nacl-a2do9e413e0spzasx****', 'title' => ''], 'OwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the resource belongs.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '25346073170691****', 'title' => ''], 'VSwitchId' => ['description' => 'The vSwitch ID.'."\n", 'type' => 'string', 'example' => 'vsw-25bcdxs7pv1****', 'title' => ''], 'CidrBlock' => ['description' => 'The IPv4 CIDR block of the vSwitch.'."\n", 'type' => 'string', 'example' => '172.16.0.0/24', 'title' => ''], 'Description' => ['description' => 'The description of the vSwitch.'."\n", 'type' => 'string', 'example' => 'VSwitchDescription', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the vSwitch belongs.'."\n", 'type' => 'string', 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], 'ZoneId' => ['description' => 'The ID of the zone to which the vSwitch belongs.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou-d', 'title' => ''], 'Ipv6CidrBlock' => ['description' => 'The IPv6 CIDR block of the vSwitch.'."\n", 'type' => 'string', 'example' => '2408:4002:10c4:4e03::/64', 'title' => ''], 'VSwitchName' => ['description' => 'The vSwitch name.'."\n", 'type' => 'string', 'example' => 'vSwitch', 'title' => ''], 'ShareType' => ['description' => 'Indicates whether the vSwitch is shared.'."\n" ."\n" .'* If no value is returned, the vSwitch is a regular vSwitch.'."\n" .'* If **Shared** is returned, the vSwitch is shared.'."\n" .'* If **Sharing** is returned, the vSwitch is being shared.'."\n", 'type' => 'string', 'example' => 'Shared', 'title' => ''], 'EnabledIpv6' => ['description' => 'Indicates whether IPv6 is enabled for the vSwitch. If you enable IPv6, you must configure an IPv6 CIDR block for the vSwitch. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The tags of the vSwitch.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'department', 'title' => ''], 'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'example' => 'dev', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'RouteTable' => [ 'description' => 'The information about the route table.'."\n", 'type' => 'object', 'properties' => [ 'RouteTableId' => ['description' => 'The ID of the route table that is associated with the vSwitch.'."\n", 'type' => 'string', 'example' => 'vrt-bp145q7glnuzdv****', 'title' => ''], 'RouteTableType' => ['description' => 'The type of the route table. Valid values:'."\n" ."\n" .'* **System**'."\n" .'* **Custom**'."\n", 'type' => 'string', 'example' => 'System', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Forbidden.VpcNotFound', 'errorMessage' => 'Specified VPC can not found.', 'description' => 'The specified VPC does not exist.'], ['errorCode' => 'InvalidTagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The tag index is invalid.'], ['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The tag value is invalid.'], ['errorCode' => 'IellgalParameter.OwnerAccount', 'errorMessage' => 'The specified parameter OwnerAccount is not valid.', 'description' => 'The specified parameter OwnerAccount is illegal.'], ['errorCode' => 'IllegalParam.OwnerId', 'errorMessage' => 'The specified parameter VSwitchOwnerId is not valid.', 'description' => ''], ['errorCode' => 'InvalidVpcIdNumber.NotSupported', 'errorMessage' => 'The number of vpcIds exceeds the limit.', 'description' => 'The value of the vpcId parameter has reached the upper limit.'], ['errorCode' => 'InvalidVSwitchIdNumber.NotSupported', 'errorMessage' => 'The number of vSwitchIds exceeds the limit.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'VSwitch not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeVSwitches', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-05-16T01:58:24.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-07-26T05:48:16.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-07-26T03:26:03.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-07-05T07:33:20.000Z', 'description' => 'Response parameters changed, Response parameters changed'], ['createdAt' => '2023-05-22T02:14:30.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeVbrHa' => [ 'summary' => 'Queries virtual border router (VBR) failover groups.', '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' => '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' => 'CBCE910E-D396-4944-8****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid Values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, `DRYRUN.SUCCESS` is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'VbrId', 'in' => 'query', 'schema' => ['description' => 'The VBR ID.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'vbr-bp1jcg5cmxjbl9xgc****', 'title' => ''], ], [ 'name' => 'VbrHaId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VBR failover group.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'vbrha-sa1sxheuxtd98****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region in which the VBR is deployed.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'CreationTime' => ['description' => 'The time when the VBR was created.'."\n", 'type' => 'string', 'example' => '2021-06-08T12:20:55', 'title' => ''], 'Status' => ['description' => 'The status of the VBR failover group.'."\n" ."\n" .'* **Creating**'."\n" .'* **Active**'."\n", 'type' => 'string', 'example' => 'Active', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], 'Description' => ['description' => 'The description of the VBR failover group.'."\n" ."\n" .'The description must be 2 to 256 characters in length. It must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'example' => 'desc', 'title' => ''], 'VbrHaId' => ['description' => 'The ID of the VBR failover group.'."\n", 'type' => 'string', 'example' => 'vbrha-sa1sxheuxtd98****', 'title' => ''], 'PeerVbrId' => ['description' => 'The ID of the other VBR in the VBR failover group.'."\n", 'type' => 'string', 'example' => 'vbr-bp12mw1f8k3jgygk9****', 'title' => ''], 'Name' => ['description' => 'The name of the VBR failover group.'."\n", 'type' => 'string', 'example' => 'VBRHa', 'title' => ''], 'VbrId' => ['description' => 'The VBR ID.'."\n", 'type' => 'string', 'example' => 'vbr-bp1jcg5cmxjbl9xgc****', 'title' => ''], 'RegionId' => ['description' => 'The ID of the region in which the VBR is deployed.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParam.VbrHaIdOrVbrId', 'errorMessage' => 'Missing parameter VBR switch group instance ID or VBR instance ID.', 'description' => 'Missing parameter VBR switch group instance ID or VBR instance ID.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.VbrHa', 'errorMessage' => 'The VBR HA resource is not found.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeVbrHa', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-07-15T06:09:31.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'DescribeVcoRouteEntries' => [ 'summary' => 'Queries the routes of an IPsec-VPN connection.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPsec-VPN connection.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent list of regions.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VpnConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPsec-VPN connection.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vco-p0w2jpkhi2eeop6q6****', 'title' => ''], ], [ 'name' => 'RouteEntryType', 'in' => 'query', 'schema' => ['description' => 'The route type. Valid values:'."\n" ."\n" .'* **custom** (default): a destination-based route'."\n" .'* **bgp**: a BGP route'."\n", 'type' => 'string', 'required' => false, 'example' => 'custom', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Default value: **10**. Valid values: **1** to **50**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among all requests. ClientToken can contain only ASCII characters.'."\n" ."\n" .'> If you do not set this parameter, the system uses **RequestId** as **ClientToken**. The value of **RequestId** for each API request may be different.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'PlainResponse4OpenApi', 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'TotalCount' => ['description' => 'The number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageNumber' => ['description' => 'The number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'VcoRouteEntries' => [ 'description' => 'The list of route entries.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The information about the routes.'."\n", 'type' => 'object', 'properties' => [ 'VpnConnectionId' => ['description' => 'The ID of the IPsec-VPN connection.'."\n", 'type' => 'string', 'example' => 'vco-p0w2jpkhi2eeop6q6****', 'title' => ''], 'RouteDest' => ['description' => 'The destination CIDR block of the route.'."\n", 'type' => 'string', 'example' => '192.168.10.0/24', 'title' => ''], 'NextHop' => ['description' => 'The next hop of the route.'."\n", 'type' => 'string', 'example' => 'vco-p0w2jpkhi2eeop6q6****', 'title' => ''], 'Weight' => ['description' => 'The weight of the destination-based route.'."\n" ."\n" .'> The current parameter has no effect.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'State' => ['description' => 'The status of the route.'."\n" ."\n" .'* **published**: indicates that the current route is advertised to the transit router.'."\n" .'* **Active**: indicates that the current BGP route is available.'."\n", 'type' => 'string', 'example' => 'published', 'title' => ''], 'RouteEntryType' => ['description' => 'The route type. Valid values:'."\n" ."\n" .'* **custom**: a destination-based route'."\n" .'* **bgp**: a BGP route'."\n", 'type' => 'string', 'example' => 'custom', 'title' => ''], 'CreateTime' => ['description' => 'The timestamp when the route was created.'."\n" ."\n" .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1658217008000', 'title' => ''], 'AsPath' => ['description' => 'The list of autonomous system (AS) numbers that the BGP route goes through.'."\n", 'type' => 'string', 'example' => '[12000]', 'title' => ''], 'Community' => ['description' => 'The community value carried by the BGP route.'."\n", 'type' => 'string', 'example' => '65535:65510', 'title' => ''], 'Source' => ['description' => 'The source of the BGP route. Valid values:'."\n" ."\n" .'* **CLOUD**: indicates that the current BGP route is learned by the IPsec-VPN connection from the transit router.'."\n" .'* **VPN_BGP**: indicates that the current BGP route is learned by the IPsec-VPN connection from the data center.'."\n", 'type' => 'string', 'example' => 'CLOUD', 'title' => ''], 'NextHopTunnelIdList' => [ 'description' => 'The list of next hops.'."\n" ."\n" .'> - This parameter is returned only by dual-tunnel IPsec connections.'."\n" .'> - This parameter is returned only when the tunnel status is **Phase 2 Negotiation Successful**.', 'type' => 'array', 'items' => ['description' => 'The tunnel ID.'."\n", 'type' => 'string', 'example' => 'tun-0jothw962cp3bvhbw****', 'title' => ''], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E18980E8-C8C2-31BD-8156-AE2BBDEC87E1', 'title' => ''], 'VpnRouteCounts' => [ 'description' => 'The information on route entries of the dual-tunnel IPsec connection.'."\n" ."\n" .'> This parameter is returned only for IPsec connections in dual-tunnel mode.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The information about the route entries.'."\n", 'type' => 'object', 'properties' => [ 'RouteEntryType' => ['description' => 'The route type. Valid values:'."\n" ."\n" .'* **custom**: destination-based route.'."\n" .'* **bgp**: BGP route.'."\n", 'type' => 'string', 'example' => 'bgp', 'title' => ''], 'RouteCount' => ['description' => 'The number of route entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], 'Source' => ['description' => 'The source of the BGP route. Valid values:'."\n" ."\n" .'* **CLOUD**: The current BGP route is learned by the IPsec connection from the transit router.'."\n" .'* **VPN_BGP**: The current BGP route is learned by the IPsec connection from the data center.'."\n", 'type' => 'string', 'example' => 'VPN_BGP', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.RouteEntryType', 'errorMessage' => 'The specified RouteEntryType is invalid.', 'description' => 'The error message returned because the specified route type is invalid.'], ['errorCode' => 'Vco.StatusNotSupport', 'errorMessage' => 'The current VPN connection state does not support this operation.', 'description' => 'The operation cannot be performed when the VPN connection is in the current state.'], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', 'errorMessage' => 'The specified vpn connection instance id does not exist.', 'description' => 'The specified vpn connection instance id does not exist.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], 'title' => 'DescribeVcoRouteEntries', 'changeSet' => [ ['createdAt' => '2024-10-24T11:19:58.000Z', 'description' => 'Response parameters changed, Response parameters changed'], ['createdAt' => '2023-01-10T08:01:38.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2022-12-08T02:35:47.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'DescribeVirtualBorderRouters' => [ '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' => 'The region ID of the VBR. You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number of the list. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page in a paged query. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], ], [ 'name' => 'Filter', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The filter information.', 'type' => 'array', 'items' => [ 'description' => 'The filter information.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The filter condition. You can specify up to 5 filter conditions. The following filter conditions are supported:'."\n" ."\n" .'* **PhysicalConnectionId**: instance ID of the Express Connect circuit instance.'."\n" ."\n" .'* **VbrId**: instance ID of the Virtual Border Router instance.'."\n" ."\n" .'* **Status**: the status of the Virtual Border Router.'."\n" ."\n" .'* **Name**: the name of the Virtual Border Router.'."\n" ."\n" .'* **AccessPointId**: instance ID of the access point.'."\n" ."\n" .'* **eccId**: instance ID of the Express Cloud Connect instance.'."\n" ."\n" .'* **type**: the type of the Express Connect circuit.', 'type' => 'string', 'required' => false, 'example' => 'Status', 'title' => ''], 'Value' => [ 'description' => 'The filter value based on the specified Key. You can specify multiple filter values for a Key. The relationship between filter values is OR, which means that a match is found if any of the filter values is met.', 'type' => 'array', 'items' => ['description' => 'The filter value based on the specified Key. You can specify multiple filter values for a Key. The relationship between filter values is OR, which means that a match is found if any of the filter values is met.', 'type' => 'string', 'required' => false, 'example' => 'Active', 'title' => ''], 'required' => false, 'example' => 'Active', 'maxItems' => 5, 'title' => '', ], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 5, 'title' => '', 'example' => '', ], ], [ 'name' => 'IncludeCrossAccountVbr', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to include cross-account Virtual Border Routers.'."\n" ."\n" .'- **true**: Included.'."\n" ."\n" .'- **false** (default): Not included.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The resource group ID.'."\n" ."\n" .'For more information about resource groups, see [What is a resource group?](~~94475~~).', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'description' => 'The tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You must specify at least 1 tag key and can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'A tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The VBR information.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the list. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page in a paged query. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'VirtualBorderRouterSet' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'VirtualBorderRouterType' => [ 'description' => 'The list of queried VBRs.', 'type' => 'array', 'items' => [ 'description' => 'The time when the VBR was created.', 'type' => 'object', 'properties' => [ 'CreationTime' => ['description' => 'The time when the VBR was created.', 'type' => 'string', 'example' => '2020-06-08T12:20:55', 'title' => ''], 'Status' => ['description' => 'The instance status of the VBR.'."\n" .' '."\n" .'- **unconfirmed**: waiting for confirmation from others.'."\n" ."\n" .'- **active**: Normal. '."\n" ."\n" .'- **terminating**: stopping access. '."\n" ."\n" .'- **terminated**: access stopped. '."\n" ."\n" .'- **recovering**: being recovered. '."\n" ."\n" .'- **deleting**: being deleted.', 'type' => 'string', 'example' => 'active', 'title' => ''], 'Type' => ['description' => 'The type of the VBR.', 'type' => 'string', 'example' => 'pconnVBR', 'title' => ''], 'MinTxInterval' => ['description' => 'The send alert interval of Bidirectional Forwarding Detection (BFD) packets. Valid values: **200 to 1000**. Unit: ms.', 'type' => 'integer', 'format' => 'int64', 'example' => '300', 'title' => ''], 'PeerIpv6GatewayIp' => ['description' => 'The IPv6 address of the VBR instance on the customer side.', 'type' => 'string', 'example' => '2001:XXXX:3c4d:0015:0000:0000:0000:1a2b', 'title' => ''], 'PConnVbrExpireTime' => ['description' => 'The expiration time of the billable VBR.', 'type' => 'string', 'example' => '2021-06-08T12:20:55', 'title' => ''], 'PhysicalConnectionOwnerUid' => ['description' => 'The ID of the account to which the Express Connect circuit belongs.', 'type' => 'string', 'example' => '1688000000000****', 'title' => ''], 'ActivationTime' => ['description' => 'The time when the VBR was first activated.', 'type' => 'string', 'example' => '2021-06-08T12:20:55', 'title' => ''], 'PhysicalConnectionBusinessStatus' => ['description' => 'The business status of the Express Connect circuit.'."\n" ."\n" .'- **Normal**: Normal.'."\n" ."\n" .'- **FinancialLocked**: financial lock.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'Description' => ['description' => 'The description of the VBR.', 'type' => 'string', 'example' => 'desc', 'title' => ''], 'TerminationTime' => ['description' => 'The time when the VBR was most recently terminated.', 'type' => 'string', 'example' => '2021-06-08T12:20:55', 'title' => ''], 'MinRxInterval' => ['description' => 'The receive interval of BFD packets. Valid values: **200 to 1000**. Unit: ms.', 'type' => 'integer', 'format' => 'int64', 'example' => '300', 'title' => ''], 'PeerGatewayIp' => ['description' => 'The IPv4 address of the VBR instance on the customer side.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''], 'Name' => ['description' => 'The name of the VBR instance.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'VbrId' => ['description' => 'The instance ID of the VBR.', 'type' => 'string', 'example' => 'vbr-bp1jcg5cmxjbl9xgc****', 'title' => ''], 'VlanId' => ['description' => 'The VLAN ID of the VBR instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'VlanInterfaceId' => ['description' => 'The ID of the router interface of the VBR.', 'type' => 'string', 'example' => 'ri-2zeo3xzyf38r4xx****', 'title' => ''], 'CircuitCode' => ['description' => 'The circuit code provided by the carrier for the Express Connect circuit.', 'type' => 'string', 'example' => 'longtel0****', 'title' => ''], 'LocalIpv6GatewayIp' => ['description' => 'The IPv6 address of the VBR instance on the Alibaba Cloud side.', 'type' => 'string', 'example' => '2001:XXXX:3c4d:0015:0000:0000:0000:1a2b', 'title' => ''], 'LocalGatewayIp' => ['description' => 'The IPv4 address of the VBR instance on the Alibaba Cloud side.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''], 'PeeringSubnetMask' => ['description' => 'The subnet mask for the IPv4 addresses on the Alibaba Cloud side and the customer side of the VBR instance.', 'type' => 'string', 'example' => '255.255.255.252', 'title' => ''], 'EnableIpv6' => ['description' => 'Indicates whether IPv6 is enabled.'."\n" ."\n" .'- **true**: Enabled.'."\n" ."\n" .'- **false**: Disabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'RouteTableId' => ['description' => 'The route table ID of the VBR.', 'type' => 'string', 'example' => 'rtb-bp1****', 'title' => ''], 'DetectMultiplier' => ['description' => 'The detection time multiplier.'."\n" ."\n" .'This is the maximum number of consecutive packet losses that the receiver allows from the sender, which is used to detect whether the link is normal.'."\n" ."\n" .'Valid values: **3 to 10**.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''], 'EccId' => ['description' => 'The instance ID of the Express Cloud Connect instance.', 'type' => 'string', 'example' => 'ecc-h****', 'title' => ''], 'CloudBoxInstanceId' => ['description' => 'The instance ID of the CloudBox.', 'type' => 'string', 'example' => 'cb-****', 'title' => ''], 'RecoveryTime' => ['description' => 'The time when the VBR most recently recovered from the **terminated** state to the **active** state.', 'type' => 'string', 'example' => '2021-05-08T12:20:55', 'title' => ''], 'PhysicalConnectionStatus' => ['description' => 'The status of the Express Connect circuit.'."\n" ."\n" .'- **Initial**: applying.'."\n" ."\n" .'- **Approved**: approved.'."\n" ."\n" .'- **Allocating**: allocating resources.'."\n" ."\n" .'- **Allocated**: under construction.'."\n" ."\n" .'- **Confirmed**: waiting for user confirmation.'."\n" ."\n" .'- **Enabled**: enabled.'."\n" ."\n" .'- **Rejected**: application rejected.'."\n" ."\n" .'- **Canceled**: canceled.'."\n" ."\n" .'- **Allocation Failed**: resource allocation failed.'."\n" ."\n" .'- **Terminated**: terminated.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'PeeringIpv6SubnetMask' => ['description' => 'The subnet mask for the IPv6 addresses on the Alibaba Cloud side and the customer side of the VBR instance.', 'type' => 'string', 'example' => '2000:1234:0:a000::/55', 'title' => ''], 'AccessPointId' => ['description' => 'The ID of the access point for the Express Connect circuit.', 'type' => 'string', 'example' => 'ap-cn-kojok1x****', 'title' => ''], 'PConnVbrChargeType' => ['description' => 'The billing method of the Virtual Border Router bound to the Express Connect circuit.'."\n" ."\n" .'- **PrePaid**: subscription. If you select this billing method, make sure that your account supports balance payment or credit payment.'."\n" .'- **PostPaid**: pay-as-you-go.', 'type' => 'string', 'example' => 'PrePaid', 'title' => ''], 'PhysicalConnectionId' => ['description' => 'The ID of the Express Connect circuit to which the VBR belongs.', 'type' => 'string', 'example' => 'pc-119mfjzm7x****', 'title' => ''], 'AssociatedPhysicalConnections' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'AssociatedPhysicalConnection' => [ 'description' => 'The information about the associated Express Connect circuits.', 'type' => 'array', 'items' => [ 'description' => 'The information about the associated Express Connect circuits.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The instance status of the VBR.'."\n" .' '."\n" .'- **unconfirmed**: waiting for confirmation from others.'."\n" ."\n" .'- **active**: Normal. '."\n" ."\n" .'- **terminating**: stopping access. '."\n" ."\n" .'- **terminated**: access stopped. '."\n" ."\n" .'- **recovering**: being recovered. '."\n" ."\n" .'- **deleting**: being deleted.', 'type' => 'string', 'example' => 'active', 'title' => ''], 'VlanInterfaceId' => ['description' => 'The ID of the router interface of the VBR, which can be used as the next hop of a VBR route.', 'type' => 'string', 'example' => 'ri-kojok19x3j0q6k****', 'title' => ''], 'CircuitCode' => ['description' => 'The circuit code provided by the carrier for the Express Connect circuit.', 'type' => 'string', 'example' => 'longtel0**', 'title' => ''], 'PeerIpv6GatewayIp' => ['description' => 'The IPv6 address of the VBR instance on the customer side.', 'type' => 'string', 'example' => '2001:XXXX:3c4d:0015:0000:0000:0000:1a2b', 'title' => ''], 'LocalIpv6GatewayIp' => ['description' => 'The IPv6 address of the VBR instance on the Alibaba Cloud side.', 'type' => 'string', 'example' => '2001:XXXX:3c4d:0015:0000:0000:0000:1a2b', 'title' => ''], 'PhysicalConnectionOwnerUid' => ['description' => 'The ID of the account that owns the Express Connect circuit.', 'type' => 'string', 'example' => '12345678****', 'title' => ''], 'LocalGatewayIp' => ['description' => 'The IPv4 address of the VBR instance on the Alibaba Cloud side.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''], 'PhysicalConnectionBusinessStatus' => ['description' => 'The business status of the Express Connect circuit.'."\n" ."\n" .'- **Normal**: Normal.'."\n" ."\n" .'- **FinancialLocked**: financial lock.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'PeeringSubnetMask' => ['description' => 'The subnet mask for the IPv4 addresses on the Alibaba Cloud side and the customer side of the VBR instance. '."\n" ."\n" .'The two IPv4 addresses must be in the same subnet.', 'type' => 'string', 'example' => '255.255.255.252', 'title' => ''], 'EnableIpv6' => ['description' => 'Indicates whether IPv6 is enabled.'."\n" ."\n" .'- **true**: Enabled.'."\n" ."\n" .'- **false**: Disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'PhysicalConnectionStatus' => ['description' => 'The status of the Express Connect circuit.'."\n" ."\n" .'- **Initial**: applying.'."\n" ."\n" .'- **Approved**: approved.'."\n" ."\n" .'- **Allocating**: allocating resources.'."\n" ."\n" .'- **Allocated**: under construction.'."\n" ."\n" .'- **Confirmed**: waiting for user confirmation.'."\n" ."\n" .'- **Enabled**: enabled.'."\n" ."\n" .'- **Rejected**: application rejected.'."\n" ."\n" .'- **Canceled**: canceled.'."\n" ."\n" .'- **Allocation Failed**: resource allocation failed.'."\n" ."\n" .'- **Terminated**: terminated.', 'type' => 'string', 'example' => 'Enabled', 'title' => ''], 'PeerGatewayIp' => ['description' => 'The IPv4 address of the VBR instance on the customer side.', 'type' => 'string', 'example' => '116.62.XX.XX', 'title' => ''], 'PeeringIpv6SubnetMask' => ['description' => 'The subnet mask for the IPv6 addresses on the Alibaba Cloud side and the customer side of the VBR instance. '."\n" ."\n" .'The two IPv6 addresses must be in the same subnet.', 'type' => 'string', 'example' => '2408:4004:cc:400::/56', 'title' => ''], 'PhysicalConnectionId' => ['description' => 'The ID of the Express Connect circuit.', 'type' => 'string', 'example' => 'pc-119mfjzm7****', 'title' => ''], 'VlanId' => ['description' => 'The VLAN ID of the VBR instance.', 'type' => 'string', 'example' => '0', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'AssociatedCens' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'AssociatedCen' => [ 'description' => 'The information about the associated Cloud Enterprise Network (CEN) instances.', 'type' => 'array', 'items' => [ 'description' => 'The instance information.', 'type' => 'object', 'properties' => [ 'CenOwnerId' => ['description' => 'The ID of the account to which the CEN instance belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '1688000000000****', 'title' => ''], 'CenId' => ['description' => 'The instance ID of the CEN.', 'type' => 'string', 'example' => 'cen-kojok19xxx****', 'title' => ''], 'CenStatus' => ['description' => 'The status of the CEN instance.'."\n" ."\n" .'- **Attached**: associated.'."\n" ."\n" .'- **Attaching**: being associated.'."\n" ."\n" .'- **Detached**: dissociated.'."\n" ."\n" .'- **Detaching**: being dissociated.'."\n" ."\n" .'- Empty: not associated.', 'type' => 'string', 'example' => 'Attached', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'Bandwidth' => ['description' => 'The bandwidth of the VBR instance. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], 'ResourceGroupId' => ['description' => 'The resource group ID.'."\n" ."\n" .'For more information about resource groups, see [What is a resource group?](~~2381067~~).', 'type' => 'string', 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tags' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'description' => 'The tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'EcrId' => ['description' => 'The instance ID of the associated Express Connect Router (ECR).', 'type' => 'string', 'example' => 'ecr-7vrbqv9lcgvzqbwwkm', 'title' => ''], 'SitelinkEnable' => ['description' => 'Indicates whether communication between IDCs is allowed. Valid values:'."\n" ."\n" .'* **true**: allowed.'."\n" .'* **false**: not allowed.'."\n" ."\n" .'>If no value is specified, communication between IDCs is not allowed.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'EcrAttatchStatus' => ['description' => 'The association status of the Express Connect Router (ECR).'."\n" ."\n" .'- **Attached**: associated.'."\n" ."\n" .'- **Attaching**: being associated.'."\n" ."\n" .'- **Detached**: dissociated.'."\n" ."\n" .'- **Detaching**: being dissociated.'."\n" ."\n" .'- **Empty**: not associated.', 'type' => 'string', 'example' => 'Attached', 'title' => ''], 'EcrOwnerId' => ['description' => 'The ID of the Alibaba Cloud account that owns the ECR instance.', 'type' => 'string', 'example' => '192732132151xxxx', 'title' => ''], 'Mtu' => ['description' => 'The MTU value supported by the VBR. Valid values: 1500 and 8500.', 'type' => 'integer', 'format' => 'int32', 'example' => '1500', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error. Please retry the operation. The error still exists. Please submit the work order for processing.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidFilterKey.ValueNotSupported', 'errorMessage' => 'Specified filter key is not supported: Filter.X.key', 'description' => 'Filter.X.key is not supported.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query created virtual border routers (VBRs)', 'summary' => 'Queries Virtual Border Router (VBR) instances that you have created.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => "\n", 'changeSet' => [ ['createdAt' => '2024-11-12T08:03:53.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-04-17T09:28:16.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-12-26T12:30:41.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-07-20T11:21:56.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2022-11-16T06:47:03.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-10-14T07:11:09.000Z', 'description' => 'Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVirtualBorderRouters'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVirtualBorderRouters', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#AccountId}:virtualborderrouter/{#VbrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeVirtualBorderRoutersForPhysicalConnection' => [ 'summary' => 'Query the virtual border routers (VBRs) under a specified Express Connect circuit, including VBRs owned by the Express Connect circuit owner and VBRs from other accounts.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region in which the Express Connect circuit is deployed. You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'PhysicalConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Express Connect circuit.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'pc-119mfj****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''], ], [ 'name' => 'Filter', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The filter keys.'."\n", 'type' => 'array', 'items' => [ 'description' => 'A list of filter conditions.'."\n" ."\n\n" ."\n", 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The filter conditions. You can specify at most five filter conditions. The following filter conditions are supported:'."\n" ."\n" .'* **PhysicalConnectionId**: filter VBRs by the Express Connect circuit ID.'."\n" .'* **VbrId**: filter VBRs by ID.'."\n" .'* **Status**: filter VBRs by status.'."\n" .'* **Name**: filter VBRs by name.'."\n" .'* **AccessPointId**: filter VBRs by access point ID.'."\n" .'* **eccId**: filter VBRs by ID of Express Cloud Connect (ECC) instance.'."\n" .'* **type**: filter VBRs by type.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Status', 'title' => ''], 'Value' => [ 'description' => 'The filter value for the key. You can specify multiple filter values for one key. The logical operator among filter values is OR. If one filter value is matched, the filter condition is matched.'."\n", 'type' => 'array', 'items' => ['description' => 'The filter value for the key. You can specify multiple filter values for one key. The logical operator among filter values is OR. If one filter value is matched, the filter condition is matched.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Active', 'title' => ''], 'required' => false, 'example' => 'Active', 'maxItems' => 5, 'title' => '', ], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 5, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '7C5AE8B3-A2D8-428D-A2FF-93A225C0821E', 'title' => ''], 'PageNumber' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'TotalCount' => ['description' => 'The number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'VirtualBorderRouterForPhysicalConnectionSet' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'VirtualBorderRouterForPhysicalConnectionType' => [ 'description' => 'The information about VBRs.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the VBR. Valid values:'."\n" ."\n" .'* **unconfirmed**'."\n" .'* **active**'."\n" .'* **terminating**'."\n" .'* **terminated**'."\n" .'* **recovering**'."\n" .'* **deleting**'."\n", 'type' => 'string', 'example' => 'Active', 'title' => ''], 'CreationTime' => ['description' => 'The time when the VBR was created.'."\n", 'type' => 'string', 'example' => '2021-06-08T12:20:55', 'title' => ''], 'Type' => ['description' => 'The VBR type.'."\n", 'type' => 'string', 'example' => 'pconnVBR', 'title' => ''], 'PeerIpv6GatewayIp' => ['description' => 'The IPv6 address of the gateway device on the user side.'."\n" ."\n" .'This parameter is required when you create a VBR for the owner of the Express Connect circuit. You can ignore this parameter when you create a VBR for another Alibaba Cloud account.'."\n", 'type' => 'string', 'example' => '2001:XXXX:3c4d:0015:0000:0000:0000:1a2b', 'title' => ''], 'CircuitCode' => ['description' => 'The circuit code of the Express Connect circuit. The circuit code is provided by the connectivity provider.'."\n", 'type' => 'string', 'example' => 'longtel0**', 'title' => ''], 'LocalIpv6GatewayIp' => ['description' => 'The IPv6 address of the gateway device on the Alibaba Cloud side.'."\n", 'type' => 'string', 'example' => 'ipv6bw-uf6hcyzu65v98v3du****', 'title' => ''], 'PConnVbrExpireTime' => ['description' => 'The time when the VBR associated with the Express Connect circuit expires.'."\n", 'type' => 'string', 'example' => '2021-06-10T12:20:55', 'title' => ''], 'LocalGatewayIp' => ['description' => 'The IPv4 address of the gateway device on the Alibaba Cloud side.'."\n", 'type' => 'string', 'example' => '192.168.XX.X', 'title' => ''], 'BandwidthStatus' => ['description' => 'The status of the bandwidth. Valid values:'."\n" ."\n" .'* **Active**'."\n" .'* **Inactive**'."\n", 'type' => 'string', 'example' => 'Active', 'title' => ''], 'ActivationTime' => ['description' => 'The time when the VBR was first activated.'."\n", 'type' => 'string', 'example' => '2021-06-08T12:20:55', 'title' => ''], 'VbrOwnerUid' => ['description' => 'The ID of the Alibaba Cloud account to which the VBR belongs.'."\n" ."\n" .'If the owner of the VBR is the same as that of the Express Connect circuit, this parameter is empty.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '253460731706911258', 'title' => ''], 'PeeringSubnetMask' => ['description' => 'The subnet mask of the IPv4 addresses configured on the user side and Alibaba Cloud side.'."\n" ."\n" .'The two IPv4 addresses must fall within the same subnet.'."\n", 'type' => 'string', 'example' => '255.255.255.0', 'title' => ''], 'EnableIpv6' => ['description' => 'Indicates whether IPv6 is enabled. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'EccId' => ['description' => 'The ID of the ECC instance.'."\n", 'type' => 'string', 'example' => 'ecc-sjghe****', 'title' => ''], 'Bandwidth' => ['description' => 'The bandwidth of the VBR that is associated with the Express Connect circuit. Unit: Mbit/s.'."\n", 'type' => 'string', 'example' => '10', 'title' => ''], 'RecoveryTime' => ['description' => 'The last time when the status of the VBR changed from Terminated to Active.'."\n", 'type' => 'string', 'example' => '2021-06-08T12:20:55', 'title' => ''], 'TerminationTime' => ['description' => 'The last time when the VBR was disabled.'."\n", 'type' => 'string', 'example' => '2021-06-07T12:20:55', 'title' => ''], 'PConnVbrBussinessStatus' => ['description' => 'The status of the VBR associated with the Express Connect circuit. Valid values:'."\n" ."\n" .'* **Normal**'."\n" .'* **FinancialLocked**'."\n", 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'PeerGatewayIp' => ['description' => 'The IPv4 address of the gateway device on the user side.'."\n", 'type' => 'string', 'example' => '162.62.XX.XX', 'title' => ''], 'PeeringIpv6SubnetMask' => ['description' => 'The subnet mask for the IPv6 addresses of the gateway devices on the Alibaba Cloud side and on the user side.'."\n" ."\n" .'The two IPv6 addresses must fall within the same subnet.'."\n", 'type' => 'string', 'example' => '2408:4004:cc:400::/56', 'title' => ''], 'VbrId' => ['description' => 'The VBR ID.'."\n", 'type' => 'string', 'example' => 'vbr-bp16ksp61j7e0tk****', 'title' => ''], 'PConnVbrChargeType' => ['description' => 'The billing method of the VBR. Valid values:'."\n" ."\n" .'* **PrePaid**: subscription. If you choose this billing method, make sure that your Apsara Stack account supports balance payments or credit payments.'."\n" .'* **PostPaid**: pay-as-you-go.'."\n", 'type' => 'string', 'example' => 'PrePaid', 'title' => ''], 'VlanId' => ['description' => 'The VLAN ID of the VBR.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1678', 'title' => ''], 'VbrName' => ['description' => 'The name of the VBR instance.', 'type' => 'string', 'example' => 'aliyun-to-bin-10G-A-QOS', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidPhysicalConnectionId.NotFound', 'errorMessage' => 'The specified physicalConnection is not found.', 'description' => 'The specified physicalConnection is not found.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidPhysicalConnectionId.NotFound', 'errorMessage' => 'The specified PhysicalConnectionId does not belong to user.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query virtual border routers (VBRs)', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'translator' => 'machine', ], 'DescribeVpcAttribute' => [ 'summary' => 'Queries the configuration of a virtual private cloud (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' => 'The ID of the VPC that you want to query.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp18sth14qii3pnv****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the VPC is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. DryRun only validates the request format and permissions, but does not verify whether the specified resource actually exists. If the request fails the dry run, an error message is returned. If the request passes dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'IsDefault', 'in' => 'query', 'schema' => ['description' => 'Specifies whether the VPC is the default VPC. Valid values:'."\n" ."\n" .'* **false** (default)'."\n" .'* **true**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'Creation Time of the VPC.', 'type' => 'object', 'properties' => [ 'CreationTime' => ['description' => 'The time when the VPC was created.'."\n", 'type' => 'string', 'example' => '2021-10-16T07:31:09Z', 'title' => ''], 'Status' => ['description' => 'The status of the VPC. Valid values:'."\n" ."\n" .'* **Available**'."\n" .'* **Pending**'."\n", 'type' => 'string', 'example' => 'Available', 'title' => ''], 'VpcId' => ['description' => 'The ID of the VPC.'."\n", 'type' => 'string', 'example' => 'vpc-bp18sth14qii3pnvo****', 'title' => ''], 'IsDefault' => ['description' => 'Indicates whether the VPC is the default VPC. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false** (default)', 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'ClassicLinkEnabled' => ['description' => 'Indicates whether the ClassicLink feature is enabled. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false** (default)'."\n", 'type' => 'boolean', 'deprecated' => true, 'example' => 'false', 'title' => ''], 'OwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the VPC belongs.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '28311773240248****', 'title' => ''], 'RegionId' => ['description' => 'The ID of the region to which the VPC belongs.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'VpcName' => ['description' => 'The name of the VPC.'."\n", 'type' => 'string', 'example' => 'doctest2', 'title' => ''], 'VRouterId' => ['description' => 'The ID of the vRouter that belongs to the VPC.'."\n", 'type' => 'string', 'example' => 'vrt-bp1jso6ng1at0ajsc****', 'title' => ''], 'DhcpOptionsSetStatus' => ['description' => 'The status of the DHCP options set. Valid values:'."\n" ."\n" .'* **Available**'."\n" .'* **InUse**'."\n" .'* **Deleted**'."\n" .'* **Pending**'."\n", 'type' => 'string', 'example' => 'Available', 'title' => ''], 'CidrBlock' => ['description' => 'The IPv4 CIDR block of the VPC.'."\n", 'type' => 'string', 'example' => '192.168.0.0/16', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '7486AE4A-129D-43DB-A714-2432C074BA04', 'title' => ''], 'Description' => ['description' => 'The description of the VPC.'."\n", 'type' => 'string', 'example' => 'VPC', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'example' => 'rg-acfmxazbvgb4ph****', 'title' => ''], 'DhcpOptionsSetId' => ['description' => 'The ID of the DHCP options set.'."\n", 'type' => 'string', 'example' => 'dopt-o6w0df4epg9zo8isy****', 'title' => ''], 'Ipv6CidrBlock' => ['description' => 'The IPv6 CIDR block of the VPC.'."\n", 'type' => 'string', 'example' => '2408:XXXX:0:a600::/56', 'title' => ''], 'VSwitchIds' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'VSwitchId' => [ 'description' => 'The list of vSwitches deployed in the VPC.'."\n", 'type' => 'array', 'items' => ['description' => 'The list of vSwitches deployed in the VPC.', 'type' => 'string', 'example' => '{"VSwitchId": [ "vsw-bp14cagpfysr29feg****" ]}', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'UserCidrs' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'UserCidr' => [ 'description' => 'The user CIDR block. Multiple CIDR blocks are separated by commas (,). At most three CIDR blocks are returned.'."\n", 'type' => 'array', 'items' => ['description' => 'The user CIDR block. Multiple CIDR blocks are separated by commas (,). At most three CIDR blocks are returned.', 'type' => 'string', 'example' => '172.16.0.1/24', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'SecondaryCidrBlocks' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SecondaryCidrBlock' => [ 'description' => 'The secondary IPv4 CIDR block of the VPC.'."\n", 'type' => 'array', 'items' => ['description' => 'The secondary IPv4 CIDR block of the VPC.', 'type' => 'string', 'example' => '192.168.0.0/16', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'AssociatedCens' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'AssociatedCen' => [ 'description' => 'The list of Cloud Enterprise Network (CEN) instances to which the VPC is attached.'."\n" ."\n" .'If the VPC is not attached to a CEN instance, the parameter is not returned.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The ID of the account to which the Cloud Enterprise Network (CEN) belongs.', 'type' => 'object', 'properties' => [ 'CenOwnerId' => ['description' => 'The ID of the account to which the CEN instance belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '28311773240248****', 'title' => ''], 'CenId' => ['description' => 'The ID of the CEN instance to which the VPC is attached.'."\n", 'type' => 'string', 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''], 'CenStatus' => ['description' => 'The status of the CEN instance.'."\n" ."\n" .'**Attached** is returned only when the VPC is attached to a CEN instance.', 'type' => 'string', 'example' => 'Attached', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'CloudResources' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'CloudResourceSetType' => [ 'description' => 'The resources in the VPC.', 'type' => 'array', 'items' => [ 'description' => 'The resource count in the VPC.', 'type' => 'object', 'properties' => [ 'ResourceCount' => ['description' => 'The number of resources in the VPC.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'ResourceType' => ['description' => 'The type of resource deployed in the VPC. Valid values: Valid values:'."\n" ."\n" .'* **VSwitch**'."\n" .'* **VRouter**'."\n" .'* **RouteTable**', 'type' => 'string', 'example' => 'VSwitch', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'Ipv6CidrBlocks' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Ipv6CidrBlock' => [ 'description' => 'The IPv6 CIDR block of the VPC.', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Ipv6Isp' => ['description' => 'The IPv6 CIDR block type of the VPC. Valid values:'."\n" ."\n" .'* **BGP** (default)'."\n" .'* **ChinaMobile**'."\n" .'* **ChinaUnicom**'."\n" .'* **ChinaTelecom**'."\n" ."\n" .'> If you are allowed to use single-ISP bandwidth, valid values are **ChinaTelecom**, **ChinaUnicom**, and **ChinaMobile**', 'type' => 'string', 'example' => 'BGP', 'title' => ''], 'Ipv6CidrBlock' => ['description' => 'The IPv6 CIDR block of the VPC.', 'type' => 'string', 'example' => '2408:XXXX:0:6a::/56', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'SupportIpv4Gateway' => ['description' => 'Indicates whether the VPC supports IPv4 gateways.'."\n" ."\n" .'* **true**'."\n" .'* **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Ipv4GatewayId' => ['description' => 'The ID of the IPv4 gateway.', 'type' => 'string', 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The information about the tags.', 'type' => 'array', 'items' => [ 'description' => 'The tags.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of tag N.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'AssociatedPropagationSources' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'AssociatedPropagationSources' => [ 'description' => 'The route source associated with the VPC.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'SourceType' => ['description' => 'The source type.'."\n" ."\n" .'* **CEN**'."\n" .'* **VPN**'."\n" .'* **TR**'."\n" .'* **ECR**', 'type' => 'string', 'example' => 'CEN', 'title' => ''], 'SourceOwnerId' => ['description' => 'The account ID of the source.', 'type' => 'integer', 'format' => 'int64', 'example' => '153980532164****', 'title' => ''], 'SourceInstanceId' => ['description' => 'The instance ID of the source.', 'type' => 'string', 'example' => 'cen-dc4vwznpwbobrl****', 'title' => ''], 'Status' => ['description' => 'The binding status.'."\n" ."\n" .'* **Attaching**'."\n" .'* **Attached**'."\n" .'* **Detaching**', 'type' => 'string', 'example' => 'Attaching', 'title' => ''], 'RoutePropagated' => ['description' => 'Indicates whether routes are advertised to the VPC.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'EnabledIpv6' => [ 'description' => 'Indicates whether the VPC enables IPv6 .'."\n" .'- true'."\n" .'- false', 'enumValueTitles' => ['false' => 'false', 'true' => 'true'], 'type' => 'boolean', 'example' => 'false', 'title' => '', ], 'DnsHostnameStatus' => ['description' => 'Indicates whether DNS hostname is enabled.', 'type' => 'string', 'example' => 'DISABLED', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectVpcStatus', 'errorMessage' => 'Current VPC status does not support this operation.', 'description' => ''], ['errorCode' => 'Forbidden.VpcNotFound', 'errorMessage' => 'Specified VPC does not exist.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'Specified VPC does not exist.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'title' => 'DescribeVpcAttribute', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-10-10T06:15:00.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2024-08-27T02:00:39.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2024-06-24T03:22:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-04-09T02:53:33.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-01-05T06:29:38.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-05-17T09:49:59.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], 'translator' => 'machine', ], 'DescribeVpcGrantRulesToEcr' => [ 'summary' => 'Queries the cross-account authorizations between a network instance and an Express Connect Router.', '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' => 'The number of entries to return per page. Valid values: **1** to **100**. Default value: **100**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The token used to retrieve the next page of results. Valid values:'."\n" ."\n" .'- Omit this parameter for the first request.'."\n" ."\n" .'- For subsequent requests, set this to the **NextToken** value from the previous response.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => false, 'example' => 'vpc-wz9ek66wd7tl5xqpy****', 'title' => ''], ], [ 'name' => 'EcrInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Express Connect Router.', 'type' => 'string', 'required' => false, 'example' => 'ecr-ncxadcujadncsa****', 'title' => ''], ], [ 'name' => 'EcrOwnerId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Alibaba Cloud account (main account) that owns the Express Connect Router.'."\n" ."\n" .'> This parameter is required when querying a cross-account network instance.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '192732132151****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the network instance is located.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the network instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags. You can specify up to 20 tags.', 'type' => 'array', 'items' => [ 'description' => 'The tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], [ 'name' => 'InstanceType', 'in' => 'query', 'schema' => ['description' => 'The type of instance whose authorization rules you want to query. Valid values:'."\n" ."\n" .'- **VBR**: Set the value to **VBR** to query the Virtual Private Cloud (VPC) instances authorized to connect to the specified virtual border router (VBR).'."\n" ."\n" .'- **VPC**: Set the value to **VPC** to query the VBRs to which the specified VPC has granted authorization.', 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'The pagination token for the next page of results. A non-empty value indicates that more results are available. If this parameter is not returned or is empty, all results have been retrieved.'."\n" ."\n" .'- If **NextToken** is empty, there are no more queries.'."\n" ."\n" .'- If **NextToken** has a value, the value is the token to start the next query.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '66342E8E-5E87-5FF9-80C7-C3E3571A****', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries. Note: When you perform a paged query by using the `MaxResults` and `NextToken` parameters, the value of this parameter is for reference only.', 'type' => 'string', 'example' => '10', 'title' => ''], 'GrantRuleModels' => [ 'description' => 'A list of authorization rules.', 'type' => 'array', 'items' => [ 'description' => 'Details of an authorization rule.', 'type' => 'object', 'properties' => [ 'InstanceId' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'example' => 'vpc-wz9ek66wd7tl5xqpy****', 'title' => ''], 'Type' => ['description' => 'The type of the network instance. Valid values:'."\n" ."\n" .'- **VBR**: virtual border router'."\n" ."\n" .'- **VPC**: Virtual Private Cloud', 'type' => 'string', 'example' => 'VPC', 'title' => ''], 'InstanceUid' => ['description' => 'The ID of the Alibaba Cloud account (main account) that owns the network instance.', 'type' => 'integer', 'format' => 'int64', 'example' => '192745367151****', 'title' => ''], 'RegionNo' => ['description' => 'The ID of the region where the network instance is located.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'EcrId' => ['description' => 'The ID of the Express Connect Router.', 'type' => 'string', 'example' => 'ecr-tz7w3chlaptxr2****', 'title' => ''], 'EcrOwnerId' => ['description' => 'The ID of the Alibaba Cloud account (main account) that owns the Express Connect Router.', 'type' => 'integer', 'format' => 'int64', 'example' => '192732132151****', 'title' => ''], 'CreationTime' => ['description' => 'The time when the authorization was created.', 'type' => 'string', 'example' => '2024-09-09T02:14:51Z', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeVpcGrantRulesToEcr', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpcGrantRulesToEcr'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVpcGrantRulesToEcr', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#InstanceId}'], ], ], ], ], '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"}]', ], 'DescribeVpcs' => [ 'summary' => 'Queries created VPCs.', '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' => 'The ID of the VPC. '."\n" ."\n" .'You can specify up to 20 VPC IDs. Separate multiple IDs with commas (,).', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1b1xjllp3ve5yze****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPC. '."\n" ."\n" .'You can call the [DescribeRegions](~~448570~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VpcName', 'in' => 'query', 'schema' => ['description' => 'The name of the VPC.', 'type' => 'string', 'required' => false, 'example' => 'Vpc-1', 'title' => ''], ], [ 'name' => 'IsDefault', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to query the default VPC in the specified region. Valid values: '."\n" ."\n" .'- **true** (default): Queries the default VPC in the specified region. '."\n" ."\n" .'- **false**: Does not query the default VPC.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run. The system checks the request for potential issues, including invalid AccessKey pairs, unauthorized RAM users, and missing parameter values. If the check fails, the corresponding error is returned. If the check succeeds, the `DryRunOperation` error code is returned.'."\n" ."\n" .'- **false** (default): sends a normal request. If the check succeeds, an HTTP 2xx status code is returned and the resource is queried.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the VPC belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxvfvazb4p****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page for paging. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], ], [ 'name' => 'VpcOwnerId', 'in' => 'query', 'schema' => ['description' => 'The Alibaba Cloud account ID of the VPC owner.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '253460731706911258', 'title' => ''], ], [ 'name' => 'DhcpOptionsSetId', 'in' => 'query', 'schema' => ['description' => 'The ID of the DHCP options set.', 'type' => 'string', 'required' => false, 'example' => 'dopt-o6w0df4epg9zo8isy****', 'title' => ''], ], [ 'name' => 'EnableIpv6', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to query VPCs that have IPv6 CIDR blocks enabled in the specified region. The default value is empty, which means no filtering is performed based on IPv6 enablement. Valid values:'."\n" ."\n" .'- **false**: IPv6 is not enabled.'."\n" .'- **true**: IPv6 is enabled.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'description' => 'The tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned information.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page for paging.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C6532AA8-D0F7-497F-A8EE-094126D441F5', 'title' => ''], 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'Vpcs' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Vpc' => [ 'description' => 'The details of the VPC.', 'type' => 'array', 'items' => [ 'description' => 'The details of the VPC.', 'type' => 'object', 'properties' => [ 'CreationTime' => ['description' => 'The time when the VPC was created.', 'type' => 'string', 'example' => '2021-04-18T15:02:37Z', 'title' => ''], 'Status' => ['description' => 'The status of the VPC. Valid values: '."\n" ."\n" .'- **Pending**: being configured.'."\n" ."\n" .'- **Available**: active.', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'VpcId' => ['description' => 'The ID of the VPC.', 'type' => 'string', 'example' => 'vpc-bp1qpo0kug3a20qqe****', 'title' => ''], 'IsDefault' => ['description' => 'Indicates whether the VPC is the default VPC in the region. Valid values:'."\n" ."\n" .'- **true**: The VPC is the default VPC in the region.'."\n" ."\n" .'- **false**: The VPC is not the default VPC in the region.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'OwnerId' => ['description' => 'The Alibaba Cloud account ID of the VPC owner.', 'type' => 'integer', 'format' => 'int64', 'example' => '253460731706911258', 'title' => ''], 'RegionId' => ['description' => 'The region ID of the VPC.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'VpcName' => ['description' => 'The name of the VPC.', 'type' => 'string', 'example' => 'vpc1', 'title' => ''], 'VRouterId' => ['description' => 'The ID of the vRouter in the VPC.', 'type' => 'string', 'example' => 'vrt-bp1jcg5cmxjbl9xgc****', 'title' => ''], 'DhcpOptionsSetStatus' => ['description' => 'The status of the DHCP options set. Valid values:'."\n" ."\n" .'- **Available**: active.'."\n" ."\n" .'- **InUse**: in use.'."\n" ."\n" .'- **Deleted**: deleted.'."\n" ."\n" .'- **Pending**: being configured.', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'CidrBlock' => ['description' => 'The IPv4 CIDR block of the VPC.', 'type' => 'string', 'example' => '192.168.0.0/16', 'title' => ''], 'Description' => ['description' => 'The description of the VPC.', 'type' => 'string', 'example' => 'This is my VPC.', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the VPC belongs.', 'type' => 'string', 'example' => 'rg-acfmxazb4ph****', 'title' => ''], 'DhcpOptionsSetId' => ['description' => 'The ID of the DHCP options set.', 'type' => 'string', 'example' => 'dopt-o6w0df4epg9zo8isy****', 'title' => ''], 'Ipv6CidrBlock' => ['description' => 'The IPv6 CIDR block of the VPC.', 'type' => 'string', 'example' => '2408:XXXX:0:a600::/56', 'title' => ''], 'CenStatus' => ['description' => 'The status of the VPC attached to a Cloud Enterprise Network (CEN) instance. **Attached** is returned only when the VPC is attached to a CEN instance.', 'type' => 'string', 'example' => 'Attached', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The tag information of the VPC.', 'type' => 'array', 'items' => [ 'description' => 'The tag information of the VPC.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the VPC.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the VPC.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'Ipv6CidrBlocks' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Ipv6CidrBlock' => [ 'description' => 'The IPv6 CIDR block information of the VPC.', 'type' => 'array', 'items' => [ 'description' => 'The IPv6 CIDR block information of the VPC.', 'type' => 'object', 'properties' => [ 'Ipv6Isp' => ['description' => 'The type of the IPv6 CIDR block of the VPC. Valid values:'."\n" ."\n" .'- **BGP**: Alibaba Cloud BGP IPv6.'."\n" .'- **ChinaMobile**: China Mobile (single-ISP).'."\n" .'- **ChinaUnicom**: China Unicom (single-ISP).'."\n" .'- **ChinaTelecom**: China Telecom (single-ISP).'."\n" ."\n" .'> If you are a user who has the single-ISP bandwidth whitelist enabled, this field can be set to **ChinaTelecom** (China Telecom), **ChinaUnicom** (China Unicom), or **ChinaMobile** (China Mobile).', 'type' => 'string', 'example' => 'BGP', 'title' => ''], 'Ipv6CidrBlock' => ['description' => 'The IPv6 CIDR block of the VPC.', 'type' => 'string', 'example' => '2408:XXXX:0:a600::/56', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'VSwitchIds' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'VSwitchId' => [ 'description' => 'The list of vSwitches in the VPC.'."\n" ."\n" .'Up to 300 most recently created vSwitches in the VPC can be returned. To query all vSwitches in the VPC, call the [DescribeVSwitches](~~448774~~) operation.', 'type' => 'array', 'items' => ['description' => 'The list of vSwitches in the VPC.'."\n" ."\n" .'Up to 300 most recently created vSwitches in the VPC can be returned. To query all vSwitches in the VPC, call the [DescribeVSwitches](~~448774~~) operation.', 'type' => 'string', 'example' => 'vsw-bp1nhbnpv2blyz8dl****', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'SecondaryCidrBlocks' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SecondaryCidrBlock' => [ 'description' => 'The secondary CIDR block information.', 'type' => 'array', 'items' => ['description' => 'The secondary CIDR block of the VPC.', 'type' => 'string', 'example' => '192.168.20.0/24', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'UserCidrs' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'UserCidr' => [ 'description' => 'The list of user-side CIDR blocks.', 'type' => 'array', 'items' => ['description' => 'The list of user-side CIDR blocks.', 'type' => 'string', 'example' => '10.0.0.0/8', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'NatGatewayIds' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'NatGatewayIds' => [ 'description' => 'The ID of the NAT gateway.', 'type' => 'array', 'items' => ['description' => 'The ID of the NAT gateway.', 'type' => 'string', 'example' => 'nat-245xxxftwt45bg****', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'RouterTableIds' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'RouterTableIds' => [ 'description' => 'The route table information.', 'type' => 'array', 'items' => ['description' => 'The route table ID.', 'type' => 'string', 'example' => 'vtb-bp1krxxzp0c29fmon****', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'EnabledIpv6' => [ 'description' => 'Indicates whether IPv6 is enabled. Valid values:'."\n" ."\n" .'- **false**: IPv6 is not enabled.'."\n" .'- **true**: IPv6 is enabled.', 'enumValueTitles' => [], 'type' => 'boolean', 'example' => 'false', 'title' => '', ], 'DnsHostnameStatus' => ['description' => 'Indicates whether DNS hostnames are enabled.', 'type' => 'string', 'example' => 'DISABLED', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidVpcIdNumber.NotSupported', 'errorMessage' => 'The number of vpcIds exceeds the limit.', 'description' => 'The value of the vpcId parameter has reached the upper limit.'], ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'User Id is not valid.', 'description' => ''], ['errorCode' => 'InvalidResourceGroupId', 'errorMessage' => 'The specified ResourceGroupId does not exist.', 'description' => 'The specified resource group ID does not exist.'], ['errorCode' => 'InvalidTagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The tag index is invalid.'], ['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The tag value is invalid.'], ['errorCode' => 'InvalidResourceGroupId.NotFound', 'errorMessage' => 'The Specified ResourceGroupId not exists.', 'description' => ''], ['errorCode' => 'OperationUnsupported.ResourceGroupId', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IellgalParameter.OwnerAccount', 'errorMessage' => 'The specified parameter OwnerAccount is not valid.', 'description' => 'The specified parameter OwnerAccount is illegal.'], ['errorCode' => 'IllegalParam.OwnerId', 'errorMessage' => 'The specified parameter VpcOwnerId is not valid.', 'description' => ''], ['errorCode' => 'InvalidAccount.NotFound', 'errorMessage' => 'The account is invalid.', 'description' => 'The operation failed because an invalid account is used.'], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query created VPCs', 'changeSet' => [ ['createdAt' => '2024-10-10T06:14:59.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-08-27T02:00:38.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-05-16T01:58:24.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-04-09T02:53:34.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-07-26T05:48:16.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-07-26T03:26:03.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-06-13T02:40:57.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '360', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpcs'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVpcs', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:tag', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VPCId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeVpnAttachments' => [ 'summary' => 'Queries the configuration information of IPsec-VPN connections that are associated with transit router instances.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPsec-VPN connection.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number of the list. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page when paging is used. Default value: **10**. Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'VpnConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPsec-VPN connection.'."\n" ."\n" .'> If you do not specify the IPsec-VPN connection ID, the system queries information about all IPsec-VPN connections that are associated with transit router instances in the current region.', 'type' => 'string', 'required' => false, 'example' => 'vco-p0w2jpkhi2eeop6q6****', 'title' => ''], ], [ 'name' => 'AttachType', 'in' => 'query', 'schema' => ['description' => 'The type of resource to which the IPsec-VPN connection is attached. Default value: **CEN**.'."\n" ."\n" .'The value can only be **CEN**, which indicates that the system queries IPsec-VPN connections that are associated with transit router instances.', 'type' => 'string', 'required' => false, 'example' => 'CEN', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '9F0725BB-186A-3564-91C3-AAE48042F853'], 'PageSize' => ['description' => 'The number of entries per page when paging is used.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'VpnAttachments' => [ 'description' => 'The list of IPsec-VPN connections that are associated with transit router instances.', 'type' => 'array', 'items' => [ 'description' => 'The information about an IPsec-VPN connection that is associated with a transit router instance.', 'type' => 'object', 'properties' => [ 'InstanceId' => ['description' => 'The ID of the IPsec-VPN connection.', 'type' => 'string', 'example' => 'vco-p0w2jpkhi2eeop6q6****', 'title' => ''], 'Name' => ['description' => 'The name of the IPsec-VPN connection.', 'type' => 'string', 'example' => 'nametest1', 'title' => ''], 'Description' => ['description' => 'The description of the IPsec-VPN connection.', 'type' => 'string', 'example' => 'desctest', 'title' => ''], 'AttachType' => ['description' => 'The type of resource to which the IPsec-VPN connection is attached. The value is **CEN**, which indicates that the IPsec-VPN connection is associated with a transit router instance.', 'type' => 'string', 'example' => 'CEN', 'title' => ''], 'TransitRouterId' => ['description' => 'The ID of the transit routing instance to which the IPsec-VPN connection is attached.', 'type' => 'string', 'example' => 'tr-p0wkh4yryb1dnanqw****', 'title' => ''], 'TransitRouterName' => ['description' => 'The name of the transit router instance.', 'type' => 'string', 'example' => 'nametest2', 'title' => ''], 'CrossAccountAuthorized' => ['description' => 'Indicates whether the IPsec-VPN connection is associated with a transit router instance that belongs to a different Alibaba Cloud account.'."\n" ."\n" .'- **true**: yes.'."\n" .'- **false**: no.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'Tag' => ['description' => 'The system tags of the IPsec-VPN connection.'."\n" ."\n" .'You can use system tags to check whether the IPsec-VPN connection supports BGP. You do not need to pay attention to other properties.'."\n" ."\n" .'**BGPSupport**: indicates whether the IPsec-VPN connection supports BGP.'."\n" .' - **true**: supported.'."\n" .' - **false**: not supported.', 'type' => 'string', 'example' => '{\\"description\\":\\"转发1.7.22\\",\\"VisuallySsl\\":\\"true\\",\\"PbrPriority\\":\\"true\\",\\"BGPSupport\\":\\"true\\",\\"IDaaSNewVersion\\":\\"true\\"}', 'title' => ''], 'Tags' => [ 'description' => 'The list of tags that are attached to the IPsec-VPN connection.', 'type' => 'array', 'items' => [ 'description' => 'The tag information.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'TagKey', 'title' => ''], 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'TagValue', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'TunnelBandwidth' => ['title' => '', 'description' => 'The bandwidth specification of a single VPN tunnel. Valid values:'."\n" .'Standard (default): standard. The default bandwidth is 1 Gbit/s.'."\n" .'Large: large. The default bandwidth is 3 Gbit/s.', 'type' => 'string', 'example' => 'Standard'], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Forbidden.TagKey.Duplicated', 'errorMessage' => 'The specified tag key already exists.', 'description' => 'The tag resources are duplicate.'], ['errorCode' => 'SizeLimitExceeded.TagNum', 'errorMessage' => 'The maximum number of tags is exceeded.', 'description' => 'The number of tags has reached the upper limit.'], ['errorCode' => 'InvalidParameter.TagValue', 'errorMessage' => 'The specified parameter TagValue is invalid.', 'description' => 'The error message returned because the specified tag value is invalid.'], ['errorCode' => 'InvalidParameter.TagKey', 'errorMessage' => 'The specified parameter TagKey is invalid.', 'description' => 'The error message returned because the specified tag key is invalid.'], ['errorCode' => 'Duplicated.TagKey', 'errorMessage' => 'The specified parameter TagKey is duplicated.', 'description' => 'The error message returned because the specified tag key already exists.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query configuration information of iPsec-VPN connections associated with transit router instances', 'changeSet' => [ ['createdAt' => '2024-11-25T02:24:17.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-11-05T06:04:35.000Z', 'description' => 'Response parameters changed, Response parameters changed'], ['createdAt' => '2022-12-27T12:19:51.000Z', 'description' => 'Error codes changed, Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpnAttachments'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVpnAttachments', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnections', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeVpnConnection' => [ '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' => 'The CIDR block on the Alibaba Cloud side.'."\n" ."\n" .'Multiple CIDR blocks are separated by commas (,).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VpnConnectionId', 'in' => 'query', 'schema' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vco-bp1bbi27hojx80nck****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The ID of the IPsec-VPN connection.'."\n", 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The CIDR block on the data center side.'."\n" ."\n" .'Multiple CIDR blocks are separated by commas (,).'."\n", 'type' => 'string', 'example' => 'ike_sa_not_established', 'title' => ''], 'RemoteCaCertificate' => ['description' => 'The ID of the customer gateway associated with the IPsec-VPN connection.'."\n", 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW****', 'title' => ''], 'EnableNatTraversal' => ['description' => 'The name of the IPsec-VPN connection.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'CreateTime' => ['description' => 'Indicates whether the dead peer detection (DPD) feature is enabled for the IPsec-VPN connection. Valid values:'."\n" ."\n" .'* **false**'."\n" .'* **true**'."\n" ."\n" .'After you enable the DPD feature, the initiator of the IPsec-VPN connection sends DPD packets to check the existence and availability of the peer. If no response is received from the peer within a specified period of time, the connection fails. Then, the ISAKMP security association (SA), IPsec SA, and IPsec tunnel are deleted.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1492753817000', 'title' => ''], 'EffectImmediately' => ['description' => 'The configuration of Phase 1 negotiations.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'VpnGatewayId' => ['description' => 'The identifier of the IPsec-VPN connection on the data center side.'."\n", 'type' => 'string', 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', 'title' => ''], 'LocalSubnet' => ['description' => 'The lifetime in the IKE phase. Unit: seconds.'."\n", 'type' => 'string', 'example' => '10.0.0.0/8', 'title' => ''], 'RequestId' => ['description' => 'The encryption algorithm in the IKE phase.'."\n", 'type' => 'string', 'example' => 'F2310D45-BCF6-4E2E-9082-B4503844BA4C', 'title' => ''], 'VpnConnectionId' => ['description' => 'The identifier of the IPsec-VPN connection on the Alibaba Cloud side.'."\n", 'type' => 'string', 'example' => 'vco-bp1bbi27hojx80nck****', 'title' => ''], 'RemoteSubnet' => ['description' => 'The IKE negotiation mode.'."\n" ."\n" .'* **main**: This mode offers higher security during negotiations.'."\n" .'* **aggressive**: This mode is faster and has a higher success rate.'."\n", 'type' => 'string', 'example' => '192.168.0.0/16', 'title' => ''], 'CustomerGatewayId' => ['description' => 'The version of the IKE protocol.'."\n" ."\n" .'* **ikev1**'."\n" .'* **ikev2**'."\n" ."\n" .'Compared with IKEv1, IKEv2 simplifies the SA negotiation process and is more suitable for scenarios in which multiple CIDR blocks are used.'."\n", 'type' => 'string', 'example' => 'cgw-bp1mvj4g9kogwwcxk****', 'title' => ''], 'Name' => ['description' => 'The Diffie-Hellman (DH) group in the IKE phase.'."\n", 'type' => 'string', 'example' => 'ipsec1', 'title' => ''], 'EnableDpd' => ['description' => 'The pre-shared key.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'IkeConfig' => [ 'description' => 'The authentication algorithm in the IKE phase.'."\n", 'type' => 'object', 'properties' => [ 'RemoteId' => ['description' => 'The configuration of Phase 2 negotiations.'."\n", 'type' => 'string', 'example' => '139.34.XX.XX', 'title' => ''], 'IkeLifetime' => ['description' => 'The authentication algorithm in the IPsec phase.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], 'IkeEncAlg' => ['description' => 'The lifetime in the IPsec phase. Unit: seconds.'."\n", 'type' => 'string', 'example' => 'aes', 'title' => ''], 'LocalId' => ['description' => 'The encryption algorithm in the IPsec phase.'."\n", 'type' => 'string', 'example' => '116.28.XX.XX', 'title' => ''], 'IkeMode' => ['description' => 'The DH group in the IPsec phase.'."\n", 'type' => 'string', 'example' => 'main', 'title' => ''], 'IkeVersion' => ['description' => 'The health check information about the IPsec-VPN connection.'."\n", 'type' => 'string', 'example' => 'ikev1', 'title' => ''], 'IkePfs' => ['description' => 'The state of the health check. Valid values:'."\n" ."\n" .'* **failed**'."\n" .'* **success**: normal'."\n", 'type' => 'string', 'example' => 'group2', 'title' => ''], 'Psk' => ['description' => 'The destination IP address.'."\n", 'type' => 'string', 'example' => 'pgw6dy****', 'title' => ''], 'IkeAuthAlg' => ['description' => 'The interval between two consecutive health checks. Unit: seconds.'."\n", 'type' => 'string', 'example' => 'sha1', 'title' => ''], ], 'title' => '', 'example' => '', ], 'IpsecConfig' => [ 'description' => 'The maximum number of health check retries.'."\n", 'type' => 'object', 'properties' => [ 'IpsecAuthAlg' => ['description' => 'The source IP address.'."\n", 'type' => 'string', 'example' => 'sha1', 'title' => ''], 'IpsecLifetime' => ['description' => 'Indicates whether the health check feature is enabled for the IPsec-VPN connection. Valid values:'."\n" ."\n" .'* **false**'."\n" .'* **true**'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], 'IpsecEncAlg' => ['description' => 'Indicates whether advertised routes are withdrawn when the health check fails. Valid values:'."\n" ."\n" .'* **revoke_route**: Advertised routes are withdrawn.'."\n" .'* **reserve_route**: Advertised routes are not withdrawn.'."\n", 'type' => 'string', 'example' => 'aes', 'title' => ''], 'IpsecPfs' => ['description' => 'The Border Gateway Protocol (BGP) configuration of the IPsec-VPN connection.'."\n", 'type' => 'string', 'example' => 'group2', 'title' => ''], ], 'title' => '', 'example' => '', ], 'VcoHealthCheck' => [ 'description' => 'The negotiation state of the BGP routing protocol. Valid values:'."\n" ."\n" .'* **success**: normal'."\n" .'* **failed**'."\n", 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The BGP IP address of the peer.'."\n", 'type' => 'string', 'example' => 'failed', 'title' => ''], 'Dip' => ['description' => 'The BGP CIDR block of the IPsec-VPN connection. The CIDR block falls within 169.254.0.0/16. The subnet mask of the CIDR block must be 30 bits in length.'."\n", 'type' => 'string', 'example' => '10.0.0.1', 'title' => ''], 'Interval' => ['description' => 'Indicates whether BGP is enabled. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], 'Retry' => ['description' => 'The BGP IP address on the Alibaba Cloud side.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], 'Sip' => ['description' => 'The autonomous system number (ASN) of the peer.'."\n", 'type' => 'string', 'example' => '192.168.1.1', 'title' => ''], 'Enable' => ['description' => 'The ASN on the Alibaba Cloud side.'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], 'Policy' => ['description' => 'The authentication key of the BGP routing protocol.'."\n", 'type' => 'string', 'example' => 'revoke_route', 'title' => ''], ], 'title' => '', 'example' => '', ], 'VpnBgpConfig' => [ 'description' => 'The type of the resource that is associated with the IPsec-VPN connection. Valid values:'."\n" ."\n" .'* **CEN**: indicates that the IPsec-VPN connection is associated with a transit router of a Cloud Enterprise Network (CEN) instance.'."\n" .'* **NO_ASSOCIATED**: indicates that the IPsec-VPN connection is not associated with any resource.'."\n" .'* **VPNGW**: indicates that the IPsec-VPN connection is associated with a VPN gateway.'."\n", 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The network type of the IPsec-VPN connection. Valid values:'."\n" ."\n" .'* **public**: an encrypted connection over the Internet'."\n" .'* **private**: an encrypted connection over private networks'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], 'PeerBgpIp' => ['description' => 'The ID of the CEN instance to which the transit router belongs.'."\n", 'type' => 'string', 'example' => '169.254.11.1', 'title' => ''], 'TunnelCidr' => ['description' => 'The bandwidth specification of the IPsec-VPN connection. Unit: **Mbit/s**.'."\n", 'type' => 'string', 'example' => '169.254.11.0/30', 'title' => ''], 'EnableBgp' => ['description' => 'The association state of the IPsec-VPN connection. Valid values:'."\n" ."\n" .'* **active**: The IPsec-VPN connection is associated with a VPN gateway.'."\n" .'* **init**: The IPsec-VPN connection is not associated with any resource and is being initialized.'."\n" .'* **attaching**: The IPsec-VPN connection is being associated with a transit router.'."\n" .'* **attached**: The IPsec-VPN connection is associated with a transit router.'."\n" .'* **detaching**: The IPsec-VPN connection is being disassociated from a transit router.'."\n" .'* **financialLocked**: The IPsec-VPN connection is locked due to overdue payments.'."\n" .'* **provisioning**: The IPsec-VPN connection is being prepared.'."\n" .'* **updating**: The IPsec-VPN connection is being updated.'."\n" .'* **Upgrading**: The IPsec-VPN connection is being upgraded.'."\n" .'* **deleted**: The IPsec-VPN connection is deleted.'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], 'LocalBgpIp' => ['description' => 'The ID of the zone where the IPsec-VPN connection is deployed.'."\n" ."\n" .'You can call [DescribeZones](~~36064~~) to query zone IDs and mapping between zone IDs and zone names.'."\n", 'type' => 'string', 'example' => '169.254.11.2', 'title' => ''], 'PeerAsn' => ['description' => 'The gateway IP address of the IPsec-VPN connection.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '65530', 'title' => ''], 'LocalAsn' => ['description' => 'The ID of the transit router with which the IPsec-VPN connection is associated.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '65531', 'title' => ''], 'AuthKey' => ['description' => 'The name of the transit router.'."\n", 'type' => 'string', 'example' => 'AuthKey****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'AttachType' => ['description' => 'Indicates whether the IPsec-VPN connection is associated with a transit router that belongs to another Alibaba Cloud account. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'string', 'example' => 'CEN', 'title' => ''], 'NetworkType' => ['description' => 'The list of tags added to the IPsec-VPN connection.'."\n", 'type' => 'string', 'example' => 'public', 'title' => ''], 'AttachInstanceId' => ['description' => 'The tag information.', 'type' => 'string', 'example' => 'cen-lxxpbpalc776qz****', 'title' => ''], 'Spec' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'example' => '1000M', 'title' => ''], 'State' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'example' => 'attached', 'title' => ''], 'ZoneNo' => ['description' => 'The tunnel configurations of the IPsec-VPN connection.'."\n" ."\n" .'Parameters in **TunnelOptionsSpecification** are returned only if you query an IPsec-VPN connection in dual-tunnel mode.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou-h', 'title' => ''], 'InternetIp' => ['description' => 'The tunnel configurations.'."\n", 'type' => 'string', 'example' => '47.XX.XX.162', 'title' => ''], 'TransitRouterId' => ['description' => 'The tunnel ID.'."\n", 'type' => 'string', 'example' => 'tr-p0we2edef9qr44a85****', 'title' => ''], 'TransitRouterName' => ['description' => 'The ID of the customer gateway associated with the tunnel.'."\n", 'type' => 'string', 'example' => 'nametest', 'title' => ''], 'CrossAccountAuthorized' => ['description' => 'Indicates whether the DPD feature is enabled for the tunnel. Valid values:'."\n" ."\n" .'* **false**'."\n" .'* **true**'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'Indicates whether NAT traversal is enabled for the tunnel. Valid values:'."\n" ."\n" .'* **false**'."\n" .'* **true**'."\n", 'type' => 'array', 'items' => [ 'description' => 'The tunnel IP address.'."\n", 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The CA certificate of the tunnel peer.'."\n" ."\n" .'This parameter is returned only if the VPN gateway is of the ShangMi (SM) type.'."\n", 'type' => 'string', 'example' => 'TagKey', 'title' => ''], 'Value' => ['description' => 'The tunnel role. Valid values:'."\n" ."\n" .'* **master**: The tunnel is an active tunnel.'."\n" .'* **slave**: The tunnel is a standby tunnel.'."\n", 'type' => 'string', 'example' => 'TagValue', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'TunnelOptionsSpecification' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'TunnelOptions' => [ 'description' => 'The order in which the tunnel is created.'."\n" ."\n" .'* **1**: Tunnel 1.'."\n" .'* **2**: Tunnel 2.'."\n" ."\n" .'> This parameter is returned only if the IPsec-VPN connection is associated with a transit router.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The tunnel status. Valid values:'."\n" ."\n" .'* **active**'."\n" .'* **updating**'."\n" .'* **deleting**'."\n", 'type' => 'object', 'properties' => [ 'TunnelId' => ['description' => 'The state of the IPsec-VPN connection. Valid values:'."\n" ."\n" .'* **ike_sa_not_established**: Phase 1 negotiations failed.'."\n" .'* **ike_sa_established**: Phase 1 negotiations succeeded.'."\n" .'* **ipsec_sa_not_established**: Phase 2 negotiations failed.'."\n" .'* **ipsec_sa_established**: Phase 2 negotiations succeeded.'."\n", 'type' => 'string', 'example' => 'tun-opsqc4d97wni27****', 'title' => ''], 'CustomerGatewayId' => ['description' => 'The BGP configurations.'."\n", 'type' => 'string', 'example' => 'cgw-p0wy363lucf1uyae8****', 'title' => ''], 'EnableDpd' => ['description' => 'The negotiation state of BGP. Valid values:'."\n" ."\n" .'* **success**'."\n" .'* **false**'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], 'EnableNatTraversal' => ['description' => 'The ASN on the Alibaba Cloud side.'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], 'InternetIp' => ['description' => 'The BGP address on the Alibaba Cloud side.'."\n", 'type' => 'string', 'example' => '47.21.XX.XX', 'title' => ''], 'RemoteCaCertificate' => ['description' => 'The ASN of the tunnel peer.'."\n", 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', 'title' => ''], 'Role' => ['description' => 'The BGP IP address of the tunnel peer.'."\n", 'type' => 'string', 'example' => 'master', 'title' => ''], 'TunnelIndex' => ['description' => 'The BGP CIDR block of the tunnel.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'State' => ['description' => 'The configuration of Phase 1 negotiations.'."\n", 'type' => 'string', 'example' => 'active', 'title' => ''], 'Status' => ['description' => 'The authentication algorithm in the IKE phase.'."\n", 'type' => 'string', 'example' => 'ipsec_sa_established', 'title' => ''], 'TunnelBgpConfig' => [ 'description' => 'The encryption algorithm in the IKE phase.'."\n", 'type' => 'object', 'properties' => [ 'BgpStatus' => ['description' => 'The lifetime in the IKE phase. Unit: seconds.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], 'LocalAsn' => ['description' => 'The IKE negotiation mode.'."\n" ."\n" .'* **main**: This mode offers higher security during negotiations.'."\n" .'* **aggressive**: This mode is faster and has a higher success rate.'."\n", 'type' => 'string', 'example' => '65530', 'title' => ''], 'LocalBgpIp' => ['description' => 'The Diffie-Hellman (DH) group in the IKE phase.'."\n", 'type' => 'string', 'example' => '169.254.10.1', 'title' => ''], 'PeerAsn' => ['description' => 'The version of the IKE protocol.'."\n", 'type' => 'string', 'example' => '65531', 'title' => ''], 'PeerBgpIp' => ['description' => 'The identifier of the tunnel on the Alibaba Cloud side.'."\n", 'type' => 'string', 'example' => '169.254.10.2', 'title' => ''], 'TunnelCidr' => ['description' => 'The pre-shared key.'."\n", 'type' => 'string', 'example' => '169.254.10.0/30', 'title' => ''], ], 'title' => '', 'example' => '', ], 'TunnelIkeConfig' => [ 'description' => 'The identifier of the tunnel peer.'."\n", 'type' => 'object', 'properties' => [ 'IkeAuthAlg' => ['description' => 'The configurations of Phase 2 negotiations.'."\n", 'type' => 'string', 'example' => 'sha1', 'title' => ''], 'IkeEncAlg' => ['description' => 'The authentication algorithm in the IPsec phase.'."\n", 'type' => 'string', 'example' => 'aes', 'title' => ''], 'IkeLifetime' => ['description' => 'The encryption algorithm in the IPsec phase.'."\n", 'type' => 'string', 'example' => '86400', 'title' => ''], 'IkeMode' => ['description' => 'The lifetime in the IPsec phase. Unit: seconds.'."\n", 'type' => 'string', 'example' => 'main', 'title' => ''], 'IkePfs' => ['description' => 'The DH group in the IPsec phase.'."\n", 'type' => 'string', 'example' => 'group2', 'title' => ''], 'IkeVersion' => ['description' => 'The zone where the tunnel is deployed.'."\n" ."\n" .'You can call [DescribeZones](~~36064~~) to query zone IDs.'."\n", 'type' => 'string', 'example' => 'ikev1', 'title' => ''], 'LocalId' => ['description' => 'Indicates whether BGP is enabled for the tunnel. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'string', 'example' => '47.21.XX.XX', 'title' => ''], 'Psk' => ['description' => 'The ID of the resource group to which the IPsec-VPN connection belongs.'."\n" ."\n" .'You can call the [ListResourceGroups](~~158855~~) operation to query the resource group information.', 'type' => 'string', 'example' => '123456****', 'title' => ''], 'RemoteId' => ['description' => 'The identifier of the tunnel peer.', 'type' => 'string', 'example' => '47.42.XX.XX', 'title' => ''], ], 'title' => '', 'example' => '', ], 'TunnelIpsecConfig' => [ 'description' => 'Theconfigurations of Phase 2 negotiations.', 'type' => 'object', 'properties' => [ 'IpsecAuthAlg' => ['description' => 'The authentication algorithm in the IPsec phase.', 'type' => 'string', 'example' => 'sha1', 'title' => ''], 'IpsecEncAlg' => ['description' => 'The encryption algorithm in the IPsec phase.', 'type' => 'string', 'example' => 'aes', 'title' => ''], 'IpsecLifetime' => ['description' => 'The lifetime in the IPsec phase. Unit: seconds.', 'type' => 'string', 'example' => '86400', 'title' => ''], 'IpsecPfs' => ['description' => 'The DH group in the IPsec phase.', 'type' => 'string', 'example' => 'group2', 'title' => ''], ], 'title' => '', 'example' => '', ], 'ZoneNo' => ['description' => 'The tunnel zone.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou-i', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'EnableTunnelsBgp' => ['description' => 'Indicates whether BGP is enabled for the tunnel. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n" ."\n" .'This parameter is returned only by dual-tunnel IPsec-VPN connections.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the VPN connection belongs.'."\n" ."\n" .' You can call the [ListResourceGroups](~~158855~~) operation to query the resource group list.', 'type' => 'string', 'example' => 'rg-acfmzs372yg****', 'title' => ''], 'TunnelBandwidth' => ['title' => '用于说明VPN单条隧道的带宽规格,取值:'."\n" .'Standard(默认值):标准型,默认带宽1Gbps'."\n" .'Large(大型):大型,默认带宽3Gbps', 'description' => 'Specifies the bandwidth specifications for a single tunnel in VPN attachment. Available options:'."\n" .'- **Standard**: Standard, 1Gbps'."\n" .'- **Large**: Large-sized, 3Gbps', 'type' => 'string', 'example' => 'Standard'], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', 'errorMessage' => 'The specified vpn connection instance id does not exist.', 'description' => 'The specified vpn connection instance id does not exist.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], 'title' => 'DescribeVpnConnection', 'summary' => 'Queries the detailed information about an IPsec-VPN connection.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-10-24T11:19:58.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-10-19T07:04:00.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-08-01T06:15:55.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-06-30T12:44:22.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-06-13T09:30:08.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-05-04T09:18:36.000Z', 'description' => 'Response parameters changed, Response parameters changed'], ['createdAt' => '2022-12-27T12:19:50.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'translator' => 'manual', ], 'DescribeVpnConnectionLogs' => [ 'summary' => 'Queries logs of IPsec-VPN connections.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPsec-VPN connection.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-central-1', 'title' => ''], ], [ 'name' => 'VpnConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPsec-VPN connection.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vco-m5evqnds4y459flt3****', 'title' => ''], ], [ 'name' => 'From', 'in' => 'query', 'schema' => ['description' => 'The start time of the flow log. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n" ."\n" .'> If you specify **From**, you must specify **To** or **MinutePeriod**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1671003744', 'title' => ''], ], [ 'name' => 'To', 'in' => 'query', 'schema' => ['description' => 'The end time of the flow log. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n" ."\n" .'> If you specify **To**, you must specify **From** or **MinutePeriod**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1671004344', 'title' => ''], ], [ 'name' => 'MinutePeriod', 'in' => 'query', 'schema' => ['description' => 'The interval at which log data is collected. Valid values: **1** to **10**. Unit: minutes.'."\n" ."\n" .'> If you do not specify **From** and **To**, you must specify **MinutePeriod**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Valid values: **1** to **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '10', 'title' => ''], ], [ 'name' => 'TunnelId', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'The ID of the IPsec-VPN connection.'."\n" ."\n" .'This parameter is available only for a dual-tunnel IPsec-VPN connection.'."\n", 'type' => 'string', 'required' => false, 'example' => 'tun-opsqc4d97wni27****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'CF161502-4959-5C3B-B499-09B87BA931D9', 'title' => ''], 'Count' => ['description' => 'The number of entries on the current page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'IsCompleted' => ['description' => 'Indicates whether the log is accurate. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Logs' => [ 'description' => 'The log list.'."\n", 'type' => 'array', 'items' => ['description' => 'An array of strings.'."\n" ."\n" .'Each item in the array is a log entry.'."\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****" ]', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'QueryVpnConnectionLog.NotFound', 'errorMessage' => 'the connection log of the vpn connection is not found.', 'description' => '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.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', 'errorMessage' => 'The specified vpn connection instance id does not exist.', 'description' => 'The specified vpn connection instance id does not exist.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeVpnConnectionLogs', 'changeSet' => [ ['createdAt' => '2024-01-04T07:17:11.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-30T12:44:28.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [], '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":""}]', ], 'DescribeVpnConnections' => [ 'summary' => 'Queries information about IPsec-VPN connections.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPsec-VPN connection. '."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the VPN gateway.', 'type' => 'string', 'required' => false, 'example' => 'vpn-bp1q8bgx4xnkx****', 'title' => ''], ], [ 'name' => 'CustomerGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the customer gateway.', 'type' => 'string', 'required' => false, 'example' => 'cgw-bp1mvj4g9kogw****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page for paging queries. Default value: **10**. Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''], ], [ 'name' => 'VpnConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPsec-VPN connection.', 'type' => 'string', 'required' => false, 'example' => 'vco-bp10lz7aejumd****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tags bound to the IPsec-VPN connection.'."\n" ."\n" .'You can specify up to 20 tags at a time.', 'type' => 'array', 'items' => [ 'description' => 'The tag information.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. If you specify this parameter, the value cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n" ."\n" .'You can specify up to 20 tag keys at a time.', 'type' => 'string', 'required' => false, 'example' => 'TagKey', 'title' => ''], 'Value' => ['description' => 'The tag value.'."\n" ."\n" .'The tag value can be up to 128 characters in length and can be an empty string. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.'."\n" ."\n" .'Each tag key corresponds to one tag value. You can specify up to 20 tag values at a time.', 'type' => 'string', 'required' => false, 'example' => 'TagValue', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the IPsec-VPN connection belongs.'."\n" ."\n" .'You can call the [ListResourceGroups](~~158855~~) operation to query the resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzs372yg****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page for paging queries.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '238752DC-0693-49BE-9C85-711D5691D3E5', 'title' => ''], 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'VpnConnections' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'VpnConnection' => [ 'description' => 'The list of IPsec-VPN connection configurations.', 'type' => 'array', 'items' => [ 'description' => 'The configuration of the IPsec-VPN connection.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the IPsec-VPN connection. Valid values:'."\n" ."\n" .'- **ike_sa_not_established**: Phase 1 negotiation failed.'."\n" ."\n" .'- **ike_sa_established**: Phase 1 negotiation succeeded.'."\n" ."\n" .'- **ipsec_sa_not_established**: Phase 2 negotiation failed.'."\n" ."\n" .'- **ipsec_sa_established**: Phase 2 negotiation succeeded.', 'type' => 'string', 'example' => 'ipsec_sa_established', 'title' => ''], 'EnableNatTraversal' => ['description' => 'Indicates whether NAT traversal is enabled for the IPsec-VPN connection.'."\n" ."\n" .'- **true**: NAT traversal is enabled.'."\n" ."\n" .' After NAT traversal is enabled, the IKE negotiation process removes the verification of the UDP port number and discovers NAT gateway devices in the VPN tunnel.'."\n" ."\n" .'- **false**: NAT traversal is disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'RemoteCaCertificate' => ['description' => 'The CA certificate of the peer.', 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', 'title' => ''], 'CreateTime' => ['description' => 'The timestamp when the IPsec-VPN connection was created. Unit: milliseconds.'."\n" ."\n" .'The timestamp follows the UNIX format and represents the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1492753817000', 'title' => ''], 'EffectImmediately' => ['description' => 'Indicates whether the IPsec-VPN connection configuration takes effect immediately.'."\n" ."\n" .'- **true**: A reconnection is triggered after the configuration is changed.'."\n" .'- **false**: A reconnection is triggered when traffic is detected.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'VpnGatewayId' => ['description' => 'The instance ID of the VPN gateway.', 'type' => 'string', 'example' => 'vpn-bp1q8bgx4xnkm****', 'title' => ''], 'LocalSubnet' => ['description' => 'The CIDR block on the Alibaba Cloud side of the IPsec-VPN connection.'."\n" ."\n" .'Multiple CIDR blocks are separated by commas (,).', 'type' => 'string', 'example' => '192.168.0.0/16,172.17.0.0/16', 'title' => ''], 'VpnConnectionId' => ['description' => 'The ID of the IPsec-VPN connection.', 'type' => 'string', 'example' => 'vco-bp10lz7aejumd****', 'title' => ''], 'RemoteSubnet' => ['description' => 'The CIDR block on the on-premises data center side.'."\n" ."\n" .'Multiple CIDR blocks are separated by commas (,).', 'type' => 'string', 'example' => '10.0.0.0/8,172.16.0.0/16', 'title' => ''], 'CustomerGatewayId' => ['description' => 'The instance ID of the customer gateway associated with the IPsec-VPN connection.', 'type' => 'string', 'example' => 'cgw-bp1mvj4g9kogw****', 'title' => ''], 'Name' => ['description' => 'The name of the IPsec-VPN connection.', 'type' => 'string', 'example' => 'nametest', 'title' => ''], 'EnableDpd' => ['description' => 'Indicates whether Dead Peer Detection (DPD) is enabled for the IPsec-VPN connection.'."\n" ."\n" .'- **true**: DPD is enabled.'."\n" ."\n" .' The IPsec initiator sends DPD packets to check whether the peer device is alive. If no correct response is received within the specified period of time, the peer is considered disconnected. The ISAKMP SA and the corresponding IPsec SA are deleted, and the security tunnel is also deleted.'."\n" ."\n" .'- **false**: DPD is disabled. The IPsec initiator does not send DPD packets.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'IkeConfig' => [ 'description' => 'The configuration of Phase 1 negotiation.', 'type' => 'object', 'properties' => [ 'RemoteId' => ['description' => 'The identifier on the Alibaba Cloud side of the IPsec-VPN connection.', 'type' => 'string', 'example' => '139.17.XX.XX', 'title' => ''], 'IkeLifetime' => ['description' => 'The IKE lifetime. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], 'IkeEncAlg' => ['description' => 'The encryption algorithm in the IKE phase.', 'type' => 'string', 'example' => 'aes', 'title' => ''], 'LocalId' => ['description' => 'The identifier on the on-premises data center side of the IPsec-VPN connection.', 'type' => 'string', 'example' => '116.64.XX.XX', 'title' => ''], 'IkeMode' => ['description' => 'The IKE negotiation mode. Valid values:'."\n" ."\n" .'- **main**: main mode. This mode offers high negotiation security.'."\n" .'- **aggressive**: aggressive mode. This mode supports fast negotiation and a higher success rate.', 'type' => 'string', 'example' => 'main', 'title' => ''], 'IkeVersion' => ['description' => 'The IKE protocol version. Valid values:'."\n" ."\n" .'- **ikev1**'."\n" .'- **ikev2**'."\n" ."\n" .'Compared with IKEv1, IKEv2 simplifies the SA negotiation process and provides better support for multi-CIDR-block scenarios.', 'type' => 'string', 'example' => 'ikev1', 'title' => ''], 'IkePfs' => ['description' => 'The DH group in the IKE phase.', 'type' => 'string', 'example' => 'group2', 'title' => ''], 'Psk' => ['description' => 'The pre-shared key.', 'type' => 'string', 'example' => 'pgw6dy7****', 'title' => ''], 'IkeAuthAlg' => ['description' => 'The authentication algorithm in the IKE phase.', 'type' => 'string', 'example' => 'sha1', 'title' => ''], ], 'title' => '', 'example' => '', ], 'IpsecConfig' => [ 'description' => 'The configuration of Phase 2 negotiation.', 'type' => 'object', 'properties' => [ 'IpsecAuthAlg' => ['description' => 'The authentication algorithm in the IPsec phase.', 'type' => 'string', 'example' => 'sha1', 'title' => ''], 'IpsecLifetime' => ['description' => 'The IPsec lifetime. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], 'IpsecEncAlg' => ['description' => 'The encryption algorithm in the IPsec phase.', 'type' => 'string', 'example' => 'aes', 'title' => ''], 'IpsecPfs' => ['description' => 'The DH group in the IPsec phase.', 'type' => 'string', 'example' => 'group2', 'title' => ''], ], 'title' => '', 'example' => '', ], 'VcoHealthCheck' => [ 'description' => 'The health check configuration of the IPsec-VPN connection.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The health check status. Valid values:'."\n" ."\n" .'- **success**: Normal.'."\n" .'- **failed**: Abnormal.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Dip' => ['description' => 'The destination IP address.', 'type' => 'string', 'example' => '192.168.0.1', 'title' => ''], 'Interval' => ['description' => 'The health check interval. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'Retry' => ['description' => 'The number of health check retries.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], 'Sip' => ['description' => 'The source IP address.', 'type' => 'string', 'example' => '192.168.0.50', 'title' => ''], 'Enable' => ['description' => 'The enabling status of health check. Valid values:'."\n" ."\n" .'- **true**: Enabled.'."\n" ."\n" .'- **false**: Disabled.', 'type' => 'string', 'example' => 'true', 'title' => ''], 'Policy' => ['description' => 'Specifies whether to revoke published routes when the health check fails. Valid values:'."\n" ."\n" .'- **revoke_route**: Revoke routes.'."\n" .'- **reserve_route**: Do not revoke routes.', 'type' => 'string', 'example' => 'revoke_route', 'title' => ''], ], 'title' => '', 'example' => '', ], 'VpnBgpConfig' => [ 'description' => 'The BGP routing protocol configuration of the IPsec-VPN connection.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The negotiation status of the BGP routing protocol. Valid values:'."\n" ."\n" .'- **success**: Normal.'."\n" ."\n" .'- **false**: Abnormal.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'PeerBgpIp' => ['description' => 'The BGP IP address of the peer.', 'type' => 'string', 'example' => '169.254.10.1', 'title' => ''], 'TunnelCidr' => ['description' => 'The BGP CIDR block of the IPsec-VPN connection. The CIDR block is a subnet of 169.254.0.0/16 with a subnet mask length of 30.', 'type' => 'string', 'example' => '169.254.10.0/30', 'title' => ''], 'LocalBgpIp' => ['description' => 'The BGP IP address on the Alibaba Cloud side.', 'type' => 'string', 'example' => '169.254.10.2', 'title' => ''], 'PeerAsn' => ['description' => 'The autonomous system number of the peer.', 'type' => 'integer', 'format' => 'int64', 'example' => '65530', 'title' => ''], 'LocalAsn' => ['description' => 'The autonomous system number on the Alibaba Cloud side.', 'type' => 'integer', 'format' => 'int64', 'example' => '65531', 'title' => ''], 'AuthKey' => ['description' => 'The authentication key of the BGP routing protocol.', 'type' => 'string', 'example' => 'AuthKey****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'AttachType' => ['description' => 'The type of resource to which the IPsec-VPN connection is bound. Valid values:'."\n" ."\n" .'- **CEN**: The IPsec-VPN connection is bound to a transit router instance under a Cloud Enterprise Network (CEN) instance.'."\n" .'- **NO_ASSOCIATED**: The IPsec-VPN connection is not bound to any resource.'."\n" .'- **VPNGW**: The IPsec-VPN connection is bound to a VPN gateway instance.', 'type' => 'string', 'example' => 'CEN', 'title' => ''], 'NetworkType' => ['description' => 'The network type of the IPsec-VPN connection. Valid values:'."\n" ."\n" .'- **public**: The IPsec-VPN connection establishes an encrypted communication channel over the Internet.'."\n" .'- **private**: The IPsec-VPN connection establishes an encrypted communication channel over a private network.', 'type' => 'string', 'example' => 'public', 'title' => ''], 'AttachInstanceId' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance to which the transit router instance belongs.', 'type' => 'string', 'example' => 'cen-lxxpbpalc776qz****', 'title' => ''], 'Spec' => ['description' => 'The bandwidth specification of the IPsec-VPN connection. Unit: **Mbps**.', 'type' => 'string', 'example' => '1000M', 'title' => ''], 'State' => ['description' => 'The binding status of the IPsec-VPN connection and the transit router instance. Valid values:'."\n" ."\n" .'- **active**: The IPsec-VPN connection is bound to a VPN gateway instance and the status is normal.'."\n" .'- **init**: The IPsec-VPN connection is not bound to any resource. The IPsec-VPN connection is in initialization.'."\n" .'- **attaching**: The IPsec-VPN connection is being attached to a transit router instance.'."\n" .'- **attached**: The IPsec-VPN connection is attached to a transit router instance.'."\n" .'- **detaching**: The IPsec-VPN connection is being unbound from a transit router instance.'."\n" .'- **financialLocked**: Financial lock due to overdue payment.'."\n" .'- **provisioning**: Resources are being prepared.'."\n" .'- **updating**: The IPsec-VPN connection is being updated.'."\n" .'- **upgrading**: The IPsec-VPN connection is being upgraded.'."\n" .'- **deleted**: The IPsec-VPN connection is deleted.', 'type' => 'string', 'example' => 'attached', 'title' => ''], 'TransitRouterId' => ['description' => 'The instance ID of the transit router bound to the IPsec-VPN connection.', 'type' => 'string', 'example' => 'tr-p0we2edef9qr44a85****', 'title' => ''], 'TransitRouterName' => ['description' => 'The name of the transit router instance.', 'type' => 'string', 'example' => 'nametest', 'title' => ''], 'CrossAccountAuthorized' => ['description' => 'Indicates whether the IPsec-VPN connection is bound to a transit router instance under a different Alibaba Cloud account. Valid values:'."\n" ."\n" .'- **true**: yes.'."\n" .'- **false**: no.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'InternetIp' => ['description' => 'The gateway IP address of the IPsec-VPN connection.'."\n" ."\n" .'> This parameter is returned only when the IPsec-VPN connection is bound to a transit router instance.', 'type' => 'string', 'example' => '10.XX.XX.10', 'title' => ''], 'Tag' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The list of tags bound to the IPsec-VPN connection.', 'type' => 'array', 'items' => [ 'description' => 'The tag information.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'TagKey', 'title' => ''], 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'TagValue', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'TunnelOptionsSpecification' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'TunnelOptions' => [ 'description' => 'The tunnel configuration of the IPsec-VPN connection.'."\n" ."\n" .'The parameters under **TunnelOptionsSpecification** are returned only when you query an IPsec-VPN connection in dual-tunnel mode.', 'type' => 'array', 'items' => [ 'description' => 'The tunnel configuration.', 'type' => 'object', 'properties' => [ 'TunnelId' => ['description' => 'The tunnel ID.', 'type' => 'string', 'example' => 'tun-opsqc4d97wni27****', 'title' => ''], 'CustomerGatewayId' => ['description' => 'The ID of the customer gateway associated with the tunnel.', 'type' => 'string', 'example' => 'cgw-p0wy363lucf1uyae8****', 'title' => ''], 'EnableDpd' => ['description' => 'Indicates whether Dead Peer Detection (DPD) is enabled for the tunnel. Valid values:'."\n" .'- **false**: disabled.'."\n" .'- **true**: enabled.', 'type' => 'string', 'example' => 'true', 'title' => ''], 'EnableNatTraversal' => ['description' => 'Indicates whether NAT traversal is enabled for the tunnel. Valid values:'."\n" ."\n" .'- **false**: disabled.'."\n" .'- **true**: enabled.', 'type' => 'string', 'example' => 'true', 'title' => ''], 'InternetIp' => ['description' => 'The IP address of the tunnel.', 'type' => 'string', 'example' => '47.21.XX.XX', 'title' => ''], 'RemoteCaCertificate' => ['description' => 'The CA certificate of the tunnel peer.'."\n" ."\n" .'This parameter is returned only when the VPN gateway instance uses the China Certification Authority (ShangMi) type.', 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', 'title' => ''], 'Role' => ['description' => 'The role of the tunnel. Valid values:'."\n" ."\n" .'- **master**: The tunnel is the active tunnel.'."\n" .'- **slave**: The tunnel is the standby tunnel.', 'type' => 'string', 'example' => 'master', 'title' => ''], 'TunnelIndex' => ['description' => 'The creation order of the tunnel. Valid values:'."\n" .'- **1**: the first tunnel.'."\n" .'- **2**: the second tunnel.'."\n" ."\n" .'> This parameter is returned only when the IPsec-VPN connection is bound to a transit router instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'State' => ['description' => 'The status of the tunnel. Valid values:'."\n" ."\n" .'- **active**: normal.'."\n" .'- **updating**: being updated.'."\n" .'- **deleting**: being deleted.', 'type' => 'string', 'example' => 'active', 'title' => ''], 'Status' => ['description' => 'The status of the IPsec-VPN connection. Valid values:'."\n" ."\n" .'- **ike_sa_not_established**: Phase 1 negotiation failed.'."\n" ."\n" .'- **ike_sa_established**: Phase 1 negotiation succeeded.'."\n" ."\n" .'- **ipsec_sa_not_established**: Phase 2 negotiation failed.'."\n" ."\n" .'- **ipsec_sa_established**: Phase 2 negotiation succeeded.', 'type' => 'string', 'example' => 'ipsec_sa_established', 'title' => ''], 'TunnelBgpConfig' => [ 'description' => 'The BGP configuration of the tunnel.', 'type' => 'object', 'properties' => [ 'BgpStatus' => ['description' => 'The BGP negotiation status. Valid values:'."\n" ."\n" .'- **success**: Normal.'."\n" .'- **failed**: Abnormal.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'LocalAsn' => ['description' => 'The autonomous system number on the local end (Alibaba Cloud side) of the tunnel.', 'type' => 'string', 'example' => '65530', 'title' => ''], 'LocalBgpIp' => ['description' => 'The BGP IP address on the local end (Alibaba Cloud side) of the tunnel.', 'type' => 'string', 'example' => '169.254.10.1', 'title' => ''], 'PeerAsn' => ['description' => 'The autonomous system number of the tunnel peer.', 'type' => 'string', 'example' => '65531', 'title' => ''], 'PeerBgpIp' => ['description' => 'The BGP IP address of the tunnel peer.', 'type' => 'string', 'example' => '169.254.10.2', 'title' => ''], 'TunnelCidr' => ['description' => 'The BGP CIDR block of the tunnel.', 'type' => 'string', 'example' => '169.254.10.0/30', 'title' => ''], ], 'title' => '', 'example' => '', ], 'TunnelIkeConfig' => [ 'description' => 'The configuration of Phase 1 negotiation.', 'type' => 'object', 'properties' => [ 'IkeAuthAlg' => ['description' => 'The authentication algorithm in the IKE phase.', 'type' => 'string', 'example' => 'sha1', 'title' => ''], 'IkeEncAlg' => ['description' => 'The encryption algorithm in the IKE phase.', 'type' => 'string', 'example' => 'aes', 'title' => ''], 'IkeLifetime' => ['description' => 'The IKE lifetime. Unit: seconds.', 'type' => 'string', 'example' => '86400', 'title' => ''], 'IkeMode' => ['description' => 'The IKE negotiation mode. Valid values:'."\n" ."\n" .'- **main**: main mode. This mode offers high negotiation security.'."\n" .'- **aggressive**: aggressive mode. This mode supports fast negotiation and a higher success rate.', 'type' => 'string', 'example' => 'main', 'title' => ''], 'IkePfs' => ['description' => 'The DH group in the IKE phase.', 'type' => 'string', 'example' => 'group2', 'title' => ''], 'IkeVersion' => ['description' => 'The IKE protocol version.', 'type' => 'string', 'example' => 'ikev1', 'title' => ''], 'LocalId' => ['description' => 'The identifier on the local end (Alibaba Cloud side) of the tunnel.', 'type' => 'string', 'example' => '47.21.XX.XX', 'title' => ''], 'Psk' => ['description' => 'The pre-shared key.', 'type' => 'string', 'example' => '123456****', 'title' => ''], 'RemoteId' => ['description' => 'The identifier of the tunnel peer.', 'type' => 'string', 'example' => '47.42.XX.XX', 'title' => ''], ], 'title' => '', 'example' => '', ], 'TunnelIpsecConfig' => [ 'description' => 'The configuration of Phase 2 negotiation.', 'type' => 'object', 'properties' => [ 'IpsecAuthAlg' => ['description' => 'The authentication algorithm in the IPsec phase.', 'type' => 'string', 'example' => 'sha1', 'title' => ''], 'IpsecEncAlg' => ['description' => 'The encryption algorithm in the IPsec phase.', 'type' => 'string', 'example' => 'aes', 'title' => ''], 'IpsecLifetime' => ['description' => 'The IPsec lifetime. Unit: seconds.', 'type' => 'string', 'example' => '86400', 'title' => ''], 'IpsecPfs' => ['description' => 'The DH group in the IPsec phase.', 'type' => 'string', 'example' => 'group2', 'title' => ''], ], 'title' => '', 'example' => '', ], 'ZoneNo' => ['description' => 'The zone in which the tunnel is deployed.', 'type' => 'string', 'example' => 'ap-southeast-5a', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'EnableTunnelsBgp' => ['description' => 'The enabling status of BGP for the tunnels. Valid values:'."\n" ."\n" .'- **true**: Enabled.'."\n" .'- **false**: Disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the IPsec-VPN connection belongs.'."\n" ."\n" .'You can call the [ListResourceGroups](~~158855~~) operation to query resource group information.', 'type' => 'string', 'example' => 'rg-acfmzs372yg****', 'title' => ''], 'TunnelBandwidth' => ['title' => '', 'description' => 'The bandwidth specification of a single VPN tunnel. Valid values:'."\n" .'Standard (default): Standard. The default bandwidth is 1 Gbps.'."\n" .'Large: Large. The default bandwidth is 3 Gbps.', 'type' => 'string', 'example' => 'Standard'], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Forbidden.TagKey.Duplicated', 'errorMessage' => 'The specified tag key already exists.', 'description' => 'The tag resources are duplicate.'], ['errorCode' => 'SizeLimitExceeded.TagNum', 'errorMessage' => 'The maximum number of tags is exceeded.', 'description' => 'The number of tags has reached the upper limit.'], ['errorCode' => 'InvalidParameter.TagValue', 'errorMessage' => 'The specified parameter TagValue is invalid.', 'description' => 'The error message returned because the specified tag value is invalid.'], ['errorCode' => 'InvalidParameter.TagKey', 'errorMessage' => 'The specified parameter TagKey is invalid.', 'description' => 'The error message returned because the specified tag key is invalid.'], ['errorCode' => 'Duplicated.TagKey', 'errorMessage' => 'The specified parameter TagKey is duplicated.', 'description' => 'The error message returned because the specified tag key already exists.'], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query created iPsec-VPN connections', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-10-24T11:19:58.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-10-19T08:26:51.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2023-08-01T06:15:54.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-06-30T12:44:21.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-06-13T09:30:08.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-05-04T09:18:36.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-12-27T12:19:50.000Z', 'description' => 'Error codes changed, Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpnConnections'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVpnConnections', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VpnConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VpnConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeVpnCrossAccountAuthorizations' => [ 'summary' => 'Queries the cross-account authorization information of an IPsec-VPN connection.', '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' => 'The region ID of the IPsec-VPN connection.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VpnConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPsec-VPN connection.', 'type' => 'string', 'required' => true, 'example' => 'vco-p0w2jpkhi2eeop6q6****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number of the list. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page in a paged query. Default value: **10**. Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'DB04E39A-6F0C-36AC-BCA0-B6D371B90062'], 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page in a paging query.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'CrossAccountAuthorizations' => [ 'description' => 'The list of cross-account authorization information for the IPsec-VPN connection.', 'type' => 'array', 'items' => [ 'description' => 'The cross-account authorization information of the IPsec-VPN connection.', 'type' => 'object', 'properties' => [ 'VpnConnectionId' => ['description' => 'The ID of the IPsec-VPN connection.', 'type' => 'string', 'example' => 'vco-p0w2jpkhi2eeop6q6****', 'title' => ''], 'BindUid' => ['description' => 'The ID of the Alibaba Cloud account to which the IPsec-VPN connection is authorized.', 'type' => 'integer', 'format' => 'int64', 'example' => '1210123456123456', 'title' => ''], 'BindProduct' => ['description' => 'The type of resource to which the IPsec-VPN connection is authorized.'."\n" ."\n" .'The value is **CEN** only, which indicates that the IPsec-VPN connection is authorized to a cross-account Cloud Enterprise Network (CEN) instance. The IPsec-VPN connection can be attached to a transit router instance under the cross-account CEN instance.', 'type' => 'string', 'example' => 'CEN', 'title' => ''], 'BindInstance' => ['description' => 'The instance ID of the CEN instance to which the IPsec-VPN connection authorization is granted.', 'type' => 'string', 'example' => 'cen-vv8h0t3klfpaae****', 'title' => ''], 'AliUid' => ['description' => 'The ID of the Alibaba Cloud account to which the IPsec-VPN connection belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '1250123456123456', 'title' => ''], 'CreationTime' => ['description' => 'The timestamp when the cross-account authorization was created for the IPsec-VPN connection.'."\n" ."\n" .'The timestamp is in the UNIX format and represents the total number of seconds that have elapsed since January 1, 1970, 00:00:00 UTC to the time when the cross-account authorization was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1658201810000', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query cross-account authorization information of an iPsec-VPN connection', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpnCrossAccountAuthorizations'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeVpnCrossAccountAuthorizations', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnections', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeVpnGateway' => [ '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' => ' The region ID of the VPN gateway. '."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => ' The instance ID of the VPN gateway.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpn-bp1r3v1xqkl0w519g****', 'title' => ''], ], [ 'name' => 'IncludeReservationData', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to include pending order data. Valid values:'."\n" ."\n" .'- **false** (default): does not include pending order data.'."\n" ."\n" .'- **true**: includes pending order data.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'VpnType' => ['description' => 'The type of the VPN gateway. Value: **Normal**, which indicates a standard VPN gateway.'."\n" ."\n" .''."\n" ."\n" .'The type of the VPN gateway. Valid values:'."\n" ."\n" .'- **Normal**: standard.'."\n" ."\n" .'- **NationalStandard**: Chinese SM algorithm-based.'."\n" ."\n" .'.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'Status' => ['description' => 'The status of the VPN gateway. Valid values:'."\n" ."\n" .'- **init**: initializing.'."\n" ."\n" .'- **provisioning**: preparing.'."\n" ."\n" .'- **active**: Normal.'."\n" ."\n" .'- **updating**: updating.'."\n" ."\n" .'- **deleting**: deleting.', 'type' => 'string', 'example' => 'init', 'title' => ''], 'VpcId' => ['description' => 'The ID of the VPC to which the VPN gateway belongs.', 'type' => 'string', 'example' => 'vpc-bp19m2yx1m5q0avyq****', 'title' => ''], 'SslMaxConnections' => ['description' => 'The maximum number of concurrent SSL-VPN connections.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''], 'Spec' => ['description' => 'The bandwidth specification of the VPN gateway. Unit: Mbit/s.', 'type' => 'string', 'example' => '5', 'title' => ''], 'InternetIp' => ['description' => '- If the VPN gateway instance supports creating single-tunnel IPsec-VPN connections, this address is the IP address of the VPN gateway instance and can be used to create IPsec-VPN connections or SSL-VPN connections.'."\n" ."\n" .'- If the VPN gateway instance supports creating dual-tunnel IPsec-VPN connections, this address is the first IP address used to create IPsec-VPN connections and cannot be used to create SSL-VPN connections.'."\n" ."\n" .' If the VPN gateway instance supports creating dual-tunnel IPsec-VPN connections, the system assigns two IPsec IP addresses to the VPN gateway instance for creating dual-tunnel IPsec-VPN connections.', 'type' => 'string', 'example' => '47.22.XX.XX', 'title' => ''], 'CreateTime' => ['description' => 'The timestamp when the VPN gateway was created. Unit: milliseconds.'."\n" ."\n" .'The timestamp follows the UNIX time format, which represents the total number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1495382400000', 'title' => ''], 'AutoPropagate' => ['description' => 'Indicates whether the routing automatic propagation feature is enabled for the VPN gateway. Valid values:'."\n" ."\n" .'- **true**: enabled.'."\n" ."\n" .'- **false**: disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ChargeType' => ['description' => 'The billing method. Value:'."\n" ."\n" .'**POSTPAY**: pay-as-you-go billing method.'."\n" ."\n" .'**POSTPAY**: pay-as-you-go billing method.'."\n" ."\n" .'**Prepay**: subscription.', 'type' => 'string', 'example' => '中国站示例值:Prepay,国际站示例值:POSTPAY', 'title' => ''], 'VpnGatewayId' => ['description' => 'The instance ID of the VPN gateway.', 'type' => 'string', 'example' => 'vpn-bp1r3v1xqkl0w519g****', 'title' => ''], 'Tag' => ['description' => 'The labels automatically generated by the system for the VPN gateway.'."\n" ."\n" .'- **VpnEnableBgp**: indicates whether the VPN gateway supports the BGP feature.'."\n" .' - **true**: Supported.'."\n" .' - **false**: Not supported.'."\n" .'- **VisuallySsl**: indicates whether the VPN gateway supports viewing connection information of SSL clients.'."\n" .' - **true**: Supported.'."\n" .' - **false**: Not supported.'."\n" .'- **PbrPriority**: indicates whether the VPN gateway supports configuring policy priority for policy-based routing.'."\n" .' - **true**: Supported.'."\n" .' - **false**: Not supported.'."\n" .'- **VpnNewImage**: indicates whether the VPN gateway is a new-generation VPN gateway.'."\n" .' - **true**: Yes.'."\n" .' - **false**: No.'."\n" .'- **description**: the description of the VPN gateway, which is used only for internal system purposes.'."\n" .'- **VpnVersion**: the version number of the VPN gateway.'."\n" .'- **IDaaSNewVersion**: indicates whether the VPN gateway supports attaching to an EIAM 2.0 instance.'."\n" .' - **true**: Supported.'."\n" .' - **false**: Not supported.', 'type' => 'string', 'example' => '{\\"VpnEnableBgp\\":\\"true\\",\\"VisuallySsl\\":\\"true\\",\\"PbrPriority\\":\\"true\\",\\"VpnNewImage\\":\\"true\\",\\"description\\":\\"转发1.3.24\\",\\"VpnVersion\\":\\"v1.2.4\\",\\"IDaaSNewVersion\\":\\"true\\"}', 'title' => ''], 'IpsecVpn' => ['description' => 'Indicates whether the IPsec-VPN feature is enabled. Valid values:'."\n" ."\n" .'- **enable**: enabled.'."\n" ."\n" .'- **disable**: disabled.', 'type' => 'string', 'example' => 'enable', 'title' => ''], 'EndTime' => ['description' => 'The expiration timestamp of the VPN gateway. Unit: milliseconds.'."\n" ."\n" .'The timestamp follows the UNIX time format, which represents the total number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1544666102000', 'title' => ''], 'VSwitchId' => ['description' => 'The ID of the vSwitch to which the VPN gateway belongs.', 'type' => 'string', 'example' => 'vsw-bp1dmzugdikc6hdgx****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '27E4E088-8DE0-4672-BF5C-0A412389DB9E', 'title' => ''], 'Description' => ['description' => 'The description of the VPN gateway.', 'type' => 'string', 'example' => 'vpngatewaydescription', 'title' => ''], 'EnableBgp' => ['description' => 'The enabling status of the BGP feature for the VPN gateway. Valid values:'."\n" ."\n" .'- **true**: enabled.'."\n" ."\n" .'- **false**: disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'BusinessStatus' => ['description' => 'The payment status of the VPN gateway. Valid values:'."\n" ."\n" .'- **Normal**: Normal.'."\n" ."\n" .'- **FinancialLocked**: locked due to overdue payment.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'SslVpn' => ['description' => 'The enabling status of the SSL-VPN feature. Valid values:'."\n" ."\n" .'- **enable**: enabled.'."\n" ."\n" .'- **disable**: disabled.', 'type' => 'string', 'example' => 'enable', 'title' => ''], 'Name' => ['description' => 'The name of the VPN gateway.', 'type' => 'string', 'example' => 'vpngatewayname', 'title' => ''], 'ReservationData' => [ 'description' => 'The pending order data.'."\n" ."\n" .'>This parameter is returned only when **IncludeReservationData** is set to **true**.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the pending order. Valid values:'."\n" ."\n" .'- **1**: The renewal or renewal with specification change order has not taken effect.'."\n" ."\n" .'- **2**: The temporary upgrade order has taken effect. After the restoration time is reached, the system restores the VPN gateway to the specification before the temporary upgrade. In this case, **ReservationIpsec**, **ReservationMaxConnections**, **ReservationSpec**, and **ReservationSsl** indicate the specifications before the temporary upgrade.', 'type' => 'string', 'example' => '1', 'title' => ''], 'ReservationOrderType' => ['description' => 'The type of the pending order. Valid values:'."\n" ."\n" .'- **RENEWCHANGE**: renewal with specification change.'."\n" ."\n" .'- **TEMP_UPGRADE**: temporary upgrade.'."\n" ."\n" .'- **RENEW**: renewal.', 'type' => 'string', 'example' => 'TEMP_UPGRADE', 'title' => ''], 'ReservationIpsec' => ['description' => 'The enabling status of the IPsec-VPN feature for the pending order. Valid values:'."\n" ."\n" .'- **enable**: enabled.'."\n" ."\n" .'- **disable**: disabled.', 'type' => 'string', 'example' => 'enable', 'title' => ''], 'ReservationSpec' => ['description' => 'The bandwidth specification of the pending order. Unit: Mbit/s.', 'type' => 'string', 'example' => '5', 'title' => ''], 'ReservationSsl' => ['description' => 'The enabling status of the SSL-VPN feature for the pending order. Valid values:'."\n" ."\n" .'- **enable**: enabled.'."\n" ."\n" .'- **disable**: disabled.', 'type' => 'string', 'example' => 'enable', 'title' => ''], 'ReservationMaxConnections' => ['description' => 'The maximum number of concurrent SSL-VPN connections of the pending order.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'ReservationEndTime' => ['description' => 'If the pending order type is **TEMP_UPGRADE** (temporary upgrade), this parameter indicates the revert time for the temporary upgrade.'."\n" ."\n" .'If the pending order type is **RENEWCHANGE** (renewal with specification change) or **RENEW** (renewal), this parameter indicates the effective period when the renewal or renewal with specification change takes effect.', 'type' => 'string', 'example' => '2020-07-20T16:00:00Z', 'title' => ''], ], 'title' => '', 'example' => '', ], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The list of tags bound to the VPN gateway instance.', 'type' => 'array', 'items' => [ 'description' => 'The list of tags bound to the VPN gateway instance.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'aaa', 'title' => ''], 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'bbb', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'NetworkType' => ['description' => 'The network type of the VPN gateway.'."\n" ."\n" .'- **public**: public VPN gateway.'."\n" .'- **private**: private VPN gateway.', 'type' => 'string', 'example' => 'public', 'title' => ''], 'DisasterRecoveryInternetIp' => ['description' => 'The second IP address assigned by the system to the VPN gateway instance for creating IPsec-VPN connections.'."\n" ."\n" .'This parameter is returned only for VPN gateway instances that support creating dual-tunnel IPsec-VPN connections.', 'type' => 'string', 'example' => '47.91.XX.XX', 'title' => ''], 'DisasterRecoveryVSwitchId' => ['description' => 'The ID of the second vSwitch associated with the VPN gateway instance.'."\n" ."\n" .'This parameter is returned only for VPN gateway instances that support creating dual-tunnel IPsec-VPN connections.', 'type' => 'string', 'example' => 'vsw-p0w95ql6tmr2ludkt****', 'title' => ''], 'SslVpnInternetIp' => ['description' => 'The IP address of the SSL-VPN connection.'."\n" ."\n" .'This parameter is returned only when the SSL-VPN feature is enabled on a VPN gateway instance of the public network type that supports creating dual-tunnel IPsec-VPN connections.', 'type' => 'string', 'example' => '47.74.XX.XX', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the VPN gateway belongs.'."\n" ."\n" .'You can call the [ListResourceGroups](~~158855~~) operation to query resource group information.', 'type' => 'string', 'example' => 'rg-acfmzs372yg****', 'title' => ''], 'EniInstanceIds' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'EniInstanceId' => [ 'description' => 'The list of Elastic Network Interfaces (ENIs) created by the system for the VPN gateway instance.', 'type' => 'array', 'items' => ['description' => 'The ENI ID.'."\n" ."\n" .'This parameter is returned only for VPN gateway instances that support creating dual-tunnel IPsec-VPN connections.', 'type' => 'string', 'example' => 'eni-7xvcxgmd4y2ypibn****', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'GatewayType' => ['description' => 'The type of the VPN gateway. Valid values:'."\n" .'- **Traditional**: traditional VPN gateway that supports both IPsec and SSL features.'."\n" .'- **Enhanced.SiteToSite**: enhanced site-to-cloud VPN gateway that supports only the IPsec feature.', 'type' => 'string', 'example' => 'Enhanced.SiteToSite', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => 'The specified VPN gateway does not exist. Check whether the specified VPN gateway is valid.'], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query details of a specified VPN gateway', 'summary' => 'Queries the details of a specified VPN gateway by calling the DescribeVpnGateway operation.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-05-06T02:21:48.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-10-19T07:04:00.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-06-30T12:44:23.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-12-05T09:52:15.000Z', 'description' => 'Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpnGateway'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeVpnGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeVpnGatewayAvailableZones' => [ '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' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Spec', 'in' => 'query', 'schema' => ['description' => 'The bandwidth specification.'."\n" .'- If the IPsec-VPN connection is associated with a VPN gateway instance, this parameter specifies the bandwidth specification of the VPN gateway instance.'."\n" .'- If the IPsec-VPN connection is associated with a transit router, this parameter specifies the expected bandwidth specification that the IPsec-VPN connection can support.'."\n" ."\n" .'Different bandwidth specifications may affect the zone information returned. Valid values:'."\n" ."\n" .'- **5M**'."\n" .'- **10M**'."\n" .'- **20M**'."\n" .'- **50M**'."\n" .'- **100M**'."\n" .'- **200M**'."\n" .'- **500M**'."\n" .'- **1000M**.', 'type' => 'string', 'required' => true, 'example' => '5M', 'title' => ''], ], [ 'name' => 'AcceptLanguage', 'in' => 'query', 'schema' => ['description' => 'The language in which the returned results are displayed. Valid values:'."\n" ."\n" .'- **zh-CN**: Chinese.'."\n" .'- **en-US** (default): English.', 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''], ], [ 'name' => 'GatewayType', 'in' => 'query', 'schema' => ['description' => 'The VPN gateway type. Valid values:'."\n" .'- **Traditional**: Returns zone information for creating traditional VPN gateways.'."\n" .'- **Enhanced.SiteToSite**: Returns zone information for creating enhanced site-to-cloud VPN gateways.'."\n" .'- **Default value**: Returns zone information for creating all types of VPN gateways.', 'type' => 'string', 'required' => false, 'example' => 'Traditional', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '29784052-931F-543D-A612-36B3838163FA', 'title' => ''], 'AvailableZoneIdList' => [ 'description' => 'The list of zones.', 'type' => 'array', 'items' => [ 'description' => 'The zone information.', 'type' => 'object', 'properties' => [ 'ZoneId' => ['description' => 'The zone ID.', 'type' => 'string', 'example' => 'cn-hangzhou-h', 'title' => ''], 'ZoneName' => ['description' => 'The zone name.', 'type' => 'string', 'example' => 'cn-hangzhou-h', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query zones that support iPsec-VPN connection deployment in a specified region', 'summary' => 'Queries the list of zones that support IPsec-VPN connection deployment in a specified region by calling the DescribeVpnGatewayAvailableZones operation.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpnGatewayAvailableZones'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVpnGatewayAvailableZones', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], '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"}]', ], 'DescribeVpnGateways' => [ 'summary' => 'Queries VPN gateways created in a specified region.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPN gateway. '."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the virtual private cloud (VPC) to which the VPN gateway belongs.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1m3i0kn1nd4wiw9****', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPN gateway.', 'type' => 'string', 'required' => false, 'example' => 'vpn-bp17lofy9fd0dnvzv****', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'The status of the VPN gateway. Valid values:'."\n" ."\n" .'- **init**: initializing.'."\n" ."\n" .'- **provisioning**: preparing.'."\n" ."\n" .'- **active**: Normal.'."\n" ."\n" .'- **updating**: updating.'."\n" ."\n" .'- **deleting**: deleting.', 'type' => 'string', 'required' => false, 'example' => 'active', 'title' => ''], ], [ 'name' => 'BusinessStatus', 'in' => 'query', 'schema' => ['description' => 'The billing status of the VPN gateway. Valid values:'."\n" ."\n" .'- **Normal**: Normal.'."\n" ."\n" .'- **FinancialLocked**: locked due to overdue payment.', 'type' => 'string', 'required' => false, 'example' => 'Normal', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number of the list. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page for paging queries. Valid values: **1** to **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''], ], [ 'name' => 'IncludeReservationData', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to include pending order data. Valid values:'."\n" ."\n" .'- **false** (default): does not include pending order data.'."\n" ."\n" .'- **true**: includes pending order data.', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tags bound to the VPN gateway.', 'type' => 'array', 'items' => [ 'description' => 'The tag bound to the VPN gateway.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.'."\n" ."\n" .'You can specify up to 20 tag keys at a time.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value.'."\n" ."\n" .'Each tag key corresponds to one tag value. You can specify up to 20 tag values at a time.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the VPN gateway belongs.'."\n" ."\n" .'You can call the [ListResourceGroups](~~158855~~) operation to query resource group IDs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzs372yg****', 'title' => ''], ], [ 'name' => 'GatewayType', 'in' => 'query', 'allowEmptyValue' => false, 'schema' => ['title' => '', 'description' => 'The type of the VPN gateway. Valid values:'."\n" .'- Traditional: traditional VPN gateway that covers IPsec and SSL features.'."\n" .'- Enhanced.SiteToSite: enhanced site-to-cloud VPN that covers only IPsec features.', 'type' => 'string', 'required' => false, 'example' => 'Enhanced.SiteToSite'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page for paging queries.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'DF11D6F6-E35A-41C3-9B20-6FC8A901FE65', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'VpnGateways' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'VpnGateway' => [ 'description' => 'The list of VPN gateways.', 'type' => 'array', 'items' => [ 'description' => 'The information about the VPN gateway.', 'type' => 'object', 'properties' => [ 'VpnType' => ['description' => 'The type of the VPN gateway.'."\n" .' '."\n" .''."\n" ."\n" .'- **Normal**: standard.'."\n" .'- **NationalStandard**: Chinese SM algorithm-based.'."\n" ."\n" .''."\n" ."\n" .'Valid values: **Normal**, which indicates the standard type.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'Status' => ['description' => 'The status of the VPN gateway.'."\n" ."\n" .'- **init**: initializing.'."\n" ."\n" .'- **provisioning**: preparing.'."\n" ."\n" .'- **active**: Normal.'."\n" ."\n" .'- **updating**: updating.'."\n" ."\n" .'- **deleting**: deleting.', 'type' => 'string', 'example' => 'active', 'title' => ''], 'VpcId' => ['description' => 'The ID of the VPC to which the VPN gateway belongs.', 'type' => 'string', 'example' => 'vpc-bp1m3i0kn1nd4wiw9****', 'title' => ''], 'SslMaxConnections' => ['description' => 'The maximum number of concurrent SSL-VPN connections for the VPN gateway.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''], 'Spec' => ['description' => 'The peak bandwidth of the VPN gateway. **M** indicates the unit Mbit/s.', 'type' => 'string', 'example' => '5M', 'title' => ''], 'InternetIp' => ['description' => '- If the VPN gateway instance supports creating single-tunnel IPsec-VPN connections, this is the IP address of the VPN gateway instance and can be used to create IPsec-VPN connections or SSL-VPN connections.'."\n" ."\n" .'- If the VPN gateway instance supports creating dual-tunnel IPsec-VPN connections, this is the first IP address used to create IPsec-VPN connections and cannot be used to create SSL-VPN connections.'."\n" ."\n" .' If the VPN gateway instance supports creating dual-tunnel IPsec-VPN connections, the system assigns two IPsec IP addresses to the VPN gateway instance for creating dual-tunnel IPsec-VPN connections.', 'type' => 'string', 'example' => '47.12.XX.XX', 'title' => ''], 'CreateTime' => ['description' => 'The timestamp when the VPN gateway was created. Unit: milliseconds.'."\n" ."\n" .'The timestamp is in the Unix format, which represents the total number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC to the time when the VPN gateway instance was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1515383700000', 'title' => ''], 'AutoPropagate' => ['description' => 'Indicates whether the routing automatic propagation feature is enabled for the VPN gateway.'."\n" ."\n" .'- **true**: enabled.'."\n" ."\n" .'- **false**: disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ChargeType' => ['description' => 'The billing method of the VPN gateway.'."\n" ."\n" .'Valid values: **Prepay**, which indicates subscription.'."\n" ."\n" .'Valid values: **POSTPAY**, which indicates the pay-as-you-go billing method.'."\n" ."\n" .'Valid values: **POSTPAY**, which indicates the pay-as-you-go billing method.', 'type' => 'string', 'example' => '中国站示例值:Prepay,国际站示例值:POSTPAY', 'title' => ''], 'VpnGatewayId' => ['description' => 'The ID of the VPN gateway.', 'type' => 'string', 'example' => 'vpn-bp17lofy9fd0dnvzv****', 'title' => ''], 'Tag' => ['description' => 'The system-generated labels of the VPN gateway.'."\n" ."\n" .'- **VpnEnableBgp**: indicates whether the VPN gateway supports the BGP feature.'."\n" .' - **true**: Supported.'."\n" .' - **false**: Not supported.'."\n" .'- **VisuallySsl**: indicates whether the VPN gateway supports viewing SSL client connection information.'."\n" .' - **true**: Supported.'."\n" .' - **false**: Not supported.'."\n" .'- **PbrPriority**: indicates whether the VPN gateway supports configuring policy priority for policy-based routing.'."\n" .' - **true**: Supported.'."\n" .' - **false**: Not supported.'."\n" .'- **VpnNewImage**: indicates whether the VPN gateway is a new-generation VPN gateway.'."\n" .' - **true**: Yes.'."\n" .' - **false**: No.'."\n" .'- **description**: the description of the VPN gateway, which is used only for internal system purposes.'."\n" .'- **VpnVersion**: the version number of the VPN gateway.'."\n" .'- **IDaaSNewVersion**: indicates whether the VPN gateway supports attaching to EIAM 2.0 instances.'."\n" .' - **true**: Supported.'."\n" .' - **false**: Not supported.', 'type' => 'string', 'example' => '{\\"VpnEnableBgp\\":\\"true\\",\\"VisuallySsl\\":\\"true\\",\\"PbrPriority\\":\\"true\\",\\"VpnNewImage\\":\\"true\\",\\"description\\":\\"转发1.3.24\\",\\"VpnVersion\\":\\"v1.2.4\\",\\"IDaaSNewVersion\\":\\"true\\"}', 'title' => ''], 'IpsecVpn' => ['description' => 'Indicates whether IPsec-VPN is enabled for the VPN gateway.'."\n" ."\n" .'- **enable**: enabled.'."\n" ."\n" .'- **disable**: disabled.', 'type' => 'string', 'example' => 'enable', 'title' => ''], 'EndTime' => ['description' => 'The expiration timestamp of the VPN gateway. Unit: milliseconds.'."\n" ."\n" .'The timestamp is in the Unix format, which represents the total number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC to the time when the VPN gateway instance expires.', 'type' => 'integer', 'format' => 'int64', 'example' => '1518105600000', 'title' => ''], 'VSwitchId' => ['description' => 'The ID of the vSwitch to which the VPN gateway belongs.', 'type' => 'string', 'example' => 'vsw-bp15lbk8sgtr6r5b0****', 'title' => ''], 'Description' => ['description' => 'The description of the VPN gateway.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'EnableBgp' => ['description' => 'The enabling status of the BGP feature for the VPN gateway.'."\n" ."\n" .'- **true**: enabled.'."\n" ."\n" .'- **false**: disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'BusinessStatus' => ['description' => 'The billing status of the VPN gateway.'."\n" ."\n" .'- **Normal**: Normal.'."\n" ."\n" .'- **FinancialLocked**: locked due to overdue payment.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'SslVpn' => ['description' => 'Indicates whether SSL-VPN is enabled for the VPN gateway.'."\n" ."\n" .'- **enable**: enabled.'."\n" ."\n" .'- **disable**: disabled.', 'type' => 'string', 'example' => 'enable', 'title' => ''], 'Name' => ['description' => 'The name of the VPN gateway.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'NetworkType' => ['description' => 'The network type of the VPN gateway.'."\n" ."\n" .'- **public**: public VPN gateway.'."\n" .'- **private**: private VPN gateway.', 'type' => 'string', 'example' => 'public', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The list of tags bound to the VPN gateway.', 'type' => 'array', 'items' => [ 'description' => 'The tag information bound to the VPN gateway.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'ReservationData' => [ 'description' => 'The pending order data.'."\n" ."\n" .'>This parameter is returned only when **IncludeReservationData** is set to **true**.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the pending order.'."\n" ."\n" .'- **1**: indicates that the renewal or renewal with specification change order has not taken effect.'."\n" ."\n" .'- **2**: indicates that the temporary upgrade order has taken effect. After the restoration time is reached, the system restores the VPN gateway specification to the specification before the temporary upgrade. In this case, **ReservationIpsec**, **ReservationMaxConnections**, **ReservationSpec**, and **ReservationSsl** indicate the specifications before the temporary upgrade.', 'type' => 'string', 'example' => '1', 'title' => ''], 'ReservationOrderType' => ['description' => 'The type of the pending order.'."\n" ."\n" .'- **RENEWCHANGE**: renewal with specification change.'."\n" ."\n" .'- **TEMP_UPGRADE**: temporary upgrade.'."\n" ."\n" .'- **RENEW**: renewal.', 'type' => 'string', 'example' => 'TEMP_UPGRADE', 'title' => ''], 'ReservationIpsec' => ['description' => 'The enabling status of the IPsec-VPN feature in the pending order.'."\n" ."\n" .'- **enable**: enabled.'."\n" ."\n" .'- **disable**: disabled.', 'type' => 'string', 'example' => 'enable', 'title' => ''], 'ReservationSpec' => ['description' => 'The bandwidth specification in the pending order. Unit: Mbit/s.', 'type' => 'string', 'example' => '5', 'title' => ''], 'ReservationSsl' => ['description' => 'The enabling status of the SSL-VPN feature in the pending order.'."\n" .'- **enable**: enabled.'."\n" ."\n" .'- **disable**: disabled.', 'type' => 'string', 'example' => 'enable', 'title' => ''], 'ReservationMaxConnections' => ['description' => 'The maximum number of concurrent SSL-VPN connections in the pending order.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'ReservationEndTime' => ['description' => 'If the pending order type is **TEMP_UPGRADE** (temporary upgrade), this parameter indicates the revert time for the temporary upgrade.'."\n" ."\n" .'If the pending order type is **RENEWCHANGE** (Upgrade/Downgrade) or **RENEW** (renewal), this parameter indicates the effective period when the renewal or renewal with specification change takes effect.', 'type' => 'string', 'example' => '2021-07-20T16:00:00Z', 'title' => ''], ], 'title' => '', 'example' => '', ], 'DisasterRecoveryInternetIp' => ['description' => 'The second IP address assigned by the system to the VPN gateway instance for creating IPsec-VPN connections.'."\n" ."\n" .'This parameter is returned only for VPN gateway instances that support creating dual-tunnel IPsec-VPN connections.', 'type' => 'string', 'example' => '47.91.XX.XX', 'title' => ''], 'DisasterRecoveryVSwitchId' => ['description' => 'The ID of the second vSwitch associated with the VPN gateway instance.'."\n" ."\n" .'This parameter is returned only for VPN gateway instances that support creating dual-tunnel IPsec-VPN connections.', 'type' => 'string', 'example' => 'vsw-p0w95ql6tmr2ludkt****', 'title' => ''], 'SslVpnInternetIp' => ['description' => 'The IP address for SSL-VPN connections.'."\n" ."\n" .'This parameter is returned only when SSL-VPN is enabled for a VPN gateway instance that supports creating dual-tunnel IPsec-VPN connections and uses the public network type.', 'type' => 'string', 'title' => '', 'example' => '47.74.XX.XX'], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the VPN gateway belongs.'."\n" ."\n" .'You can call the [ListResourceGroups](~~158855~~) operation to query resource group information.', 'type' => 'string', 'example' => 'rg-acfmzs372yg****', 'title' => ''], 'EniInstanceIds' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'EniInstanceId' => [ 'description' => 'The list of elastic network interfaces (ENIs) created by the system for the VPN gateway instance.', 'type' => 'array', 'items' => ['description' => 'The ENI ID.'."\n" ."\n" .'This parameter is returned only for VPN gateway instances that support creating dual-tunnel IPsec-VPN connections.', 'type' => 'string', 'example' => 'eni-7xvcxgmd4y2ypibn****', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'GatewayType' => ['title' => '', 'description' => 'The type of the VPN gateway. Valid values:'."\n" .'- Traditional: traditional VPN gateway that covers IPsec and SSL features.'."\n" .'- Enhanced.SiteToSite: enhanced site-to-cloud VPN that covers only IPsec features.', 'type' => 'string', 'example' => 'Enhanced.SiteToSite'], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter.TagKey', 'errorMessage' => 'The specified parameter TagKey is invalid.', 'description' => 'The error message returned because the specified tag key is invalid.'], ['errorCode' => 'InvalidParameter.TagValue', 'errorMessage' => 'The specified parameter TagValue is invalid.', 'description' => 'The error message returned because the specified tag value is invalid.'], ['errorCode' => 'Duplicated.TagKey', 'errorMessage' => 'The specified parameter TagKey is duplicated.', 'description' => 'The error message returned because the specified tag key already exists.'], ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbidden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => 'The error message returned because you are unauthorized to perform this operation on the specified resource. Acquire the required permissions and try again.'], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","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\\": \\"Enhanced.SiteToSite\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Query created VPN gateways', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-05-06T02:21:47.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-10-19T07:04:00.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2023-06-30T12:44:22.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-05-04T09:18:35.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-01-09T10:06:05.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2022-12-27T03:28:33.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpnGateways'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVpnGateways', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnInstanceId}'], ], ], ], ], ], 'DescribeVpnPbrRouteEntries' => [ 'summary' => 'Queries policy-based routes configured for a VPN gateway.', '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' => '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' => 'eu-central-1', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPN gateway.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpn-bp1a3kqjiiq9legfx****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE', 'title' => ''], 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'VpnPbrRouteEntries' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'VpnPbrRouteEntry' => [ 'description' => 'The list of policy-based routes.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'NextHop' => ['description' => 'The next hop of the policy-based route.'."\n", 'type' => 'string', 'example' => 'vco-bp15oes1py4i66rmd****', 'title' => ''], 'Weight' => ['description' => 'The weight of the policy-based route.'."\n" ."\n" .'For a VPN gateway that supports IPsec-VPN connections in single-tunnel mode, the weight of a policy-based route indicates the priority of the route.'."\n" ."\n" .'* **100**: a high priority If multiple policy-based routes with the same source CIDR block and destination CIDR block exist, the IPsec-VPN connection associated with the policy-based route is the active connection.'."\n" .'* **0**: a low priority If multiple policy-based routes with the same source CIDR block and destination CIDR block exist, the IPsec-VPN connection associated with the policy-based route is the standby connection.'."\n" ."\n" .'> For a VPN gateway that does not support IPsec-VPN connections in single-tunnel mode, this parameter does not take effect.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'RouteDest' => ['description' => 'The destination CIDR block of the policy-based route.'."\n", 'type' => 'string', 'example' => '10.0.0.0/24', 'title' => ''], 'State' => ['description' => 'The status of the policy-based route. Valid values:'."\n" ."\n" .'* **published**: advertised to the VPC route table.'."\n" .'* **normal**: not advertised to the VPC route table.'."\n", 'type' => 'string', 'example' => 'published', 'title' => ''], 'CreateTime' => ['description' => 'The time when the policy-based route was created. Unit: millisecond.'."\n" ."\n" .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1492747187000', 'title' => ''], 'VpnInstanceId' => ['description' => 'The ID of the VPN gateway.'."\n", 'type' => 'string', 'example' => 'vpn-bp1a3kqjiiq9legfx****', 'title' => ''], 'RouteSource' => ['description' => 'The source CIDR block of the policy-based route.'."\n", 'type' => 'string', 'example' => '192.168.0.0/24', 'title' => ''], 'Priority' => ['description' => 'The priority of the policy-based route.'."\n" ."\n" .'A smaller value indicates a higher priority.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'NextHopTunnelId' => ['description' => 'The ID of the tunnel associated with the next hop of the policy-based route.'."\n" ."\n" .'This parameter is returned only if the VPN gateway supports IPsec-VPN connections in dual-tunnel mode.'."\n", 'type' => 'string', 'example' => 'tun-opsqc4d97wni2****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidVpnInstanceId.NotFound', 'errorMessage' => 'The specified VPN was not found.', 'description' => ''], ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => 'The specified VPN gateway does not exist. Check whether the specified VPN gateway is valid.'], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeVpnPbrRouteEntries', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-01-04T07:17:10.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-10-19T08:26:50.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-13T09:30:08.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], '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\\t\\n 1\\n 1\\n \\n vco-bp15oes1py4i66rmd****\\t\\n 0\\n 10.0.0.0/24\\n published\\n 1492747187000\\n vpn-bp1a3kqjiiq9legfx****\\n 192.168.0.0/24\\n 10\\n \\n","errorExample":""}]', ], 'DescribeVpnRouteEntries' => [ 'summary' => 'Queries the destination route and BGP route information of a VPN gateway instance by calling the DescribeVpnRouteEntries operation.', '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' => 'The region ID of the VPN gateway instance.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the VPN gateway.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpn-bp1cmw7jh1nfe43m9****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number of the list. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page in a paged query. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''], ], [ 'name' => 'RouteEntryType', 'in' => 'query', 'schema' => ['description' => 'The destination type of the routing entry. Valid values:'."\n" ."\n" .'- **custom** (default): queries the destination routes of the VPN gateway instance.'."\n" .'- **bgp**: queries the BGP routes of the VPN gateway instance.', 'type' => 'string', 'required' => false, 'example' => 'custom', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page in a paging query.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'BF3995A6-FA4F-4C74-B90F-89ECF4BFF4D5', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries in the list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'VpnRouteEntries' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'VpnRouteEntry' => [ 'description' => 'The list of route entries.', 'type' => 'array', 'items' => [ 'description' => 'The details of the route entry.', 'type' => 'object', 'properties' => [ 'RouteEntryType' => ['description' => 'The destination type of the routing entry.'."\n" ."\n" .'- **custom**: a destination route of the VPN gateway instance.'."\n" .'- **bgp**: a BGP route of the VPN gateway instance.', 'type' => 'string', 'example' => 'custom', 'title' => ''], 'NextHop' => ['description' => 'The next hop of the route entry.', 'type' => 'string', 'example' => 'vco-bp1tui07ob10fmuro****', 'title' => ''], 'Weight' => ['description' => 'The weight of the destination route.'."\n" ."\n" .'- For VPN gateway instances that support dual-tunnel IPsec-VPN connections, the weight of the destination route defaults to **100** and has no practical significance.'."\n" .'- For VPN gateway instances that support single-tunnel IPsec-VPN connections, the weight represents the priority of the destination route:'."\n" .' - **100**: high priority. When multiple destination routes with the same destination CIDR block exist, the IPsec-VPN connection associated with this destination route serves as the active link.'."\n" .' - **0**: low priority. When multiple destination routes with the same destination CIDR block exist, the IPsec-VPN connection associated with this destination route serves as the standby link.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'RouteDest' => ['description' => 'The destination CIDR block of the route entry.', 'type' => 'string', 'example' => '10.0.0.0/24', 'title' => ''], 'AsPath' => ['description' => 'The AS path that the route entry passes through.', 'type' => 'string', 'example' => '65501,65001,60011', 'title' => ''], 'State' => ['description' => 'The status of the route entry. Valid values:'."\n" ."\n" .'- **published**: published.'."\n" .'- **normal**: not published.', 'type' => 'string', 'example' => 'normal', 'title' => ''], 'CreateTime' => ['description' => 'The timestamp when the route entry was created.'."\n" ."\n" .'The timestamp is in UNIX format and represents the total number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1563874074000', 'title' => ''], 'Community' => ['description' => 'The Community attribute value of the route entry.', 'type' => 'string', 'example' => '65001:1000,65501:2000', 'title' => ''], 'Source' => ['description' => 'The source of the BGP route.'."\n" ."\n" .'- **CLOUD**: The route is propagated from an Alibaba Cloud service associated with the VPN gateway.'."\n" .'- **VPN_BGP**: The route is learned through the BGP routing protocol of the VPN gateway, such as routes learned from an on-premises data center through the BGP routing protocol.', 'type' => 'string', 'example' => 'CLOUD', 'title' => ''], 'VpnInstanceId' => ['description' => 'The VPN gateway instance ID.', 'type' => 'string', 'example' => 'vpn-bp1cmw7jh1nfe43m9****', 'title' => ''], 'NextHopTunnelId' => ['description' => 'The tunnel ID associated with the next hop of the route entry.'."\n" ."\n" .'> This parameter is returned only for VPN gateway instances that support dual-tunnel IPsec-VPN connections.', 'type' => 'string', 'example' => 'tun-36cfgpwjn58axj****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'VpnRouteCounts' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'VpnRouteCount' => [ 'description' => 'The route statistics of the VPN gateway instance in dual-tunnel mode.'."\n" ."\n" .'> This information is returned only for VPN gateway instances that support dual-tunnel IPsec-VPN connections.', 'type' => 'array', 'items' => [ 'description' => 'The statistics of the routes.', 'type' => 'object', 'properties' => [ 'RouteEntryType' => ['description' => 'The type of the route entry.'."\n" ."\n" .'- **custom**: destination route entry.'."\n" .'- **bgp**: BGP route entry.', 'type' => 'string', 'example' => 'bgp', 'title' => ''], 'RouteCount' => ['description' => 'The number of route entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], 'Source' => ['description' => 'The source of the BGP route.'."\n" ."\n" .'- **CLOUD**: The route is propagated from an Alibaba Cloud service associated with the VPN gateway.'."\n" .'- **VPN_BGP**: The route is learned through the BGP routing protocol of the VPN gateway, such as routes learned from an on-premises data center through the BGP routing protocol.', 'type' => 'string', 'example' => 'VPN_BGP', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.RouteEntryType', 'errorMessage' => 'The specified "RouteEntryType" is invalid.', 'description' => ''], ['errorCode' => 'InvalidVpnInstanceId.NotFound', 'errorMessage' => 'The specified VPN was not found.', 'description' => ''], ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => 'The specified VPN gateway does not exist. Check whether the specified VPN gateway is valid.'], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], 'title' => 'Query destination routes and BGP routes', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-10-24T11:19:57.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-01-04T07:17:10.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-10-19T08:26:51.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-13T09:30:08.000Z', 'description' => 'Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpnRouteEntries'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeVpnRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'DescribeVpnSslServerLogs' => [ 'summary' => 'Queries the log of an SSL server.', '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' => 'The ID of the region where the SSL server is created. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VpnSslServerId', 'in' => 'query', 'schema' => ['description' => 'The ID of the SSL server.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vss-bp155e9yclsg1xgq4****', 'title' => ''], ], [ 'name' => 'SslVpnClientCertId', 'in' => 'query', 'schema' => ['description' => 'The ID of the SSL client certificate.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vsc-m5euof6s5jy8vs5kd****', 'title' => ''], ], [ 'name' => 'From', 'in' => 'query', 'schema' => ['description' => 'The beginning of the time range to query. The value must be a unix timestamp. For example, 1600738962 specifies 09:42:42 (UTC+8) on September 22, 2020.'."\n" ."\n" .'> If you specify **From**, you must also specify **To** or **MinutePeriod**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1600738962', 'title' => ''], ], [ 'name' => 'To', 'in' => 'query', 'schema' => ['description' => 'The end of the time range to query. The value must be a unix timestamp. For example, 1600738962 specifies 09:42:42 (UTC+8) on September 22, 2020.'."\n" ."\n" .'> If you specify **To**, you must also specify **From** or **MinutePeriod**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1600738962', 'title' => ''], ], [ 'name' => 'MinutePeriod', 'in' => 'query', 'schema' => ['description' => 'The interval at which log data is queried. Unit: minutes.'."\n" ."\n" .'> If both **From** and **To** are not specified, you must specify **MinutePeriod**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'DEDAC5B1-9292-5BF7-BDDF-61BA58CFB2FB', 'title' => ''], 'Count' => ['description' => 'The number of log entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'IsCompleted' => ['description' => 'Indicates whether the log is accurate. Valid values:'."\n" ."\n" .'* **true**: accurate'."\n" .'* **false**: inaccurate'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Logs' => [ 'description' => 'Log information list.', 'type' => 'array', 'items' => ['description' => 'An array of strings.'."\n" ."\n" .'Each item in the array is a log entry.', '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****" ]', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidSslVpnClientCertId.NotFound', 'errorMessage' => 'The specified SSL VPN client id does not exist.', 'description' => ''], ['errorCode' => 'ParamExclusive.SslVpnServerIdAndSslVpnClientCertId', 'errorMessage' => 'The specified SSL VPN client does not belong to the specified SSL VPN server.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidSslVpnServerId.NotFound', 'errorMessage' => 'The specified SSL VPN server id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeVpnSslServerLogs', 'changeSet' => [], 'ramActions' => [], '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":""}]', ], 'DescribeZones' => [ 'summary' => 'Queries zones in a region.', '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' => 'The region ID of the zone. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ZoneType', 'in' => 'query', 'schema' => ['description' => 'The zone type. Default value: **AvailabilityZone**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AvailabilityZone', 'title' => ''], ], [ 'name' => 'AcceptLanguage', 'in' => 'query', 'schema' => ['description' => 'The language used in the **LocalName** parameter. Valid values:'."\n" ."\n" .'* **zh-cn**: Chinese'."\n" .'* **en-us**: English'."\n" .'* **ja**: Japanese'."\n", 'type' => 'string', 'required' => false, 'example' => 'zh-cn', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', 'title' => ''], 'Zones' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Zone' => [ 'description' => 'The zone list.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ZoneId' => ['description' => 'The zone ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou-b', 'title' => ''], 'LocalName' => ['description' => 'The zone name.'."\n", 'type' => 'string', 'example' => '华东 1 可用区 B', 'title' => ''], 'ZoneType' => ['description' => 'The zone type. Default value: **AvailabilityZone**.'."\n", 'type' => 'string', 'example' => 'AvailabilityZone', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ], ], 'title' => 'DescribeZones', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], '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":"","errorExample":""}]', ], 'DetachDhcpOptionsSetFromVpc' => [ 'summary' => 'Disassociates a DHCP options set from a virtual private cloud (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' => 'The region to which the DHCP options set belongs. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'DhcpOptionsSetId', 'in' => 'query', 'schema' => ['description' => 'The ID of the DHCP options set to be disassociated from a VPC.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dopt-o6w0df4epg9zo8isy****', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-dfdgrgthhy****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'**true**: performs only a dry run. The system checks your AccessKey pair, the Resource Access Management (RAM) user permissions, and the required parameters. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" ."\n" .'**false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidDhcpOptionsSetId.NotFound', 'errorMessage' => 'The specified resource dhcpOptionsSetId is not found.', 'description' => ''], ['errorCode' => 'OperationFailed.AttachmentNotExist', 'errorMessage' => 'The current VPC is not attahced to a DHCP options set.', 'description' => 'The VPC is not associated with a DHCP options set.'], ['errorCode' => 'IncorrectStatus.VpcDhcpOptionsSet', 'errorMessage' => 'The dhcpOptionsSet status of VPC does not support this operation.', 'description' => 'The DHCP options set that is associated with the VPC is being configured. As a result, the DHCP options set does not support this operation.'], ['errorCode' => 'AttrMismatching.VpcDhcpOptionsSetId', 'errorMessage' => 'The dhcpOptionsSetId does not match the VPC.', 'description' => 'The ID of the DHCP options set does not match the VPC. Check whether the specified DHCP options set is associated with the VPC.'], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent. Please wait a moment and try again.', 'description' => 'The system is unavailable. Try again later.'], ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'Specified value of VpcId is not found in our record.', 'description' => ''], ['errorCode' => 'IncorrectStatus.DhcpOptionsSet', 'errorMessage' => 'The DhcpOptionsSet status does not support this operation.', 'description' => 'The DHCP options set that is associated with the VPC is being configured. As a result, the DHCP options set does not support this operation. You can perform the operation after the status of the DHCP options set is stable.'], ['errorCode' => 'OperationUnsupported.DhcpOptionsSet', 'errorMessage' => 'The DHCP options set feature in this region is not supported.', 'description' => 'The current region does not support the DHCP options sets feature.'], ['errorCode' => 'MissingParam.VpcId', 'errorMessage' => 'You must specify VpcId.', 'description' => 'You must specify VpcId.'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist.', 'description' => 'The specified region does not exist.'], ], ], 'title' => 'DetachDhcpOptionsSetFromVpc', 'description' => '- **DetachDhcpOptionsSetFromVpc**接口属于异步接口,即系统返回一个请求ID,但该DHCP选项集尚未解绑成功,系统后台的解绑任务仍在进行。您可以调用[DescribeVpcAttribute](~~94565~~)查询DHCP选项集的解绑状态:'."\n" .' - 当DHCP选项集处于**Pending**状态时,表示DHCP选项集正在解绑中。'."\n" .' - 当DHCP选项集处于**UnUsed**状态时,表示DHCP选项集解绑成功。'."\n" .'- **DetachDhcpOptionsSetFromVpc**接口不支持在同一个VPC中并发解绑DHCP选项集。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-04-22T03:18:36.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-08-06T06:43:53.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]', 'translator' => 'manual', ], 'DiagnoseVpnConnections' => [ 'summary' => 'Diagnoses IPsec-VPN connections.', 'methods' => ['post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'allowEmptyValue' => false, 'schema' => ['description' => 'The region ID of the IPsec-VPN connection.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPN gateway.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vpn-bp10hz6b0mbp39flt****', 'title' => ''], ], [ 'name' => 'VpnConnectionIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The IDs of IPsec-VPN connections.'."\n", 'type' => 'array', 'items' => ['description' => 'The ID of the IPsec-VPN connection.'."\n" ."\n" .'> This parameter is required if the IPsec-VPN connection is in single-tunnel mode.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vco-bp1spxu8hlcvpd7ry****', 'title' => ''], 'required' => false, 'maxItems' => 51, 'title' => '', 'example' => '', ], ], [ 'name' => 'TunnelIds', 'in' => 'query', 'allowEmptyValue' => true, 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tunnel IDs.'."\n", 'type' => 'array', 'items' => ['description' => 'The tunnel ID.'."\n" ."\n" .'> This parameter is required if the IPsec-VPN connection is in dual-tunnel mode.'."\n", 'type' => 'string', 'required' => false, 'example' => 'tun-64n1sr9dig64k6****', 'title' => ''], 'required' => false, 'maxItems' => 100, 'title' => '', 'example' => '', ], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B8094E1E-935B-1397-96A8-4F87A5D1BF29'], 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'TotalCount' => ['description' => 'The number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'VpnConnections' => [ 'description' => 'The diagnostic information.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'MismatchRemoteParam' => ['description' => 'If the parameter values configured for the IPsec-VPN connection and the peer gateway device do not match, this parameter indicates the value of the parameter configured for the peer gateway device.'."\n", 'type' => 'string', 'example' => 'SHA', 'title' => ''], 'MismatchLocalParam' => ['description' => 'If the values of the parameters configured for the IPsec-VPN connection and the peer gateway device do not match, this parameter indicates the value of the parameters configured for the IPsec-VPN connection.'."\n", 'type' => 'string', 'example' => 'SHA256', 'title' => ''], 'VpnConnectionId' => ['description' => 'The ID of the IPsec-VPN connection.'."\n", 'type' => 'string', 'example' => 'vco-bp1spxu8hlcvpd7ry****', 'title' => ''], 'SourceLog' => ['description' => 'The log information about the error.'."\n", '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}]', 'title' => ''], 'FailedReasonCode' => ['description' => 'The error code.'."\n", 'type' => 'string', 'example' => 'Phase1NegotiationTimeout', 'title' => ''], 'FailedTime' => ['description' => 'The timestamp when the current error occurred on the IPsec-VPN connection. Unit: millisecond.'."\n" ."\n" .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1673581161000', 'title' => ''], 'FailedReason' => ['description' => 'The cause of the error.'."\n", 'type' => 'string', 'example' => 'Phase1 negotiation timeout', 'title' => ''], 'Severity' => ['description' => 'The error level. Valid values:'."\n" ."\n" .'* **Critical**'."\n" .'* **Warn**'."\n" .'* **Normal**'."\n", 'type' => 'string', 'example' => 'Warn', 'title' => ''], 'TunnelId' => ['description' => 'The tunnel ID.'."\n", 'type' => 'string', 'example' => 'tun-64n1sr9dig64k6****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The parameter is invalid.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DiagnoseVpnConnections', 'description' => '* If the IPsec-VPN connection is in single-tunnel mode, the request parameter `VpnConnectionIds` is required when you call the **DiagnoseVpnConnections** operation.'."\n" .'* If the IPsec-VPN connection is in dual-tunnel mode, the request parameter `TunnelIds` is required when you call the **DiagnoseVpnConnections** operation.'."\n" .'* After you call the **DiagnoseVpnConnections** operation, if the current IPsec-VPN connection is faulty, the operation returns the corresponding error code (**FailedReasonCode**) and log (**SourceLog**). You can troubleshoot based on the error code and log information. For more information, see [Common errors and troubleshooting methods for IPsec-VPN connections](~~477862~~).'."\n", 'changeSet' => [], 'ramActions' => [], '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":""}]', ], 'DiagnoseVpnGateway' => [ 'summary' => 'Diagnoses a VPN gateway.', 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['title' => 'RegionId', '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, 'example' => 'cn-qingdao'], ], [ 'name' => 'ResourceId', 'in' => 'query', 'schema' => ['title' => 'ResourceId', 'description' => 'The ID of the resource to be diagnosed.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vco-uf66xniofskqtuoz1****'], ], [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => ['title' => 'ResourceType', 'description' => 'The type of the resource.'."\n" ."\n" .'Set the value to **Ipsec**, which specifies an IPsec-VPN connection.'."\n", 'type' => 'string', 'required' => true, 'example' => 'IPsec'], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['title' => 'VpnGatewayId', 'description' => 'The ID of the VPN gateway.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vpn-m5efhj0k1p47ctuhl****'], ], [ 'name' => 'IPsecExtendInfo', 'in' => 'query', 'schema' => ['title' => 'IPsecExtendInfo', 'description' => 'Check the connectivity of the destination address. Valid values:'."\n" ."\n" .'* **PrivateSourceIp**: the source IP address. The source IP address must be on the VPC side.'."\n" .'* **PrivateDestinationIp**: the destination IP address. The destination IP address must be on the data center side.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"PrivateSourceIp":"192.168.1.1","PrivateDestinationIp":"192.168.0.1"}'], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['title' => 'system param', 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'DiagnoseId' => ['title' => 'DiagnoseId', 'description' => 'The diagnostic ID.'."\n" ."\n" .'After a diagnostic ID is returned, you can call [GetVpnGatewayDiagnoseResult](~~2521963~~) to query the diagnostic report.'."\n", 'type' => 'string', 'example' => 'vpndgn-uf6kuxbe3iv028k3s****'], 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0'], ], 'example' => '', ], ], ], '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.', 'description' => ''], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'OperationUnsupported.DiagnoseVpn', 'errorMessage' => 'Current version of the VPN does not support diagnose.', 'description' => ''], ['errorCode' => 'IllegalParam.ResourceType', 'errorMessage' => 'The specified resource type [%s] is invalid.', 'description' => ''], ['errorCode' => 'OperationFailed.VpnGatewayDiagnosing', 'errorMessage' => 'The VPN gateway is diagnosing.', 'description' => ''], ['errorCode' => 'OperationFailed.StartDiagnose', 'errorMessage' => 'Start VPN gateway diagnose failed.', 'description' => ''], ['errorCode' => 'IllegalParam.PrivateSourceIp', 'errorMessage' => 'The specified private source IP [%s] is invalid.', 'description' => ''], ['errorCode' => 'IllegalParam.PrivateDestinationIp', 'errorMessage' => 'The specified private destination IP [%s] is invalid.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ['errorCode' => 'InvalidResourceId.NotFound', 'errorMessage' => 'The specified resource id [%s] does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::GetVpnGatewayDiagnoseResult', 'callbackInterval' => 3000, 'maxCallbackTimes' => 200], 'title' => 'DiagnoseVpnGateway', 'description' => '仅部分地域下的VPN网关实例支持一键诊断功能。关于地域的更多信息,请参见[VPN网关功能支持的地域](~~430697~~)。', 'changeSet' => [], 'ramActions' => [], '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":""}]', ], 'DisableVpcClassicLink' => [ 'summary' => 'Performs a shutdown of ClassicLink to disable 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' => 'The region ID of the VPC for which you want to disable ClassicLink.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC for which you want to disable ClassicLink.', 'type' => 'string', 'required' => true, 'example' => 'vpc-bp1m7v25emi1h5mtc****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request may be different.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidAction', 'errorMessage' => 'The VPC has been connected to the classic network ECS. Please cancel the connection before proceeding.', 'description' => ''], ['errorCode' => 'IncorrectVpcStatus', 'errorMessage' => 'Current VPC status does not support this operation.', 'description' => ''], ['errorCode' => 'Forbbiden', 'errorMessage' => 'the specified resource does not support this operation.', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'Specified value of "regionId" is not supported.', 'description' => ''], ['errorCode' => 'DependencyViolation.Instance', 'errorMessage' => 'ClassicLink Instances exist in VPC.', 'description' => 'Instances exist in the VPC and the VPC cannot be deleted.'], ], 403 => [ ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'User not authorized to operate on the specified resource.'], ], [ ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'Specified VPC does not exist.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。'], 'title' => 'Disable classicLink', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableVpcClassicLink'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:DisableVpcClassicLink', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","type":"json"}]', ], 'DisassociateMacSecKey' => [ 'methods' => ['post', 'get'], 'schemes' => ['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' => 'The region ID of the Express Connect circuit.'."\n" ."\n" .'You can call the [DescribeRegions](~~448570~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'PhysicalConnectionId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the Express Connect circuit.', 'type' => 'string', 'required' => true, 'example' => 'pc-bp1hp0wr072f6****'."\n"], ], [ 'name' => 'Ckn', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The key name. Only hexadecimal characters are supported. Lowercase characters are automatically converted to uppercase. When the encryption algorithm type is GCM-AES-128 or GCM-AES-XPN-128, the length must be 32 hexadecimal characters. When the encryption algorithm type is GCM-AES-256 or GCM-AES-XPN-256, the length must be 64 hexadecimal characters.', 'type' => 'string', 'required' => true, 'example' => '0123456789ABCDEF0123456789ABCDEF'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D32B3C26-6C6C-4988-93E9-D2A6444CE6AE', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter is invalid.'], ['errorCode' => 'ResourceNotFound.PhysicalConnectionId', 'errorMessage' => 'The specified resource of [%s] is not found.', 'description' => 'The Express Connect circuit does not exist.'], ['errorCode' => 'IncorrectStatus.PhysicalConnection', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The status of the physical connection does not support this operation.'], ['errorCode' => 'IncorrectStatus.PconnMacsec', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The operation is not allowed because the MACSec key is in an unstable state.'], ['errorCode' => 'ResourceNotFound.PconnMacsec', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The Ckn to be disassociated does not exist.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribePhysicalConnections', 'callbackInterval' => 5, 'maxCallbackTimes' => 50], 'title' => 'Dissociate a mACsec key', 'summary' => 'Dissociates a MACsec key from a dedicated Express Connect circuit port.', 'description' => '- If you dissociate a key that is in the Associated state, the most recently activated key is automatically associated.'."\n" .'- If you dissociate a key that is in the Disassociated state, the key is deleted.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D32B3C26-6C6C-4988-93E9-D2A6444CE6AE\\"\\n}","type":"json"}]', ], 'DissociateRouteTableFromGateway' => [ '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' => 'The region ID of the IPv4 gateway from which you want to disassociate the gateway route table.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-southeast-6'], ], [ 'name' => 'RouteTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the gateway route table.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-5ts0ohchwkp3dydt2****'], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" ."\n" .'> If you do not set this parameter, the system automatically uses **RequestId** as **ClientToken**. **RequestId** may be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to only precheck the request. Valid values:'."\n" ."\n" .'* **true**: prechecks the request without performing the operation. The system prechecks the required parameters, request syntax, and limits. If the request fails to pass the precheck, an error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): sends the request. After the request passes the precheck, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'GatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv4 gateway.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****'], ], [ 'name' => 'GatewayType', 'in' => 'query', 'schema' => ['description' => 'The type of a gateway to be disassociated from a route table.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'Ipv4Gateway'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPv4 gateway from which you want to disassociate the gateway route table.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-southeast-6'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned information.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", '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.', 'description' => 'The system failed to disassociate the route table from the gateway because the route table is not associated with the gateway.'], ['errorCode' => 'ResourceNotFound.Ipv4Gateway', 'errorMessage' => 'The specified resource ipv4Gateway is not found.', 'description' => 'The IPv4 gateway is not found and cannot be deleted.'], ['errorCode' => 'IncorrectStatus.Ipv4Gateway', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The IPv4 gateway is in an invalid state. Try again later.'], ['errorCode' => 'ResourceNotFound.GatewayRouteTable', 'errorMessage' => 'The specified resource GatewayRouteTable is not found.', 'description' => 'The gateway route table cannot be found.'], ['errorCode' => 'IncorrectStatus.GatewayRouteTable', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The gateway route table is in an invalid state. Try again later.'], ['errorCode' => 'ResourceNotFound.RouteTable', 'errorMessage' => 'The specified resource gatewayRouteTable is not found.', 'description' => 'The gateway route table does not exist.'], ['errorCode' => 'OperationDenied.RouteTableTypeIncorrect', 'errorMessage' => 'The operation is not allowed because of %s.', 'description' => 'The gateway route table is not a border gateway route table.'], ['errorCode' => 'IncorrectStatus.Ipv6Gateway', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The IPv6 gateway is in an unstable state. Try again later.'], ], ], 'title' => 'DissociateRouteTableFromGateway', 'summary' => 'Disassociates a gateway route table from an IPv4 gateway.', 'changeSet' => [ ['createdAt' => '2023-08-14T02:50:32.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-02T02:19:49.000Z', 'description' => 'OpenAPI offline'], ], 'ramActions' => [], ], 'DissociateRouteTablesFromVpcGatewayEndpoint' => [ 'summary' => 'Disassociates a gateway endpoint from a route table.', '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' => '', 'description' => 'The ID of the gateway endpoint to be disassociated from the route table.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vpce-bp11cwae3p6z7ftbm****'], ], [ 'name' => 'RouteTableIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'title' => '', 'description' => 'The ID of the route table. Valid values of **N** are **1** to **20**, which specifies that you can disassociate a gateway endpoint from at most 20 route tables at a time.'."\n", 'type' => 'array', 'items' => ['description' => 'The ID of the route table.', 'type' => 'string', 'required' => false, 'example' => 'vtb-m5elgtm3aj586iitr****', 'title' => ''], 'required' => true, 'maxItems' => 20, 'example' => 'vtb-m5elgtm3aj586iitr****', ], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The **token** can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" ."\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' => 'TF-DissociateRouteTablesFromVpcGatewayEndpoint-1634369235-8f****'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The region ID of the gateway endpoint.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The returned information.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '30F711D5-E7E2-5D42-A247-0FA7288BEAAA'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.ConcurrentOperation', 'errorMessage' => 'The operation is failed because of concurrent operation.', 'description' => ''], ['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.', 'description' => ''], ['errorCode' => 'ResourceNotFound.GatewayEndpoint', 'errorMessage' => 'The specified resource gateway endpoint is not found.', 'description' => 'The error message returned because the specified gateway endpoint does not exist.'], ['errorCode' => 'IncorrectStatus.GatewayEndpoint', 'errorMessage' => 'The status of GatewayEndpoint [%s] is incorrect.', 'description' => ''], ['errorCode' => 'ResourceNotFound.RouteTable', 'errorMessage' => 'The specified resource routetable is not found.', 'description' => ''], ['errorCode' => 'IncorrectStatus.RouteTable', 'errorMessage' => 'The status of route table [%s] is incorrect.', 'description' => ''], ['errorCode' => 'ResourceNotFound.Association', 'errorMessage' => 'The specified resource gateway endpoint is not associated.', 'description' => ''], ['errorCode' => 'IncorrectStatus.RouteEntry', 'errorMessage' => 'Some route entry status blocked this operation.', 'description' => ''], ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The regionId provided does not exist in our records.', 'description' => 'The RegionId parameter is set to an invalid value. Specify a valid value and try again.'], ['errorCode' => 'IncorrectStatus.CenStatus', 'errorMessage' => 'The CenStatus of Vpc is incorrect.', 'description' => ''], ['errorCode' => 'ResourceNotFound.RouteEntry', 'errorMessage' => 'The specified resource is not found.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::ListVpcGatewayEndpoints', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'DissociateRouteTablesFromVpcGatewayEndpoint', 'changeSet' => [ ['createdAt' => '2021-11-17T03:28:12.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DissociateRouteTablesFromVpcGatewayEndpoint', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'GatewayEndpoint', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:gatewayendpoint/{#GatewayEndpointId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"30F711D5-E7E2-5D42-A247-0FA7288BEAAA\\"\\n}","type":"json"}]', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DissociateRouteTablesFromVpcGatewayEndpoint'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'DissociateVpnGatewayWithCertificate' => [ 'summary' => 'Disassociates a certificate from a VPN gateway.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ '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-hangzhou', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPN gateway.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', 'title' => ''], ], [ 'name' => 'CertificateType', 'in' => 'query', 'schema' => ['description' => 'The certificate type. Valid values:'."\n" ."\n" .'* **Encryption**'."\n" .'* **Signature**'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Encryption', 'title' => ''], ], [ 'name' => 'CertificateId', 'in' => 'query', 'schema' => ['description' => 'The ID of the certificate.'."\n" ."\n" .'> The certificate ID refers to the ID generated after the SSL certificate is associated with the VPN gateway. It is not the ID of the SSL certificate.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '6bfe4218-ea1d****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e*******', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request passes the dry run, the `DryRunOperation` error code is returned. Otherwise, an error message is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.CertificateType', 'errorMessage' => 'The specified certificate type (%s) is invalid.', 'description' => ''], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ['errorCode' => 'InvalidAssociateRelation.NotFound', 'errorMessage' => 'The specified association does not exist.', 'description' => ''], ], 409 => [ ['errorCode' => 'OperationConflict', 'errorMessage' => 'The operation against this instance is too frequent, please try again later.', 'description' => 'Operations are too frequently performed on the instance. Try again later.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 1000, 'maxCallbackTimes' => 30], 'title' => 'DissociateVpnGatewayWithCertificate', 'description' => '* **DissociateVpnGatewayWithCertificate** is an asynchronous operation. After a request is sent, the system returns a request and runs the task in the background. You can call the [DescribeVpnGateway](~~73720~~) operation to query the status the task.'."\n" ."\n" .' * If the VPN gateway is in the **updating** state, the SSL certificate is being disassociated from the VPN gateway.'."\n" .' * If the VPN gateway is in the **active** state, the SSL certificate is disassociated from the VPN gateway.'."\n" ."\n" .'* You cannot repeatedly call **DissociateVpnGatewayWithCertificate** within a specific period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], '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":""}]', ], 'DownloadVpnConnectionConfig' => [ 'summary' => 'Queries the configuration of an IPsec-VPN connection.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the IPsec-VPN connection is created.'."\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', 'title' => ''], ], [ 'name' => 'VpnConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPsec-VPN connection.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vco-bp1bbi27hojx80nck****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '0C68048B-0F70-40DA-B8AE-1B79B5CF62E3', 'title' => ''], 'VpnConnectionConfig' => [ 'description' => 'The configurations of the peer gateway device.'."\n", 'type' => 'object', 'properties' => [ 'Remote' => ['description' => 'The identifier of the VPN gateway.'."\n", 'type' => 'string', 'example' => '116.62.XX.XX', 'title' => ''], 'Local' => ['description' => 'The identifier of the customer gateway.'."\n", 'type' => 'string', 'example' => '139.196.XX.XX', 'title' => ''], 'RemoteSubnet' => ['description' => 'The CIDR block on the virtual private cloud (VPC) side.'."\n", 'type' => 'string', 'example' => '192.168.0.0/16', 'title' => ''], 'LocalSubnet' => ['description' => 'The CIDR block on the data center side.'."\n", 'type' => 'string', 'example' => '10.0.0.0/8', 'title' => ''], 'IkeConfig' => [ 'description' => 'The configurations of Phase 1 negotiations.'."\n", 'type' => 'object', 'properties' => [ 'RemoteId' => ['description' => 'The identifier of the VPN gateway. FQDN and IP formats are supported. The default value is the IP address of the VPN gateway.'."\n", 'type' => 'string', 'example' => '116.62.XX.XX', 'title' => ''], 'IkeLifetime' => ['description' => 'The lifetime in the IKE phase. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], 'IkeEncAlg' => ['description' => 'The encryption algorithm in the IKE phase.'."\n", 'type' => 'string', 'example' => 'aes', 'title' => ''], 'LocalId' => ['description' => 'The identifier of the customer gateway. FQDN and IP formats are supported. The default value is the IP address of the customer gateway.'."\n", 'type' => 'string', 'example' => '139.196.XX.XX', 'title' => ''], 'IkeMode' => ['description' => 'The IKE negotiation mode. Valid values:'."\n" ."\n" .'* **main**: This mode offers higher security during negotiations.'."\n" .'* **aggressive**: This mode is faster and has a higher success rate.'."\n", 'type' => 'string', 'example' => 'main', 'title' => ''], 'IkeVersion' => ['description' => 'The IKE version.'."\n", 'type' => 'string', 'example' => 'ikev2', 'title' => ''], 'IkePfs' => ['description' => 'The DH group in the IKE phase.'."\n", 'type' => 'string', 'example' => 'group2', 'title' => ''], 'Psk' => ['description' => 'The pre-shared key.'."\n", 'type' => 'string', 'example' => 'pgw6dy7d1i8i****', 'title' => ''], 'IkeAuthAlg' => ['description' => 'The authentication algorithm in the IKE phase.'."\n", 'type' => 'string', 'example' => 'sha1', 'title' => ''], ], 'title' => '', 'example' => '', ], 'IpsecConfig' => [ 'description' => 'The configurations of Phase 2 negotiations.'."\n", 'type' => 'object', 'properties' => [ 'IpsecAuthAlg' => ['description' => 'The authentication algorithm in the IPsec phase.'."\n", 'type' => 'string', 'example' => 'sha1', 'title' => ''], 'IpsecEncAlg' => ['description' => 'The encryption algorithm in the IPsec phase.'."\n", 'type' => 'string', 'example' => 'aes', 'title' => ''], 'IpsecLifetime' => ['description' => 'The lifetime in the IPsec phase. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], 'IpsecPfs' => ['description' => 'The DH group in the IPsec phase.'."\n", 'type' => 'string', 'example' => 'group2', 'title' => ''], ], 'title' => '', 'example' => '', ], 'TunnelsConfig' => [ 'items' => [ 'description' => '隧道的配置信息。', 'type' => 'object', 'properties' => [ 'TunnelId' => ['name' => 'TunnelId', 'description' => '隧道ID。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'tun-opsqc4d97wni27****', 'backendName' => 'tunnelId'], 'Local' => ['name' => 'Local', 'description' => '本地IDC侧隧道的标识。', 'visibility' => 'Public', 'type' => 'string', 'example' => '47.21.XX.XX', 'backendName' => 'local'], 'Remote' => ['name' => 'Remote', 'description' => '阿里云侧隧道的标识。', 'visibility' => 'Public', 'type' => 'string', 'example' => '47.24.XX.XX', 'backendName' => 'remote'], 'IkeConfig' => [ 'name' => 'IkeConfig', 'description' => '第一阶段协商的配置信息。 ', 'visibility' => 'Public', 'type' => 'object', 'properties' => [ 'Psk' => ['name' => 'Psk', 'description' => '预共享密钥。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'pgw6dy7d1i8i****', 'backendName' => 'psk'], 'IkeVersion' => ['name' => 'IkeVersion', 'description' => 'IKE协议的版本。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'ikev2', 'backendName' => 'ikeVersion'], 'IkeMode' => ['name' => 'IkeMode', 'description' => 'IKE协商模式。'."\n" ."\n" .'- **main**:主模式,协商过程安全性高。'."\n" .'- **aggressive**:野蛮模式,协商快速且协商成功率高。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'main', 'backendName' => 'ikeMode'], 'IkeEncAlg' => ['name' => 'IkeEncAlg', 'description' => 'IKE阶段加密算法。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'aes', 'backendName' => 'ikeEncAlg'], 'IkeAuthAlg' => ['name' => 'IkeAuthAlg', 'description' => 'IKE阶段认证算法。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'sha1', 'backendName' => 'ikeAuthAlg'], 'IkePfs' => ['name' => 'IkePfs', 'description' => 'IKE阶段DH分组。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'group2', 'backendName' => 'ikePfs'], 'IkeLifetime' => ['name' => 'IkeLifetime', 'description' => 'IKE阶段生存时间。单位:秒。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'backendName' => 'ikeLifetime'], 'LocalId' => ['name' => 'LocalId', 'description' => '本地IDC侧隧道的标识。', 'visibility' => 'Public', 'type' => 'string', 'example' => '47.21.XX.XX', 'backendName' => 'localId'], 'RemoteId' => ['name' => 'RemoteId', 'description' => '阿里云侧隧道的标识。', 'visibility' => 'Public', 'type' => 'string', 'example' => '47.24.XX.XX', 'backendName' => 'remoteId'], ], 'backendName' => 'ikeConfig', ], 'IpsecConfig' => [ 'name' => 'IpsecConfig', 'description' => '第二阶段协商的配置信息。 ', 'visibility' => 'Public', 'type' => 'object', 'properties' => [ 'IpsecAuthAlg' => ['name' => 'IpsecAuthAlg', 'description' => 'IPsec阶段认证算法。', 'type' => 'string', 'example' => 'sha1', 'backendName' => 'ipsecAuthAlg'], 'IpsecEncAlg' => ['name' => 'IpsecEncAlg', 'description' => 'IPsec阶段加密算法。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'aes', 'backendName' => 'ipsecEncAlg'], 'IpsecPfs' => ['name' => 'IpsecPfs', 'description' => 'IPsec阶段DH分组。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'group2', 'backendName' => 'ipsecPfs'], 'IpsecLifetime' => ['name' => 'IpsecLifetime', 'description' => 'IPsec阶段生存时间。单位:秒。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'backendName' => 'ipsecLifetime'], ], 'backendName' => 'ipsecConfig', ], ], 'extendType' => 'true', ], 'type' => 'object', 'description' => '', 'properties' => [ 'TunnelConfig' => [ 'description' => 'Tunnel configuration information for the peer gateway device of the IPsec-VPN connection.'."\n" ."\n" .'Parameters under the **TunnelsConfig** array are returned only for IPsec-VPN connections in dual-tunnel mode.', 'type' => 'array', 'items' => [ 'description' => 'Configuration information of the tunnel.', 'type' => 'object', 'properties' => [ 'TunnelId' => ['description' => 'Tunnel ID.', 'type' => 'string', 'example' => 'tun-opsqc4d97wni27****', 'title' => ''], 'Local' => ['description' => 'Identity of the tunnel on the self-managed data center side.', 'type' => 'string', 'example' => '47.21.XX.XX', 'title' => ''], 'Remote' => ['description' => 'Identity of the tunnel on the Alibaba Cloud side.', 'type' => 'string', 'example' => '47.24.XX.XX', 'title' => ''], 'IkeConfig' => [ 'description' => 'Configuration information for Phase 1 negotiation. ', 'type' => 'object', 'properties' => [ 'Psk' => ['description' => 'Pre-shared key. ', 'type' => 'string', 'example' => 'pgw6dy7d1i8i****', 'title' => ''], 'IkeVersion' => ['description' => 'Version of the IKE protocol. ', 'type' => 'string', 'example' => 'ikev2', 'title' => ''], 'IkeMode' => ['description' => 'IKE negotiation mode. '."\n" ."\n" .'- **main**: Main mode, which provides high security during the negotiation procedure. '."\n" .'- **aggressive**: Aggressive mode, which enables fast negotiation and a high negotiation success rate.', 'type' => 'string', 'example' => 'main', 'title' => ''], 'IkeEncAlg' => ['description' => 'Encryption algorithm for the IKE phase. ', 'type' => 'string', 'example' => 'aes', 'title' => ''], 'IkeAuthAlg' => ['description' => 'Authentication algorithm for the IKE phase. ', 'type' => 'string', 'example' => 'sha1', 'title' => ''], 'IkePfs' => ['description' => 'IKE phase Diffie-Hellman (DH) group. ', 'type' => 'string', 'example' => 'group2', 'title' => ''], 'IkeLifetime' => ['description' => 'IKE phase lifetime. Unit: seconds. ', 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], 'LocalId' => ['description' => 'Identity of the tunnel on the local self-managed data center side. ', 'type' => 'string', 'example' => '47.21.XX.XX', 'title' => ''], 'RemoteId' => ['description' => 'Identity of the tunnel on the Alibaba Cloud side. ', 'type' => 'string', 'example' => '47.24.XX.XX', 'title' => ''], ], 'title' => '', 'example' => '', ], 'IpsecConfig' => [ 'description' => 'Configuration information for Phase 2 negotiation.', 'type' => 'object', 'properties' => [ 'IpsecAuthAlg' => ['description' => 'IPsec authentication algorithm.', 'type' => 'string', 'example' => 'sha1', 'title' => ''], 'IpsecEncAlg' => ['description' => 'IPsec encryption algorithm.', 'type' => 'string', 'example' => 'aes', 'title' => ''], 'IpsecPfs' => ['description' => 'IPsec phase Diffie-Hellman (DH) group.', 'type' => 'string', 'example' => 'group2', 'title' => ''], 'IpsecLifetime' => ['description' => 'IPsec lifetime. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'itemNode' => true, 'title' => '', 'example' => '', ], 'BgpConfigs' => [ 'items' => [ 'type' => 'object', 'properties' => [ 'LocalAsn' => ['name' => 'LocalAsn', 'type' => 'string', 'backendName' => 'localAsn'], 'LocalBgpIp' => ['name' => 'LocalBgpIp', 'type' => 'string', 'backendName' => 'localBgpIp'], 'PeerAsn' => ['name' => 'PeerAsn', 'type' => 'string', 'backendName' => 'peerAsn'], 'PeerBgpIp' => ['name' => 'PeerBgpIp', 'type' => 'string', 'backendName' => 'peerBgpIp'], 'TunnelCidr' => ['name' => 'TunnelCidr', 'type' => 'string', 'backendName' => 'tunnelCidr'], 'TunnelId' => ['name' => 'TunnelId', 'type' => 'string', 'backendName' => 'tunnelId'], ], 'extendType' => 'true', ], 'type' => 'object', 'description' => '', 'properties' => [ 'BgpConfig' => [ 'description' => 'The Border Gateway Protocol (BGP) configuration information. ', 'type' => 'array', 'items' => [ 'description' => 'The Border Gateway Protocol (BGP) configuration information. ', 'type' => 'object', 'properties' => [ 'LocalAsn' => ['description' => 'The autonomous system number of the self-managed data center. ', 'type' => 'string', 'example' => '1219002', 'title' => ''], 'LocalBgpIp' => ['description' => 'The BGP IP address on the self-managed data center side.', 'type' => 'string', 'example' => '169.254.20.2', 'title' => ''], 'PeerAsn' => ['description' => 'The autonomous system number on the Alibaba Cloud side.', 'type' => 'string', 'example' => '1219001', 'title' => ''], 'PeerBgpIp' => ['description' => 'The BGP IP address on the Alibaba Cloud side.', 'type' => 'string', 'example' => '169.254.20.1', 'title' => ''], 'TunnelCidr' => ['description' => 'The BGP CIDR block of the tunnel. ', 'type' => 'string', 'example' => '169.254.20.0/30', 'title' => ''], 'TunnelId' => ['description' => 'The tunnel ID.', 'type' => 'string', 'example' => 'tun-900ghtunmhp75r14wh', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'itemNode' => true, 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', 'errorMessage' => 'The specified vpn connection instance id does not exist.', 'description' => 'The specified vpn connection instance id does not exist.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DownloadVpnConnectionConfig', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-05-23T06:50:35.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-08-01T06:15:53.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-06-13T09:30:08.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'translator' => 'machine', ], 'EnablePhysicalConnection' => [ 'summary' => 'Enables a physical connection in the Confirmed state. After the operation is complete, the connection enters the Enabled state.', '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' => 'The ID of the region where the physical connection is located.'."\n" ."\n" .'You can call `DescribeRegions` to get the latest region IDs.', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'PhysicalConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the physical connection.', 'type' => 'string', 'required' => true, 'example' => 'pc-2zeoaxkq3x****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'A client-generated token that is used to ensure the idempotence of the request.'."\n" ."\n" .'The token must be unique across requests. The token can contain a maximum of 64 ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], [ 'name' => 'ByPassSp', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to bypass the service provider (SP) subscription lifecycle. Valid values:'."\n" ."\n" .'- **true**: Bypasses the SP subscription lifecycle. This means the instance is no longer managed by the Alibaba Cloud subscription system.'."\n" ."\n" .'- **false** (default): Does not bypass the SP subscription lifecycle.'."\n" ."\n" .'> To use this feature, contact your account manager.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '20365164-5b0d-460a-83c2-2189972b3349', 'title' => ''], ], 'description' => 'The response body.', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Forbidden.NotAllowedInState', 'errorMessage' => 'The request does not allow in this state.', 'description' => ''], ['errorCode' => 'INSTANCE.STATUS.NOT.ALLOW', 'errorMessage' => 'Instance status not allow', 'description' => 'The instance in the current state does not support the operation.'], ['errorCode' => 'ALIUID.NOT.ALLOW.WITHOUT.SP', 'errorMessage' => 'AliUid not allow direct enable physical connection', 'description' => 'You are not allowed to use a physical port when you use an Alibaba Cloud UID.'], ['errorCode' => 'ACCESS.DEVICE.NOT.ALLOW.WITHOUT.SP', 'errorMessage' => 'Access device not allow direct enable physical connection', 'description' => 'The access device is not allowed to use a physical port.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidPhysicalConnectionId.NotFound', 'errorMessage' => 'The PhysicalConnectionId provided does not exist in our records.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"20365164-5b0d-460a-83c2-2189972b3349\\"\\n}","type":"json"}]', 'title' => 'EnablePhysicalConnection', 'description' => 'Note the following when you call this API:'."\n" ."\n" .'- You can enable only a physical connection that is in the **Confirmed** state.'."\n" ."\n" .'- After the physical connection is enabled, it enters the **Enabled** state.'."\n" ."\n" .'- This is an asynchronous API call. The system returns a request ID immediately, but the connection is enabled in the background. You can call [DescribePhysicalConnections](~~2982519~~) to query the connection status.'."\n" ."\n" .'- Do not call **EnablePhysicalConnection** concurrently on the same physical connection in the **Confirmed** state.', 'changeSet' => [ ['createdAt' => '2023-08-08T12:57:09.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnablePhysicalConnection'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:EnablePhysicalConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], ], ], 'EnableVpcClassicLink' => [ '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' => 'The region ID of the VPC for which you want to enable ClassicLink.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vpc-bp1m7v25emi1h5mtc****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectVpcStatus', 'errorMessage' => 'Current VPC status does not support this operation.', 'description' => ''], ['errorCode' => 'Forbidden.EnableClassicLink', 'errorMessage' => 'the specified resource does not support this operation.', 'description' => ''], ['errorCode' => 'RouteConflict.AlreadyExist', 'errorMessage' => 'Route conflict exists in routing table.', 'description' => 'Route conflicts exist in the route table.'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'Specified value of "regionId" is not supported.', 'description' => ''], ['errorCode' => 'OperationFailed.RouteConflict', 'errorMessage' => 'Operation failed because a specified route entry is already exist.', 'description' => 'The operation conflicts with an existing route.'], ], 404 => [ ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'Specified VPC does not exist.', 'description' => ''], ], ], 'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。'], 'title' => 'EnableVpcClassicLink', 'summary' => 'Enables ClassicLink for a VPC.', 'changeSet' => [ ['createdAt' => '2023-08-15T09:20:44.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', ], 'EnableVpcIpv4Gateway' => [ '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' => 'The ID of the IPv4 gateway that you want to activate.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ipv4gw-5tsp9lumsxoqizvq2****'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPv4 gateway.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent list of regions.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-southeast-6'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error code is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], [ 'name' => 'RouteTableList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of route tables. The system adds a 0.0.0.0/0 route that points to the IPv4 gateway to the route tables.'."\n", 'type' => 'array', 'items' => ['description' => 'A list of route tables. The system adds a 0.0.0.0/0 route that points to the IPv4 gateway to the route tables. The system supports at most 10 route tables.'."\n" ."\n" .'> The route table and the IPv4 gateway must belong to the same virtual private cloud (VPC).'."\n", 'type' => 'string', 'required' => false, 'example' => 'vtb-5ts0ohchwkp3dydt2****'], 'required' => false, 'maxItems' => 100, ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPv4 gateway.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent list of regions.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-southeast-6'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45'], ], 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'VPC_ROUTE_ENTRY_CIDR_BLOCK_DUPLICATE', 'errorMessage' => 'Specified CIDR block is already exists.', 'description' => ''], ['errorCode' => 'ResourceNotFound.Ipv4Gateway', 'errorMessage' => 'The specified resource ipv4Gateway is not found.', 'description' => 'The IPv4 gateway is not found and cannot be deleted.'], ['errorCode' => 'IncorrectStatus.Ipv4Gateway', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The IPv4 gateway is in an invalid state. Try again later.'], ['errorCode' => 'OperationFailed.Ipv4GatewayAlreadyActive.', 'errorMessage' => 'The operation failed because of ipv4Gateway is already active.', 'description' => ''], ['errorCode' => 'OperationDenied.ConflictOfAllZeroRouting', 'errorMessage' => 'The operation is not allowed because of routetable [%s] exist all-zero route entry.', 'description' => ''], ['errorCode' => 'UnsupportedFeature.Ipv4Gateway', 'errorMessage' => 'The feature of ipv4Gateway is not supported for [%s].', 'description' => 'The system failed to create the IPv4 gateway because IPv4 gateways are not supported.'], ['errorCode' => 'OperationDenied.VpnExist', 'errorMessage' => 'The operation is not allowed because of existing vpn.', 'description' => 'You are not allowed to create an IPv4 gateway because a VPN gateway already exists in the VPC.'], ['errorCode' => 'OperationDenied.NatgatewayExist', 'errorMessage' => 'The operation is not allowed because of existing nat.', 'description' => ''], ['errorCode' => 'OperationDenied.DirectEipExist', 'errorMessage' => 'The operation is not allowed because of existing directEip.', 'description' => 'EIPs are associated with the VPC in cut-through mode or enhanced NAT gateways are deployed in the VPC.'], ['errorCode' => 'OperationDenied.VpcHasAlreadyActive', 'errorMessage' => 'The operation is not allowed because of vpc has already been active.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::GetIpv4GatewayAttribute', 'callbackInterval' => 3, 'maxCallbackTimes' => 10], 'title' => 'EnableVpcIpv4Gateway', 'summary' => 'Activates an IPv4 gateway.', 'description' => '## [](#)Description'."\n" ."\n" .'* **EnableVpcIpv4Gateway** 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 [GetIpv4GatewayAttribute](~~407670~~) operation to query the status of an IPv4 gateway.'."\n" ."\n" .' * If the IPv4 gateway is in the **Activating** state, the IPv4 gateway is being activated.'."\n" .' * If the IPv4 gateway is in the **Created** state, the IPv4 gateway is activated.'."\n" ."\n" .'* You cannot repeatedly call the **EnableVpcIpv4Gateway** operation to activate an IPv4 gateway within the specified period of time.'."\n", 'changeSet' => [ ['createdAt' => '2021-11-02T02:19:49.000Z', 'description' => 'OpenAPI offline'], ], 'ramActions' => [], ], 'GetDhcpOptionsSet' => [ 'summary' => 'Queries a DHCP options set.', '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' => 'The region ID of the DHCP options set that you want to query.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'enumValueTitles' => ['ap-southeast-1' => 'ap-southeast-1'], 'example' => 'cn-hangzhou', 'title' => '', ], ], [ 'name' => 'DhcpOptionsSetId', 'in' => 'query', 'schema' => ['description' => 'The ID of the DHCP options set.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dopt-o6w0df4epg9zo8isy****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The description of the DHCP options set.', 'type' => 'object', 'properties' => [ 'DhcpOptionsSetDescription' => ['description' => 'The description of the DHCP options set.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'Status' => ['description' => 'The status of the DHCP options set. Valid values:'."\n" ."\n" .'* **Available**: available'."\n" .'* **InUse**: in use'."\n" .'* **Deleted**: deleted'."\n" .'* **Pending**: being configured', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], 'DhcpOptionsSetId' => ['description' => 'The ID of the DHCP options set.', 'type' => 'string', 'example' => 'dopt-o6w0df4epg9zo8isy****', 'title' => ''], 'DhcpOptionsSetName' => ['description' => 'The name of the DHCP options set.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'OwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the DHCP options set belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '283117732402483989', 'title' => ''], 'DhcpOptions' => [ 'description' => 'The configuration information about the DHCP options set.', 'type' => 'object', 'properties' => [ 'DomainNameServers' => ['description' => 'The IP address of the DNS server.', 'type' => 'string', 'example' => '192.XX.XX.123', 'title' => ''], 'DomainName' => ['description' => 'The suffix of the hostname.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], 'LeaseTime' => ['description' => 'The lease time of the IPv4 addresses for the DHCP options set.'."\n" ."\n" .'* If you use hours as the unit, valid values are **24h to 1176h** and **87600h to 175200h**. Default value: **87600h**.'."\n" ."\n" .'* If you use days as the unit, valid values are **1d to 49d** and **3650d to 7300d**. Default value: **3650d**.'."\n" ."\n", 'type' => 'string', 'example' => '3650d', 'title' => ''], 'Ipv6LeaseTime' => ['description' => 'The lease time of the IPv6 addresses for the DHCP options set.'."\n" .' '."\n" .'* If you use hours as the unit, Valid values are **24h to 1176h** and **87600h to 175200h**. Default value: **87600h**.'."\n" .'* If you use days as the unit, Valid values are **1d to 49d** and **3650d to 7300d**. Default value: **3650d**.', 'type' => 'string', 'example' => '3650d', 'title' => ''], ], 'title' => '', 'example' => '', ], 'AssociateVpcs' => [ 'description' => 'The information about the virtual private cloud (VPC) that is associated with the DHCP options set.', 'type' => 'array', 'items' => [ 'description' => 'The tag list.'."\n", 'type' => 'object', 'properties' => [ 'AssociateStatus' => ['description' => 'The status of the VPC that is associated with the DHCP options set. Valid values:'."\n" .' '."\n" .'* **InUse**: in use'."\n" .'* **Pending**: being configured', 'type' => 'string', 'example' => 'InUse', 'title' => ''], 'VpcId' => ['description' => 'The ID of the VPC that is associated with the DHCP options set.'."\n", 'type' => 'string', 'example' => 'vpc-eb3b54r6otues4tjj****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'rg-acfmxazb4ph****', 'title' => ''], 'Tags' => [ 'description' => 'The tag list.', 'type' => 'array', 'items' => [ 'description' => 'The tag list.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'CreationTime' => ['description' => 'create time', 'type' => 'string', 'example' => '2025-08-21 ***', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist.', 'description' => 'The specified region does not exist.'], ], ], 'title' => 'GetDhcpOptionsSet', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-03-23T02:20:37.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-10-27T07:35:46.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-11-17T03:03:07.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'translator' => 'manual', ], 'GetFlowLogServiceStatus' => [ 'summary' => 'Calls the GetFlowLogServiceStatus operation to query the activation status of the flow log service.', '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' => '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 ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request may be different.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the flow log.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the flow log.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-06F83A1B457', 'title' => ''], 'Enabled' => ['description' => 'Indicates whether the flow log service is activated. Valid values:'."\n" ."\n" .'- **true**: activated.'."\n" ."\n" .'- **false**: not activated. You can call the [OpenFlowLogService](~~449637~~) operation to activate the flow log service.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'User not authorized to operate on the specified resource.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query the activation status of the flow log service', 'changeSet' => [ ['createdAt' => '2024-07-31T02:45:59.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-08-26T02:44:52.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetFlowLogServiceStatus'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetFlowLogServiceStatus', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'FlowLogService', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:flowlog/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-06F83A1B457\\",\\n \\"Enabled\\": true\\n}","type":"json"}]', ], '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' => 'The region ID of the IPv4 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' => 'ap-southeast-6'], ], [ 'name' => 'Ipv4GatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv4 gateway.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPv4 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' => 'ap-southeast-6'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The details of the IPv4 gateway.'."\n", 'type' => 'object', 'properties' => [ 'VpcId' => ['description' => 'The ID of the VPC with which the IPv4 gateway is associated.'."\n", 'type' => 'string', 'example' => 'vpc-5tsrxlw7dv074gci4****'], 'Status' => ['description' => 'The status of the IPv4 gateway. Valid values:'."\n" ."\n" .'* **Creating**'."\n" .'* **Created**'."\n" .'* **Modifying**'."\n" .'* **Deleting**'."\n" .'* **Deleted**'."\n" .'* **Activating**'."\n", 'type' => 'string', 'example' => 'Created'], 'Ipv4GatewayId' => ['description' => 'The ID of the IPv4 gateway.'."\n", 'type' => 'string', 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****'], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '7F79A919-6FE9-50C4-967B-45705E1F9C38'], 'Ipv4GatewayDescription' => ['description' => 'The description of the IPv4 gateway.'."\n", 'type' => 'string', 'example' => 'new'], 'Enabled' => ['description' => 'Indicates whether the IPv4 gateway is activated. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true'], 'Ipv4GatewayRouteTableId' => ['description' => 'The ID of the route table associated with the IPv4 gateway.'."\n", 'type' => 'string', 'example' => 'vtb-5ts0ohchwkp3dydt2****'], 'Ipv4GatewayName' => ['description' => 'The name of the IPv4 gateway.'."\n", 'type' => 'string', 'example' => 'name'], 'CreateTime' => ['description' => 'The time when the IPv4 gateway was created.'."\n", 'type' => 'string', 'example' => '2022-02-24T09:02:36Z'], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the IPv4 gateway belongs.'."\n", 'type' => 'string', 'example' => 'rg-bp67acfmxazb4ph****'], 'Tags' => [ 'description' => 'The tag list.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N added to the resource.'."\n", 'type' => 'string', 'example' => 'FinanceDept'], 'Value' => ['description' => 'The value of tag N added to the resource.'."\n", 'type' => 'string', 'example' => 'FinanceJoshua'], ], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.Ipv4Gateway', 'errorMessage' => 'The specified resource ipv4Gateway is not found.', 'description' => 'The IPv4 gateway is not found and cannot be deleted.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GetIpv4GatewayAttribute', 'summary' => 'Queries an IPv4 gateway.', 'changeSet' => [ ['createdAt' => '2025-02-08T07:51:59.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-12-29T04:10:07.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-11-02T02:19:49.000Z', 'description' => 'OpenAPI offline'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetIpv4GatewayAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv4Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv4gateway/{#Ipv4GatewayId}'], ], ], ], ], ], 'GetNatGatewayAttribute' => [ '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' => 'The region ID of the NAT gateway.'."\n" ."\n" .'Call the [DescribeRegions](~~448570~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ 'name' => 'NatGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the NAT gateway.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ngw-bp1b0lic8uz4r6vf2****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the NAT gateway.'."\n" ."\n" .'Call the [DescribeRegions](~~448570~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'VpcId' => ['description' => 'The ID of the VPC to which the NAT Gateway instance belongs.', 'type' => 'string', 'example' => 'vpc-bp15zckdt37pq72z****', 'title' => ''], 'CreationTime' => ['description' => 'The creation time of the NAT Gateway instance. The time is in the `YYYY-MM-DDThh:mm:ssZ` format.', 'type' => 'string', 'example' => '2021-12-08T12:20:20Z', 'title' => ''], 'Status' => ['description' => 'The status of the NAT Gateway instance. Valid values:'."\n" ."\n" .'- **Creating**: Being created. This is an asynchronous operation.'."\n" ."\n" .'- **Available**: Available. This is the steady state of the NAT Gateway after creation.'."\n" ."\n" .'- **Modifying**: Being modified. This is an asynchronous operation.'."\n" ."\n" .'- **Deleting**: Being deleted. This is an asynchronous operation.'."\n" ."\n" .'- **Converting**: Being converted to an Enhanced NAT Gateway. This is an asynchronous operation.', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'NatType' => ['description' => 'The type of the public NAT gateway. The value **Enhanced** indicates an Enhanced NAT Gateway.', 'type' => 'string', 'example' => 'Enhanced', 'title' => ''], 'NetworkType' => ['description' => 'The type of the NAT Gateway. Valid values:'."\n" ."\n" .'- **internet**: A public NAT gateway.'."\n" ."\n" .'- **intranet**: A VPC NAT Gateway.', 'type' => 'string', 'example' => 'internet', 'title' => ''], 'RegionId' => ['description' => 'The region ID of the NAT Gateway instance.', 'type' => 'string', 'example' => 'cn-qingdao', 'title' => ''], 'EcsMetricEnabled' => ['description' => 'Indicates whether the gateway traffic monitoring feature is enabled. Valid values:'."\n" ."\n" .'- **true**: Enabled.'."\n" ."\n" .'- **false**: Disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], 'Description' => ['description' => 'The description of the NAT Gateway instance.', 'type' => 'string', 'example' => 'NAT', 'title' => ''], 'ExpiredTime' => ['description' => 'The expiration time of the NAT Gateway instance.', 'type' => 'string', 'example' => '2021-12-26T12:20:20Z', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], 'NatGatewayId' => ['description' => 'The ID of the NAT Gateway instance.', 'type' => 'string', 'example' => 'ngw-bp1047e2d4z7kf2ki****', 'title' => ''], 'BusinessStatus' => ['description' => 'The business status of the NAT Gateway instance. Valid values:'."\n" ."\n" .'- **Normal**: The instance is running normally.'."\n" ."\n" .'- **FinancialLocked**: The instance is suspended due to an overdue payment.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'Name' => ['description' => 'The name of the NAT Gateway instance.', 'type' => 'string', 'example' => 'abc', 'title' => ''], 'ForwardTable' => [ 'description' => 'Information about the DNAT table.', 'type' => 'object', 'properties' => [ 'ForwardTableId' => ['description' => 'The ID of the DNAT table.', 'type' => 'string', 'example' => 'ftb-uf6gj3mhsg94qsqst****', 'title' => ''], 'ForwardEntryCount' => ['description' => 'The number of DNAT entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], ], 'title' => '', 'example' => '', ], 'SnatTable' => [ 'description' => 'Information about the SNAT table.', 'type' => 'object', 'properties' => [ 'SnatEntryCount' => ['description' => 'The number of SNAT entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'SnatTableId' => ['description' => 'The ID of the SNAT table.', 'type' => 'string', 'example' => 'stb-SnatTableIds****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'FullNatTable' => [ 'description' => 'Information about the FULLNAT table.', 'type' => 'object', 'properties' => [ 'FullNatEntryCount' => ['description' => 'The number of FULLNAT entries.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], 'FullNatTableId' => ['description' => 'The ID of the FULLNAT table.', 'type' => 'string', 'example' => 'fulltb-gw88z7hhlv43rmb26****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'BillingConfig' => [ 'description' => 'The billing configuration.', 'type' => 'object', 'properties' => [ 'InternetChargeType' => ['description' => 'The billing method of the NAT Gateway instance. Valid values:'."\n" ."\n" .'- **PayBySpec**: billed by specification.'."\n" ."\n" .'- **PayByLcu**: billed by usage.', 'type' => 'string', 'example' => 'PayBySpec', 'title' => ''], 'AutoPay' => ['description' => 'Indicates whether auto-payment is enabled. This parameter is returned only if **InstanceChargeType** is set to **PrePaid**. Valid values:'."\n" ."\n" .'- **false**: Auto-payment is disabled. After an order is generated, the payment must be completed in the Orders console.'."\n" ."\n" .'- **true**: Auto-payment is enabled. Payments are automatically completed.'."\n" ."\n" .'If **InstanceChargeType** is set to **PostPaid**, an empty string is returned.', 'type' => 'string', 'example' => 'false', 'title' => ''], 'Spec' => ['description' => 'The specification of the public NAT gateway instance. This parameter is returned only if **InternetChargeType** is set to **PayBySpec**. Valid values:'."\n" ."\n" .'- **Small**'."\n" ."\n" .'- **Middle**'."\n" ."\n" .'- **Large**', 'type' => 'string', 'example' => 'Small', 'title' => ''], 'InstanceChargeType' => ['description' => ''."\n" ."\n" .'The billing method of the NAT Gateway instance. Valid values:'."\n" ."\n" .''."\n" ."\n" .''."\n" ."\n" .'- **PostPaid**: pay-as-you-go.'."\n" ."\n" .''."\n" ."\n" .''."\n" ."\n" .'- **PrePaid**: subscription.'."\n" ."\n" .''."\n" ."\n\n" .''."\n" ."\n" .'The billing method of the NAT Gateway instance. The value is **PostPaid** (pay-as-you-go).'."\n" ."\n" .'', 'type' => 'string', 'example' => 'PostPaid', 'title' => ''], ], 'title' => '', 'example' => '', ], 'PrivateInfo' => [ 'description' => 'The private network information about the NAT Gateway instance.', 'type' => 'object', 'properties' => [ 'MaxBandwidth' => ['description' => 'The maximum bandwidth, in Mbps.', 'type' => 'integer', 'format' => 'int32', 'example' => '5120', 'title' => ''], 'VswitchId' => ['description' => 'The ID of the vSwitch to which the NAT Gateway instance belongs.', 'type' => 'string', 'example' => 'vsw-bp1s2laxhdf9ayjbo***', 'title' => ''], 'PrivateIpAddress' => ['description' => 'The private IP address.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''], 'IzNo' => ['description' => 'The ID of the availability zone to which the NAT Gateway instance belongs.', 'type' => 'string', 'example' => 'cn-qingdao-b', 'title' => ''], 'EniInstanceId' => ['description' => 'The ID of the elastic network interface instance.', 'type' => 'string', 'example' => 'eni-bp1cmgtoaka8vfyg****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'DeletionProtectionInfo' => [ 'description' => 'Information about the deletion protection feature.', 'type' => 'object', 'properties' => [ 'Enabled' => ['description' => 'Indicates whether deletion protection is enabled.'."\n" ."\n" .'- **true**'."\n" ."\n" .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'title' => '', 'example' => '', ], 'IpList' => [ 'description' => 'The Elastic IP Addresses (EIPs) that are associated with the public NAT gateway.', 'type' => 'array', 'items' => [ 'description' => 'The EIPs that are associated with the public NAT gateway.', 'type' => 'object', 'properties' => [ 'UsingStatus' => ['description' => 'The usage status of the EIP.'."\n" ."\n" .'- **Idle**: Not associated with an SNAT entry or a DNAT entry.'."\n" ."\n" .'- **UsedBySnat**: Associated with an SNAT entry.'."\n" ."\n" .'- **UsedByForward**: Associated with a DNAT entry.', 'type' => 'string', 'example' => 'idle', 'title' => ''], 'IpAddress' => ['description' => 'The EIP address.', 'type' => 'string', 'example' => '116.33.XX.XX', 'title' => ''], 'AllocationId' => ['description' => 'The ID of the EIP instance.', 'type' => 'string', 'example' => 'eip-bp13e9i2qst4g6jzi****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'PrivateLinkEnabled' => ['description' => 'Indicates whether PrivateLink is supported. Valid values:'."\n" ."\n" .'- **true**: PrivateLink is supported.'."\n" ."\n" .'- **false**: PrivateLink is not supported.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], 'PrivateLinkMode' => ['description' => 'The mode of the PrivateLink service. Valid values:'."\n" ."\n" .'- **FullNat**: FULLNAT mode.'."\n" ."\n" .'- **Geneve**: Geneve mode.', 'type' => 'string', 'title' => '', 'example' => 'FullNat'], 'EnableSessionLog' => ['description' => 'Indicates whether session logging is enabled. Valid values:'."\n" ."\n" .'- **true**'."\n" ."\n" .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'LogDelivery' => [ 'description' => 'The session log delivery settings.', 'type' => 'object', 'properties' => [ 'LogDeliveryType' => ['description' => 'The destination to which session logs are delivered. The value is always'."\n" .'**sls**, which indicates Log Service.', 'type' => 'string', 'example' => 'sls', 'title' => ''], 'LogDestination' => ['description' => 'The Log Service Logstore to which session logs are delivered.', 'type' => 'string', 'example' => 'acs:log:cn-hangzhou:0000:project/nat_session_log_project/logstore/session_log_test', 'title' => ''], 'DeliveryStatus' => ['description' => 'The status of log delivery. Valid values:'."\n" ."\n" .'- **Success**: The logs are delivered successfully.'."\n" ."\n" .'- **Failure**: The logs failed to be delivered.', 'type' => 'string', 'example' => 'Failure', 'title' => ''], 'DeliverLogsErrorMessage' => ['description' => 'The error message that is returned when log delivery fails.', 'type' => 'string', 'example' => 'LogStoreNotExist: logstore session_log_test does not exist', 'title' => ''], ], 'title' => '', 'example' => '', ], 'AccessMode' => [ 'description' => 'The access mode of the VPC NAT Gateway.', 'type' => 'object', 'properties' => [ 'ModeValue' => ['description' => 'The access mode. Valid values:'."\n" ."\n" .'- **route**: route mode.'."\n" ."\n" .'- **tunnel**: tunnel mode.', 'type' => 'string', 'example' => 'route', 'title' => ''], 'TunnelType' => ['description' => 'The tunnel type. This parameter is returned only when `ModeValue` is set to `tunnel`. Valid value:'."\n" ."\n" .'- **geneve**: Geneve.', 'type' => 'string', 'example' => 'geneve', 'title' => ''], ], 'title' => '', 'example' => '', ], 'AvailabilityMode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ], ], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], 'title' => 'GetNatGatewayAttribute', 'summary' => 'Queries the details of a NAT gateway instance.', 'description' => 'Queries a public NAT gateway or VPC NAT gateway. In this topic, NAT Gateway refers to either type.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-10-23T06:17:18.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-05-07T06:31:14.000Z', 'description' => 'Response parameters changed, Response parameters changed'], ['createdAt' => '2023-03-01T06:45:50.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetNatGatewayAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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 \\"AvailabilityMode\\": \\"\\"\\n}","type":"json"}]', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetNatGatewayAttribute'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'GetNatIpAttribute' => [ 'summary' => 'Call GetNatIpAttribute to query the VPC NAT network to obtain information on each NAT IP address.', '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' => 'The region ID of the NAT gateway instance to which the NAT IP address to be queried belongs. You can obtain the region ID by calling the [DescribeRegions](~~36063~~) interface.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-central-1', 'title' => ''], ], [ 'name' => 'NatIpId', 'in' => 'query', 'schema' => ['description' => 'The ID of the NAT IP address instance to be queried.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpcnatip-gw8y7q3cpk3fggs87****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Indicates whether to perform a dry run of the request. Values:'."\n" .'- **true**: Sends a check request without querying NAT IP address information. The checks include whether the AccessKey is valid, the RAM user\'s authorization status, and if all required parameters are filled out. If any check fails, the corresponding error is returned. If all checks pass, the `DryRunOperation` error code is returned.'."\n" .'- **false** (default): Sends a normal request. After passing the checks, it returns an HTTP 2xx status code and queries the NAT IP address information.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'Client Token, used to ensure the idempotence of requests. Generate a unique value for this parameter from your client, ensuring that it is unique across different requests. ClientToken only supports ASCII characters. If not specified, the system automatically uses the **RequestId** of the API request as the **ClientToken** identifier. The **RequestId** may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the NAT gateway instance to which the NAT IP address to be queried belongs. You can obtain the region ID by calling the [DescribeRegions](~~36063~~) interface.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-central-1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ 'CreationTime' => ['description' => 'The creation time of the queried NAT IP address.', 'type' => 'string', 'example' => '2021-07-16T16:47Z', 'title' => ''], 'NatIp' => ['description' => 'The queried NAT IP address.', 'type' => 'string', 'example' => '192.168.0.34', 'title' => ''], 'NatIpCidr' => ['description' => 'The address range where the queried NAT IP address is located.', 'type' => 'string', 'example' => '192.168.0.0/24', 'title' => ''], 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '9D55DB90-0D57-46AB-841D-1D4238514AC6', 'title' => ''], 'NatIpId' => ['description' => 'The ID of the queried NAT IP address instance.', 'type' => 'string', 'example' => 'vpcnatip-gw8y7q3cpk3fggs87****', 'title' => ''], 'NatIpDescription' => ['description' => 'Description of the queried NAT IP address.', 'type' => 'string', 'example' => '123', 'title' => ''], 'NatGatewayId' => ['description' => 'The ID of the VPC NAT gateway instance to which the queried NAT IP address belongs.', 'type' => 'string', 'example' => 'ngw-gw8v16wgvtq26vh59****', 'title' => ''], 'NatIpName' => ['description' => 'Name of the queried NAT IP address.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'NatIpStatus' => ['description' => 'The status of the queried NAT IP address. Values:'."\n" .'- **Available**: Available.'."\n" .' - **Deleting**: Deleting.'."\n" .' - **Creating**: Creating.', 'type' => 'string', 'example' => 'Available', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ], ], 'title' => '查看单个NAT IP地址详细信息', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CreationTime\\": \\"2021-07-16T16:47Z\\",\\n \\"NatIp\\": \\"192.168.0.34\\",\\n \\"NatIpCidr\\": \\"192.168.0.0/24\\",\\n \\"RequestId\\": \\"9D55DB90-0D57-46AB-841D-1D4238514AC6\\",\\n \\"NatIpId\\": \\"vpcnatip-gw8y7q3cpk3fggs87****\\",\\n \\"NatIpDescription\\": \\"123\\",\\n \\"NatGatewayId\\": \\"ngw-gw8v16wgvtq26vh59****\\",\\n \\"NatIpName\\": \\"test\\",\\n \\"NatIpStatus\\": \\"Available\\"\\n}","type":"json"}]', ], 'GetNatIpCidrAttribute' => [ 'summary' => 'Call GetNatIpCidrAttribute to query the VPC NAT network to obtain information on each NAT IP cidr address.', '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' => 'The region ID of the NAT gateway instance to which the NAT IP address range to be queried belongs. You can obtain the region ID by calling the DescribeRegions interface.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-central-1', 'title' => ''], ], [ 'name' => 'NatIpCidr', 'in' => 'query', 'schema' => ['description' => 'The NAT IP address range to be queried.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '192.168.0.0/24', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Whether to perform a dry run of this request. Values:'."\n" .'- true: Sends a check request. The checks include whether the AccessKey is valid, the RAM user\'s authorization status, and if all required parameters are filled out. If any check fails, the corresponding error is returned. If all checks pass, an error code DryRunOperation is returned.'."\n" .'- false (default): Sends a normal request. After passing the checks, a 2xx HTTP status code is returned.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'Client Token, used to ensure the idempotence of requests. Generate a unique value for this parameter from your client, ensuring it is unique across different requests. ClientToken only supports ASCII characters.'."\n" .'> If not specified, the system automatically uses the RequestId of the API request as the ClientToken identifier. The RequestId is different for each API request.', 'type' => 'string', 'required' => false, 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', 'title' => ''], ], [ 'name' => 'NatGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC NAT gateway instance to which the queried NAT IP address range belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ngw-gw8v16wgvtq26vh59****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the NAT gateway instance to which the NAT IP address range to be queried belongs. You can obtain the region ID by calling the DescribeRegions interface.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-central-1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'NatIpCidrId' => ['description' => 'The instance ID of the queried NAT IP address range.', 'type' => 'string', 'example' => 'vpcnatcidr-gw8lhqtvdn4qnea****', 'title' => ''], 'NatIpCidr' => ['description' => 'The queried NAT IP address range.', 'type' => 'string', 'example' => '172.16.0.0/24', 'title' => ''], 'NatIpCidrName' => ['description' => 'The name of the queried NAT IP address range.', 'type' => 'string', 'example' => 'default', 'title' => ''], 'NatIpCidrStatus' => ['description' => 'The status of the queried NAT IP address segment. Values:'."\n" .'- Available: Available status.'."\n" .'- Deleting: In the process of being deleted.'."\n" .'- Creating: In the process of being created.', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => 'E9AD97A0-5338-43F8-8A80-5E274CCBA11B', 'title' => ''], 'NatGatewayId' => ['description' => 'The ID of the VPC NAT gateway instance to which the queried NAT IP address range belongs.', 'type' => 'string', 'example' => 'ngw-gw8v16wgvtq26vh59****', 'title' => ''], 'NatIpCidrDescription' => ['description' => 'Description of the queried NAT IP address range.', 'type' => 'string', 'example' => 'default', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ], ], 'title' => '查看单个NAT IP地址段详细信息', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NatIpCidrId\\": \\"vpcnatcidr-gw8lhqtvdn4qnea****\\",\\n \\"NatIpCidr\\": \\"172.16.0.0/24\\",\\n \\"NatIpCidrName\\": \\"default\\",\\n \\"NatIpCidrStatus\\": \\"Available\\",\\n \\"RequestId\\": \\"E9AD97A0-5338-43F8-8A80-5E274CCBA11B\\",\\n \\"NatGatewayId\\": \\"ngw-gw8v16wgvtq26vh59****\\",\\n \\"NatIpCidrDescription\\": \\"default\\"\\n}","type":"json"}]', ], 'GetPhysicalConnectionServiceStatus' => [ 'summary' => 'Checks whether outbound data transfer billing is enabled for the current account.', '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' => 'The ID of the region for which you want to query the status of outbound data transfer billing.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", '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' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45'], 'Enabled' => ['title' => '', 'description' => 'Indicates whether billing for outbound data transfer is enabled. Valid values:'."\n" ."\n" .'* **true**: yes'."\n" .'* **false**: no'."\n", 'type' => 'boolean', 'example' => 'true'], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GetPhysicalConnectionServiceStatus', 'description' => 'You can call this API operation to query the status of outbound data transfer billing for the current account. For more information about outbound data transfer billing, see [Outbound data transfer billing](~~274385~~) and [Billing](~~54582~~).', 'changeSet' => [ ['createdAt' => '2021-07-02T03:18:37.000Z', 'description' => 'OpenAPI offline'], ], 'ramActions' => [], '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":""}]', ], 'GetPublicIpAddressPoolServiceStatus' => [ 'summary' => 'Queries whether the IP address pool feature is enabled.', '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' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655442455', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IP address pool.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IP address pool.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-06F82A1B457', 'title' => ''], 'Enabled' => ['description' => 'Indicates whether the IP address pool feature is enabled. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false** You can call OpenPublicIpAddressPoolService to enable the IP address pool feature.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], '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.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GetPublicIpAddressPoolServiceStatus', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-06F82A1B457\\",\\n \\"Enabled\\": true\\n}","type":"json"}]', ], 'GetRouteTargetGroup' => [ 'summary' => 'Get the route target group', 'description' => 'Get the information of the route target group instance.', '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 of the route target group member instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rtg-xxxx', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'ID of the region to which the route target group belongs. You can obtain the region ID by calling the DescribeRegions interface.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'Client token, used to ensure idempotence of the request.'."\n" ."\n" .'Generate a parameter value from your client and ensure that it is unique across different requests. ClientToken only supports ASCII characters.'."\n" ."\n" .'> If you do not specify this, the system automatically uses the **RequestId** of the API request as the **ClientToken** identifier. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'Tag information.', 'type' => 'array', 'items' => [ 'description' => 'Collection of resource tags.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'Resource tag key. Up to 20 tag keys are supported. If you need to pass this value, you cannot input an empty string.'."\n" ."\n" .'A tag key can have up to 128 characters and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'Resource tag value. Up to 20 tag values are supported. If you need to pass this value, you can input an empty string.'."\n" ."\n" .'A tag value can have up to 128 characters and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'RouteTargetGroupId' => ['description' => 'ID of the route target group instance.', 'type' => 'string', 'example' => 'rtg-xxxx', 'title' => ''], 'RouteTargetGroupName' => ['description' => 'Name of the route target group.', 'type' => 'string', 'example' => 'myRouteTargetGroupName', 'title' => ''], 'RouteTargetGroupDescription' => ['description' => 'Description of the route target group.', 'type' => 'string', 'example' => 'myRouteTargetGroupDescription', 'title' => ''], 'VpcId' => ['description' => 'ID of the VPC to which the route target group belongs.', 'type' => 'string', 'example' => 'vpc-xxxx', 'title' => ''], 'ConfigMode' => [ 'description' => 'Configuration mode of the route target group. Supported modes are as follows:'."\n" ."\n" .'- **Active-Standby**: Active-standby mode.', 'enumValueTitles' => ['Active-Standby' => 'Active-Standby'], 'type' => 'string', 'example' => 'Active-Standby', 'title' => '', ], 'Status' => [ 'description' => 'The status of the route target group. Values:'."\n" .'- **Recovering**: In the process of switching back to the primary '."\n" .'- **Switched**: The primary and secondary have been switched '."\n" .'- **Available**: Available '."\n" .'- **Abnormal**: Secondary instance is abnormal '."\n" .'- **Pending**: In the process of being created '."\n" .'- **Switching**: In the process of switching between primary and secondary '."\n" .'- **Deleting**: In the process of being deleted '."\n" .'- **Unavailable**: Both primary and secondary instances are abnormal', 'enumValueTitles' => ['Recovering' => 'Recovering', 'Switched' => 'Switched', 'Available' => 'Available', 'Abnormal' => 'Abnormal', 'Pending' => 'Pending', 'Switching' => 'Switching', 'Deleting' => 'Deleting', 'Unavailable' => 'Unavailable'], 'type' => 'string', 'example' => 'Available', 'title' => '', ], 'RouteTargetMemberList' => [ 'description' => 'List of members in the route target group.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'MemberId' => ['description' => 'ID of the route target group member instance.', 'type' => 'string', 'example' => 'ep-xxxx', 'title' => ''], 'MemberType' => [ 'description' => 'Type of the route target group member.'."\n" ."\n" .'Currently supported types:'."\n" ."\n" .'- **GatewayLoadBalancerEndpoint**', 'enumValueTitles' => ['GatewayLoadBalancerEndpoint' => 'GatewayLoadBalancerEndpoint'], 'type' => 'string', 'example' => 'GatewayLoadBalancerEndpoint', 'title' => '', ], 'Weight' => [ 'description' => 'Weight value of the route target group member. Values:'."\n" ."\n" .'- **100**: Indicates the member is the primary instance.'."\n" .'- **0**: Indicates the member is the standby instance.'."\n" ."\n" .'The weight value can only be set during creation and cannot be modified.', 'enumValueTitles' => ['0', 100 => '100'], 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => '', ], 'HealthCheckStatus' => [ 'description' => 'Route target group member health check status. Values:'."\n" .'- **Normal**: Normal '."\n" .'- **Abnormal**: Abnormal', 'enumValueTitles' => ['Normal' => 'Normal', 'Abnormal' => 'Abnormal'], 'type' => 'string', 'example' => 'Normal', 'title' => '', ], 'EnableStatus' => [ 'description' => 'The enable status of the route target group member. Values:'."\n" ."\n" .'- **Enable**: Enabled.'."\n" .'- **Disable**: Disabled.'."\n" ."\n" .'Only disabled route target group members can be modified to other instances. Enabled route target group members cannot be modified.', 'enumValueTitles' => ['Enable' => 'Enable', 'Disable' => 'Disable'], 'type' => 'string', 'example' => 'Enable', 'title' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'Tags' => [ 'description' => 'Tags of the route target group.', 'type' => 'array', 'items' => [ 'description' => 'Resource tags.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'Tag key.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'Tag value.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'RegionId' => ['description' => 'The region ID of the VPC to which the route target group belongs. You can obtain the region ID by calling the DescribeRegions interface.', 'type' => 'string', 'example' => 'cn-qingdao', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1AE05898-06E5-4782-xxxxx', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the route target group belongs.', 'type' => 'string', 'example' => 'rg-acfmxazdjdhd****', 'title' => ''], 'CreateTime' => ['description' => 'The time when the route target group was created.', 'type' => 'string', 'example' => '2025-12-30T06:40:50Z', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.RouteTargetGroup', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The specified resource% s does not exist.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GetRouteTargetGroup', 'changeSet' => [], 'ramActions' => [], '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"}]', 'translator' => 'manual', ], 'GetTrafficMirrorServiceStatus' => [ 'summary' => 'Queries the status of the traffic mirror feature.', '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' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The **client token** can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region to which the mirrored traffic belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region to which the mirrored traffic belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'Enabled' => ['description' => 'Indicates whether the traffic mirror feature is enabled. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '37626066-2C6C-4B62-ADD3-498920C409C5', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'User not authorized to operate on the specified resource.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Enabled\\": true,\\n \\"RequestId\\": \\"37626066-2C6C-4B62-ADD3-498920C409C5\\"\\n}","type":"json"}]', 'title' => 'GetTrafficMirrorServiceStatus', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-07-31T02:45:59.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-16T02:03:28.000Z', 'description' => 'Request parameters changed, Error codes changed'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetTrafficMirrorServiceStatus', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetTrafficMirrorServiceStatus'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'GetVSwitchCidrReservationUsage' => [ 'summary' => 'Queries the usage of a prefix list.', 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'VSwitchCidrReservationId', 'in' => 'query', 'schema' => ['description' => 'The ID of the reserved CIDR block.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vcr-bp1m12saqteraw3rp****', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* You do not need to specify this parameter for the first request.'."\n" .'* If a value is returned for NextToken, specify the value in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: **1** to **100**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The region ID of the vSwitch.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45'], 'NextToken' => ['description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* If **NextToken** is empty, no next page exists.'."\n" .'* If a value is returned for **NextToken**, the value is the token that determines the start point of the next query.'."\n", 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], 'MaxResults' => ['description' => 'The number of entries to return per page.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], 'CidrReservationUsages' => [ 'description' => 'A list of reserved CIDR blocks that are in use.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'VSwitchCidrReservationId' => ['title' => '', 'description' => 'The ID of the reserved CIDR block.'."\n", 'type' => 'string', 'example' => 'vcr-bp1m12saqteraw3rp****'], 'VSwitchId' => ['title' => '', 'description' => 'The ID of the vSwitch to which the reserved CIDR block belongs.'."\n", 'type' => 'string', 'example' => 'vsw-25navfgbue4g****'], 'ResourceId' => ['title' => '', 'description' => 'The ID of the elastic network interface (ENI) whose CIDR block is allocated from the reserved CIDR block.'."\n", 'type' => 'string', 'example' => 'eni-bp14v2sdd3v8htln****'], 'ResourceType' => ['title' => '', 'description' => 'The type of the resource to which a CIDR block is allocated from the reserved CIDR block. Only **NetworkInterface** may be returned, which indicates an ENI.'."\n", 'type' => 'string', 'example' => 'NetworkInterface'], 'IpPrefixId' => ['title' => '', 'description' => 'The ID of the reserved CIDR block.'."\n", 'type' => 'string', 'example' => 'vcr-bp1m12saqteraw3rp****'], 'IpPrefixCidr' => ['description' => 'The CIDR block allocated to the ENI from the reserved CIDR block.'."\n", 'type' => 'string', 'example' => '192.168.1.64/28', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The specified NextToken is invalid.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.CidrReservation', 'errorMessage' => 'The specified resource of VSwitchCidrReservation is not found.', 'description' => 'The error message returned because VSwitchCidrReservation is set to an invalid value.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GetVSwitchCidrReservationUsage', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetVSwitchCidrReservationUsage', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitchCidrReservation', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitchcidrreservation/{#VSwitchCidrReservationId}'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetVSwitchCidrReservationUsage'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], '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":""}]', ], 'GetVpcGatewayEndpointAttribute' => [ 'summary' => 'Queries the attributes of a gateway endpoint.', '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' => '', 'description' => 'The ID of the gateway endpoint.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vpce-bp1w1dmdqjpwul0v3****'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The region ID of the gateway endpoint.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'A1122D0F-7B3B-5445-BB19-17F27F97FE1C'], 'EndpointId' => ['description' => 'The ID of the gateway endpoint.'."\n", 'type' => 'string', 'example' => 'vpce-bp1w1dmdqjpwul0v3****', 'title' => ''], 'EndpointName' => ['description' => 'The name of the gateway endpoint.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'EndpointDescription' => ['description' => 'The description of the gateway endpoint.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'ServiceName' => ['description' => 'The name of the endpoint service.'."\n", 'type' => 'string', 'example' => 'com.aliyun.cn-hangzhou.oss', 'title' => ''], 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC) to which the gateway endpoint belongs.'."\n", 'type' => 'string', 'example' => 'vpc-bp1nh86rugg01zol0****', 'title' => ''], 'PolicyDocument' => ['description' => 'The access policy for the cloud service.'."\n", 'type' => 'string', 'example' => '{"Version" : "1", "Statement" : [ { "Effect" : "Allow", "Resource" : [ "*" ], "Action" : [ "*" ], "Principal" : [ "*" ] } ] }', 'title' => ''], 'CreationTime' => ['description' => 'The time when the endpoint was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2021-08-27T01:58:37Z', 'title' => ''], 'EndpointStatus' => ['description' => 'The status of the gateway endpoint. Valid values:'."\n" ."\n" .'* **Creating**'."\n" .'* **Created**'."\n" .'* **Modifying**'."\n" .'* **Associating**'."\n" .'* **Dissociating**'."\n" .'* **Deleting**'."\n", 'type' => 'string', 'example' => 'Created', 'title' => ''], 'RouteTables' => [ 'description' => 'The ID of the route table associated with the gateway endpoint.'."\n", 'type' => 'array', 'items' => ['description' => 'The ID of the route table associated with the gateway endpoint.'."\n", 'type' => 'string', 'example' => '["vtb-bp1s6g17997knk6a3****", "vtb-bp12qsdjwm37kv679****"]', 'title' => ''], 'title' => '', 'example' => '', ], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the gateway endpoint belongs.'."\n", 'type' => 'string', 'example' => 'rg-acfmxvfvazb4p****', 'title' => ''], 'Tags' => [ 'description' => 'The tag list.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N added to the resource.'."\n", 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of tag N added to the resource.'."\n", 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.GatewayEndpoint', 'errorMessage' => 'The specified resource gateway endpoint is not found.', 'description' => 'The error message returned because the specified gateway endpoint does not exist.'], ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'Specified value of VpcId is not found in our record.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GetVpcGatewayEndpointAttribute', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-09-06T08:37:25.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-06-20T09:39:47.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-23T02:20:37.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetVpcGatewayEndpointAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'GatewayEndpoint', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:gatewayendpoint/{#GatewayEndpointId}'], ], ], ], ], '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":"\\nCreated\\nvpc-bp1nh86rugg01zol0****\\ntest\\nA1122D0F-7B3B-5445-BB19-17F27F97FE1C\\ncom.aliyun.cn-hangzhou.oss\\nvpce-bp1w1dmdqjpwul0v3****\\n[\\"vtb-bp1s6g17997knk6a3****\\", \\"vtb-bp12qsdjwm37kv679****\\"]\\n2021-08-27T01:58:37Z\\n{\\"Version\\" : \\"1\\", \\"Statement\\" : [ { \\"Effect\\" : \\"Allow\\", \\"Resource\\" : [ \\"*\\" ], \\"Action\\" : [ \\"*\\" ], \\"Principal\\" : [ \\"*\\" ] } ] }\\ntest\\n","errorExample":""}]', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetVpcGatewayEndpointAttribute'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], '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' => 'The instance ID of the prefix list to query.', 'type' => 'string', 'required' => true, 'example' => 'pl-0b7hwu67****', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination token. Valid values:'."\n" .'- Leave this parameter empty for the first query or if no subsequent query is required.'."\n" .'- If a subsequent query is required, set this parameter to the NextToken value returned in the previous API call.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page in a paged query. Valid values: **1** to **100**. Default value: **20**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '50', 'example' => '20', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The region ID of the prefix list to query.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF'], 'NextToken' => ['description' => 'The pagination token. Valid values:'."\n" .'- If **NextToken** is empty, no subsequent query exists.'."\n" .'- If **NextToken** is returned, the value indicates the token for the next query.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], 'Count' => ['description' => 'The number of entries returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], 'PrefixListAssociation' => [ 'description' => 'The association information of the prefix list.', 'type' => 'array', 'items' => [ 'description' => 'The association information of the prefix list.', 'type' => 'object', 'properties' => [ 'PrefixListId' => ['title' => '', 'description' => 'The instance ID of the prefix list.', 'type' => 'string', 'example' => 'pl-0b7hwu67****'], 'ResourceId' => ['title' => '', 'description' => 'The ID of the associated resource.', 'type' => 'string', 'example' => 'vtb-bp1drpcfz9srr393h****'], 'ResourceType' => ['title' => '', 'description' => 'The type of the associated resource. Valid values:'."\n" ."\n" .'- **vpcRouteTable**: VPC route table.'."\n" .'- **trRouteTable**: transit router route table.', 'type' => 'string', 'example' => 'vpcRouteTable'], 'OwnerId' => ['description' => 'The ID of the Alibaba Cloud account that owns the prefix list.', 'type' => 'string', 'example' => '153460731706****', 'title' => ''], 'Status' => ['title' => '', 'description' => 'The association status of the prefix list. Valid values:'."\n" ."\n" .'- **Created**: The association is created.'."\n" .'- **ModifyFailed**: The association is not updated to the latest version.'."\n" .'- **Creating**: The association is being created.'."\n" .'- **Modifying**: The association is being modified.'."\n" .'- **Deleting**: The association is being deleted.'."\n" .'- **Deleted**: The association is deleted.', 'type' => 'string', 'example' => 'Success'], 'Reason' => ['description' => 'The reason for the association failure.', 'type' => 'string', 'example' => 'failed', 'title' => ''], 'RegionId' => ['description' => 'The region ID of the prefix list.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'ResourceUid' => ['description' => 'The ID of the Alibaba Cloud account that owns the resource associated with the prefix list.', 'type' => 'string', 'example' => '132193271328****', 'title' => ''], 'CidrList' => ['description' => 'The list of CIDR blocks in the prefix list that are effective for the associated resource.', 'type' => 'string', 'example' => '192.168.0.0/16', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The specified NextToken is invalid.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query prefix list associations', 'summary' => 'Queries the associations of a prefix list by calling the GetVpcPrefixListAssociations operation.', 'changeSet' => [ ['createdAt' => '2023-01-09T07:17:55.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-11-07T02:59:34.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-07-18T12:44:59.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetVpcPrefixListAssociations'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetVpcPrefixListAssociations', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PrefixList', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:prefixlist/{#PrefixListId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], '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' => 'The ID of the prefix list that you want to query.'."\n", 'type' => 'string', 'required' => true, 'example' => 'pl-0b7hwu67****'], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* You do not need to specify this parameter for the first request.'."\n" .'* You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Valid values: **1** to **100**. Default value: **20**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '20', 'default' => '50'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The region ID of the prefix list.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF'], 'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* If **NextToken** is empty, no next page exists.'."\n" .'* If a value is returned for **NextToken**, the value indicates the token that is used for the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1'], 'Count' => ['description' => 'The number of entries.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1'], 'PrefixListEntry' => [ 'description' => 'The information about the prefix list.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'PrefixListId' => ['title' => '', 'description' => 'The ID of the prefix list.'."\n", 'type' => 'string', 'example' => 'pl-0b7hwu67****'], 'Cidr' => ['title' => '', 'description' => 'The CIDR blocks specified in the prefix list.'."\n", 'type' => 'string', 'example' => '192.168.0.0/16'], 'Description' => ['title' => '', 'description' => 'The description of the prefix list.'."\n", 'type' => 'string', 'example' => 'description'], 'RegionId' => ['description' => 'The region ID of the prefix list.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou'], ], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The specified NextToken is invalid.'], ['errorCode' => 'ResourceNotFound.PrefixList', 'errorMessage' => 'The specified resource of prefixList is not found.', 'description' => 'The prefix list does not exist.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GetVpcPrefixListEntries', 'summary' => 'Queries the information about a prefix list.', 'changeSet' => [ ['createdAt' => '2024-05-09T02:03:54.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-07T02:59:34.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-07-18T12:44:59.000Z', 'description' => 'OpenAPI offline'], ], 'ramActions' => [], ], 'GetVpcRouteEntrySummary' => [ 'summary' => 'Queries route types.', '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' => 'The ID of the virtual private cloud (VPC) to which the route table belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vpc-bp15zckdt37pq72****', 'title' => ''], ], [ 'name' => 'RouteTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the route table that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vtb-bp145q7glnuzdvzu2****', 'title' => ''], ], [ 'name' => 'RouteEntryType', 'in' => 'query', 'schema' => ['description' => 'The type of the route. Valid values:'."\n" ."\n" .'* **All**: all route types'."\n" .'* **Custom**: a custom route'."\n" .'* **System**: a system route'."\n" .'* **BGP**: a BGP route'."\n" .'* **CEN**: a Cloud Enterprise Network (CEN) route'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'custom', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the route table.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'DC668356-BCB4-42FD-9BC3-FA2B2E04B634', 'title' => ''], 'RouteEntrySummarys' => [ 'description' => 'The information about the routes in the route tables.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RouteTableId' => ['description' => 'The ID of the route table.'."\n", 'type' => 'string', 'example' => 'vtb-bp145q7glnuzdvzu2****', 'title' => ''], 'EntrySummarys' => [ 'description' => 'The information about the routes of different types in one route table.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RouteEntryType' => ['description' => 'The type of the route. Valid values:'."\n" ."\n" .'* **All**: all route types'."\n" .'* **Custom**: a custom route'."\n" .'* **System**: a system route'."\n" .'* **BGP**: a BGP route'."\n" .'* **CEN**: a CEN route'."\n", 'type' => 'string', 'example' => 'Custom', 'title' => ''], 'Count' => ['description' => 'The number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => '%s [%s] is not found.', 'description' => 'The specified VpcId instance does not exist'], ['errorCode' => 'IllegalParam.RouteEntryType', 'errorMessage' => 'The parameter of RouteEntryType is illegal.', 'description' => ''], ], ], 'title' => 'GetVpcRouteEntrySummary', 'description' => "\n", 'changeSet' => [ ['createdAt' => '2025-01-16T03:36:40.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-07-31T02:45:59.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-09-29T03:52:36.000Z', 'description' => 'OpenAPI offline'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:GetVpcRouteEntrySummary', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#routetableId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#vpcId}'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetVpcRouteEntrySummary'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], '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":""}]', ], 'GetVpnGatewayDiagnoseResult' => [ 'summary' => 'Queries the one-click diagnostic result of a VPN gateway instance by calling the GetVpnGatewayDiagnoseResult operation.', 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The region ID of the VPN gateway instance.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'], ], [ 'name' => 'DiagnoseId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The diagnostic ID.'."\n" ."\n" .'The diagnostic ID is returned when you call the [DiagnoseVpnGateway](~~469751~~) operation.', 'type' => 'string', 'required' => false, 'example' => 'vpndgn-uf6kuxbe3iv028k3s****'], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The VPN gateway instance ID.', 'type' => 'string', 'required' => false, 'example' => 'vpn-uf6fzwp0ck3frwtbk****'], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the client token. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'BeginTime' => ['title' => '', 'description' => 'The time when the diagnostic started.'."\n" ."\n" .'The time is displayed in UTC in the `YYYY-MM-DDThh:mm:ssZ` format.', 'type' => 'string', 'example' => '2022-12-15T05:28:57Z'], 'DiagnoseId' => ['title' => '', 'description' => 'The diagnostic ID.', 'type' => 'string', 'example' => 'vpndgn-uf6sgneym02lxyuv4****'], 'DiagnoseResult' => [ 'title' => '', 'description' => 'The list of diagnostic items.', 'type' => 'array', 'items' => [ 'description' => 'The diagnostic item information.', 'type' => 'object', 'properties' => [ 'DiagnoseName' => ['title' => '', 'description' => 'The diagnostic item.'."\n" ."\n" .'- **RouteEntryConflict**: route conflict.'."\n" .'- **VpnRouteQuota**: VPN gateway destination route quota.'."\n" .'- **VpnIPsecQuota**: VPN gateway IPsec-VPN connection quota.'."\n" .'- **VpnPbrRouteQuota**: VPN gateway policy-based route quota.'."\n" .'- **VcoConfigConsistency**: IPsec configuration consistency.'."\n" .'- **VcoUserInternetIpConnectivity**: public connectivity of the customer gateway.'."\n" .'- **VcoPrivateConnectivity**: private network connectivity.'."\n" ."\n" .'For more information about each diagnostic item, see [One-click diagnostics background information](~~190330~~).', 'type' => 'string', 'example' => 'RouteEntryConflict'], 'DiagnoseResultDescription' => ['title' => '', 'description' => 'The diagnostic result of the diagnostic item.'."\n" ."\n" .'The operation returns different information for each diagnostic item:'."\n" ."\n" .'- **RouteEntryConflict**: The system returns information about the route conflict.'."\n" .'- **VpnRouteQuota**:'."\n" .' - **quotaName**: the ID of the destination route quota.'."\n" .' - **quantity**: the number of destination routes that the current VPN gateway instance supports.'."\n" .' - **used**: the number of destination routes that have been created for the current VPN gateway instance.'."\n" .'- **VpnIPsecQuota**:'."\n" .' - **quotaName**: the ID of the IPsec-VPN connection quota.'."\n" .' - **quantity**: the number of IPsec-VPN connections that the current VPN gateway instance supports.'."\n" .' - **used**: the number of IPsec-VPN connections that have been created for the current VPN gateway instance.'."\n" .'- **VpnPbrRouteQuota**:'."\n" .' - **quotaName**: the ID of the policy-based route quota.'."\n" .' - **quantity**: the number of policy-based routes that the current VPN gateway instance supports.'."\n" .' - **used**: the number of policy-based routes that have been created for the current VPN gateway instance.'."\n" .'- **VcoConfigConsistency**:'."\n" .' - **vcoLackConf**: the system cannot obtain the configuration of the peer end of the IPsec-VPN connection.'."\n" .' - **vcoRunningConf**: the configuration that has been added to the peer end of the IPsec-VPN connection.'."\n" .' - **vcoDiffConf**: the list of configurations that are inconsistent between the local end and the peer end of the IPsec-VPN connection.'."\n" .' - **vcoConf**: the configuration that has been added to the local end of the IPsec-VPN connection.'."\n" .'- **VcoUserInternetIpConnectivity**:'."\n" .' - **targetIp**: the public IP address of the customer gateway.'."\n" .' - **rtt**: the latency when the system accesses the public IP address of the customer gateway. Unit: ms.'."\n" .' - **lossRate**: the packet loss rate when the system accesses the public IP address of the customer gateway.'."\n" .'- **VcoPrivateConnectivity**:'."\n" .' - **targetIp**: the source IP address.'."\n" .' - **srcIp**: the destination IP address.'."\n" .' - **rtt**: the latency when the source IP address accesses the destination IP address. Unit: ms.'."\n" .' - **lossRate**: the packet loss rate when the source IP address accesses the destination IP address.', 'type' => 'string', 'example' => '{\\"targetIp\\":\\"192.168.0.1\\",\\"srcIp\\":\\"192.168.1.1\\",\\"rtt\\":-1.0,\\"lossRate\\":100.0}'], 'DiagnoseResultLevel' => ['title' => '', 'description' => 'The diagnostic result level of the diagnostic item.'."\n" ."\n" .'- **normal**: Normal.'."\n" .'- **warning**: Warning.'."\n" .'- **error**: Error.'."\n" ."\n" .'For more information about the diagnostic result levels of each diagnostic item, see [One-click diagnostics background information](~~190330~~).', 'type' => 'string', 'example' => 'normal'], ], 'title' => '', 'example' => '', ], 'example' => '', ], 'FinishTime' => ['title' => '', 'description' => 'The time when the diagnostic ended.'."\n" ."\n" .'The time is displayed in UTC in the `YYYY-MM-DDThh:mm:ssZ` format.', 'type' => 'string', 'example' => '2022-12-15T05:29:08Z'], 'FinishedCount' => ['title' => '', 'description' => 'The number of diagnostic items that have been completed.', 'type' => 'integer', 'format' => 'int32', 'example' => '7'], 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '312C4D5A-6563-5FC6-8C6E-A43A5A316FEB'], 'ResourceInstanceId' => ['title' => '', 'description' => 'The ID of the diagnosed resource.', 'type' => 'string', 'example' => 'vco-uf6huqsu63azl7mdp****'], 'ResourceType' => ['title' => '', 'description' => 'The type of the diagnosed resource.'."\n" ."\n" .'Valid values: **IPsec**, which indicates an IPsec-VPN connection.', 'type' => 'string', 'example' => 'IPsec'], 'TotalCount' => ['title' => '', 'description' => 'The total number of diagnostic items.', 'type' => 'integer', 'format' => 'int32', 'example' => '7'], 'VpnGatewayId' => ['title' => '', 'description' => 'The VPN gateway instance ID.', 'type' => 'string', 'example' => 'vpn-uf6fzwp0ck3frwtbk****'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'param_error', 'errorMessage' => 'The param is must be in ...', 'description' => ''], ['errorCode' => 'MissingParam.DiagnoseInfo', 'errorMessage' => 'The VPN gateway ID and diagnose ID cannot be empty at the same time.', 'description' => ''], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'IncorrectStatus.DiagnoseTimeout', 'errorMessage' => 'Diagnose failed because of timeout.', 'description' => ''], ['errorCode' => 'IncorrectStatus.VpnConnectionDeleted', 'errorMessage' => 'Diagnose failed because the VPN connection has been deleted.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidDiagnoseId.NotFound', 'errorMessage' => 'The specified diagnose ID [%s] does not exist.', 'description' => ''], ['errorCode' => 'InvalidVpnGatewayId.NotFound', 'errorMessage' => 'The specified VPN gateway [%s] does not have any diagnoses.', 'description' => ''], ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query the one-click diagnostic result of a VPN gateway instance', 'description' => 'When you call the **GetVpnGatewayDiagnoseResult** operation, you must specify at least one of the **DiagnoseId** and **VpnGatewayId** parameters in addition to the required parameters.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetVpnGatewayDiagnoseResult'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetVpnGatewayDiagnoseResult', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnInstanceId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'GrantInstanceToCen' => [ 'summary' => 'Grants permissions to a CEN instance.', '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' => 'The ID of the region where the network instance is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the network instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vpc-uf6o8d1dj8sjwxi6o****', 'title' => ''], ], [ 'name' => 'InstanceType', 'in' => 'query', 'schema' => ['description' => 'The type of the network instance. Valid values:'."\n" ."\n" .'* **VPC**'."\n" .'* **VBR**'."\n", 'type' => 'string', 'required' => true, 'example' => 'VPC', 'title' => ''], ], [ 'name' => 'CenId', 'in' => 'query', 'schema' => ['description' => 'The ID of the CEN instance to which you want to grant permissions.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''], ], [ 'name' => 'CenOwnerId', 'in' => 'query', 'schema' => ['description' => 'The user ID (UID) of the Alibaba Cloud account to which the CEN instance belongs.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '123456789', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus', 'errorMessage' => 'Current Instance status does not support this operation.', 'description' => ''], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent, TaskConflict.', 'description' => 'The system is unavailable. Try again later.'], ['errorCode' => 'MissingParam.CenInstanceId', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.CenInstanceId', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'Invalid.Grant', 'errorMessage' => 'Can not grant to other owner cen.', 'description' => 'You cannot attach the VBR to a CEN instance that belongs to another Alibaba Cloud account.'], ], 404 => [ ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'Specified Instance does not exist.', 'description' => ''], ['errorCode' => 'InstanceType.Invalid', 'errorMessage' => 'Specified type is not valid.', 'description' => ''], ['errorCode' => 'QuotaExceeded.CbnGrantRules', 'errorMessage' => 'cbn grantRules per instance quota exceed', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidVbr.NotFound', 'errorMessage' => 'Specified vbr does not exist.', 'description' => ''], ], ], 'title' => 'GrantInstanceToCen', 'description' => '- 在加载其他阿里云账号(主账号)的网络实例前,需要在网络实例所在的阿里云账号下为云企业网实例授权。'."\n" ."\n" .'>**GrantInstanceToCen**接口是VPC的API,所以调用该接口需要使用`vpc.aliyuncs.com`域名。API version为`2016-04-28`。 '."\n" ."\n" .'- **GrantInstanceToCen**接口不支持在同一个VPC、VBR或者CCN中并发为云企业网实例授权。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2022-12-08T09:19:32.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', ], 'GrantInstanceToVbr' => [ 'summary' => 'Calls the GrantInstanceToVbr operation to grant authorization of a VPC instance to a VBR instance for cross-account VBR uplink scenarios.', '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' => 'The region ID of the VPC instance for which authorization is to be granted.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VbrOwnerUid', 'in' => 'query', 'schema' => ['description' => 'The Alibaba Cloud account ID that owns the VBR instance to be granted authorization.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1210123456123456', 'title' => ''], ], [ 'name' => 'VbrInstanceIds', 'in' => 'query', 'style' => 'simple', 'schema' => [ 'description' => 'The list of VBR instances to be granted authorization.', 'type' => 'array', 'items' => ['description' => 'The VBR instances that accept the authorization. Separate multiple VBR instance IDs with commas (,).'."\n" ."\n" .'- If **GrantType** is set to **All**, this parameter can be left empty, which indicates that authorization of the VPC instance is granted to all VBR instances in the specified region under the specified Alibaba Cloud account.'."\n" .'- If **GrantType** is set to **Specify**, this parameter is required, which indicates that authorization of the VPC instance is granted to the specified VBR instances.', 'type' => 'string', 'required' => false, 'example' => 'vbr-m5ex0xf63xk8s5bob****,vbr-bp1h6efd7a5g66xxd****', 'title' => ''], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC instance for which authorization is to be granted.', 'type' => 'string', 'required' => true, 'example' => 'vpc-bp1lqhq93q8evjpky****', 'title' => ''], ], [ 'name' => 'GrantType', 'in' => 'query', 'schema' => ['description' => 'The scope of VBR instances that accept the authorization. Valid values:'."\n" ."\n" .'- **All**: Grants authorization of the VPC instance to all VBR instances in the specified region under the specified Alibaba Cloud account. In this case, the **VbrInstanceIds** parameter can be left empty.'."\n" .'- **Specify**: Grants authorization of the VPC instance to the specified VBR instances. In this case, the **VbrInstanceIds** parameter is required.', 'type' => 'string', 'required' => true, 'example' => 'All', 'title' => ''], ], [ 'name' => 'VbrRegionNo', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VBR instance to be granted authorization.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F99F13AE-D733-5856-AB97-80CC88B1D5A8', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParam.NotNull', 'errorMessage' => 'The parameter must not be null.', 'description' => ''], ['errorCode' => 'Parameter.Illegal', 'errorMessage' => 'The parameter is illegal.', 'description' => 'The parameter is invalid.'], ['errorCode' => 'Instance.StatusError', 'errorMessage' => 'The status of instance error.', 'description' => 'The status of the instance is invalid.'], ], 404 => [ ['errorCode' => 'Instance.NotExist', 'errorMessage' => 'The instance not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Grant authorization of a VPC instance to a VBR instance for cross-account VBR uplink scenarios', 'description' => 'When creating a cross-account VBR uplink connection, you must grant authorization of the VPC instance to the VBR instance.', 'changeSet' => [ ['createdAt' => '2023-09-21T07:28:00.000Z', 'description' => 'Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GrantInstanceToVbr'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:GrantInstanceToVbr', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#AccountId}:vpc/{#VpcId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F99F13AE-D733-5856-AB97-80CC88B1D5A8\\"\\n}","type":"json"}]', ], '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' => 'The region ID of the Express Connect circuit.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the Express Connect circuit.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The request ID.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F'], 'BusinessAccessPoints' => [ 'description' => 'A list of access points.', 'type' => 'array', 'items' => [ 'description' => 'A list of access points.', 'type' => 'object', 'properties' => [ 'AccessPointId' => ['description' => 'The ID of the access point.', 'type' => 'string', 'example' => 'ap-cn-hangzhou-xs-B', 'title' => ''], 'AccessPointName' => ['description' => 'The name of the access point.', 'type' => 'string', 'example' => '杭州-萧山-B', 'title' => ''], 'SupportLineOperator' => ['description' => 'The connectivity provider for the Express Connect circuit. Valid values:'."\n" ."\n" .'- **CT**: China Telecom.'."\n" ."\n" .'- **CU**: China Unicom.'."\n" ."\n" .'- **CM**: China Mobile.'."\n" ."\n" .'- **CO**: other connectivity providers in the Chinese mainland.'."\n" ."\n" .'- **Equinix**: Equinix.'."\n" ."\n" .'- **Other**: other connectivity providers outside the Chinese mainland.', 'type' => 'string', 'example' => 'CT', 'title' => ''], 'SupportPortTypes' => ['description' => 'The port types supported by the access point. Valid values:'."\n" ."\n" .'- **100Base-T**: 100 Mbit/s copper port.'."\n" ."\n" .'- **1000Base-T**: 1,000 Mbit/s copper port.'."\n" ."\n" .'- **1000Base-LX**: 1,000 Mbit/s single-mode optical port (10 km).'."\n" ."\n" .'- **10GBase-T**: 10,000 Mbit/s copper port.'."\n" ."\n" .'- **10GBase-LR**: 10,000 Mbit/s single-mode optical port (10 km).'."\n" ."\n" .'- **40GBase-LR**: 40,000 Mbit/s single-mode optical port.'."\n" ."\n" .'- **100GBase-LR**: 100,000 Mbit/s single-mode optical port.'."\n" ."\n" .'> The 40GBase-LR and 100GBase-LR port types are subject to availability. To use these port types, contact your account manager.', 'type' => 'string', 'example' => '1000Base-T', 'title' => ''], 'CloudBoxInstanceIds' => ['description' => 'The ID of the Cloud Box instance.'."\n" ."\n" .'> This parameter is returned only for access points that are associated with Cloud Box instances.', 'type' => 'string', 'example' => 'cb-****', 'title' => ''], 'Longitude' => ['description' => 'The longitude of the access point.', 'type' => 'number', 'format' => 'double', 'example' => '120.247514', 'title' => ''], 'Latitude' => ['description' => 'The latitude of the access point.', 'type' => 'number', 'format' => 'double', 'example' => '30.198416', 'title' => ''], 'OpticalModuleModels' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'PortType' => ['description' => 'The port type.', 'type' => 'string', 'title' => '', 'example' => ''], 'OpticalModuleModel' => ['description' => 'The model of the optical module.', 'type' => 'string', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'description' => 'The supported model of the optical module.', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'errorCodes' => [ 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'Internal system error.', 'description' => 'Internal system error.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListBusinessAccessPoints', 'summary' => 'Queries the access points for Express Connect circuits.', 'changeSet' => [ ['createdAt' => '2024-06-13T08:13:13.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'ListBusinessRegions' => [ 'summary' => 'Queries the list of regions available for an Express Connect circuit.', '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' => 'The language of the response. Valid values:'."\n" ."\n" .'* **zh-CN** (default): Chinese'."\n" .'* **en-US**: English.'."\n", 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '304FE68E-16D8-5B90-B2B3-FE5C5C08C24B'], 'GeographicSubRegions' => [ 'description' => 'The list of regions available for Express Connect circuits.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'RegionId' => ['description' => 'The ID of the region where circuits are available.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'Name' => ['description' => 'The name of the region where circuits are available.'."\n", 'type' => 'string', 'example' => '华东1(杭州)', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'Count' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListBusinessRegions', 'changeSet' => [], 'ramActions' => [], '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"}]', ], 'ListDhcpOptionsSets' => [ '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' => 'The region ID of the DHCP options sets that you want to query.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* You do not need to specify this parameter for the first request.'."\n" ."\n" .'* You must specify the token that is obtained from the previous query as the value of the **NextToken** parameter.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Valid values: **1** to **100**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], ], [ 'name' => 'DomainName', 'in' => 'query', 'schema' => [ 'description' => 'The root domain. For example, you can set the value to example.com.'."\n" ."\n" .'After a DHCP options set is associated with a virtual private cloud (VPC), the root domain in the DHCP options set is automatically synchronized with the ECS instances in the VPC.', 'type' => 'string', 'required' => false, 'enumValueTitles' => ['example.com' => 'example.com'], 'example' => 'example.com', 'title' => '', ], ], [ 'name' => 'DhcpOptionsSetName', 'in' => 'query', 'schema' => [ 'description' => 'The name of the DHCP options set.'."\n" ."\n" .'The name must be 1 to 128 characters in length and can contain digits, underscores (\\_), and hyphens (-). It must start with a letter.'."\n" ."\n" .'Valid values:'."\n" ."\n" .' '."\n" .'* tf-testAccVpcDhcpOptionsSets-1585169790614573448'."\n" .' '."\n" .' '."\n" .' '."\n" .' :'."\n" .' '."\n" .' '."\n" .' '."\n" .' tf-testAccVpcDhcpOptionsSets-1585169790614573448'."\n" .' '."\n" .' '."\n" .' '."\n" .' .', 'type' => 'string', 'required' => false, 'enumValueTitles' => ['tf-testAccVpcDhcpOptionsSets-1585169790614573448' => 'tf-testAccVpcDhcpOptionsSets-1585169790614573448'], 'example' => 'test', 'title' => '', ], ], [ 'name' => 'DhcpOptionsSetId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The ID of the DHCP options set. You can specify at most 20 IDs.', 'type' => 'array', 'items' => ['description' => 'The ID of the DHCP options set. You can specify at most 20 IDs.', 'type' => 'string', 'required' => false, 'example' => 'dopt-o6w0df4epg9zo8isy****', 'title' => ''], 'required' => false, 'example' => 'dopt-o6w0df4epg9zo8isy****', 'maxItems' => 20, 'title' => '', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the DHCP options set belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag list.', 'type' => 'array', 'items' => [ 'description' => 'The tag list.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 64 characters in length and can contain digits, periods (.), underscores (\\_), and hyphens (-). The tag key must start with a letter but cannot start with `aliyun` or `acs:`. The tag key cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value. You can specify at most 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and can contain digits, periods (.), underscores (\\_), and hyphens (-). The tag value must start with a letter but cannot start with `aliyun` or `acs:`. The tag value cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The pagination token used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* If **NextToken** is empty, there is no next page.'."\n" .'* If a value of **NextToken** is returned, it indicates the token that is used for the next query.', 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* If **NextToken** is empty, no next page exists.'."\n" .'* If a value is returned for **NextToken**, the value is used to retrieve a new page of results.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd********', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], 'DhcpOptionsSets' => [ 'description' => 'The list of the DHCP options sets.', 'type' => 'array', 'items' => [ 'description' => 'The list of the DHCP options sets.', 'type' => 'object', 'properties' => [ 'DhcpOptionsSetDescription' => ['description' => 'The description of the DHCP options set.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'Status' => ['description' => 'The status of the DHCP options set. Valid values:'."\n" ."\n" .'* **Available**'."\n" .'* **InUse**'."\n" .'* **Pending**'."\n" .'* **Deleted**', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'DhcpOptionsSetId' => ['description' => 'The ID of the DHCP options set.', 'type' => 'string', 'example' => 'dopt-o6w0df4epg9zo8isy****', 'title' => ''], 'DhcpOptionsSetName' => ['description' => 'The name of the DHCP options set.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'AssociateVpcCount' => ['description' => 'The number of VPCs with which the DHCP options set is associated.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'OwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the DHCP options set belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '253460731706911258', 'title' => ''], 'DhcpOptions' => [ 'description' => 'The details of DHCP options.', 'type' => 'object', 'properties' => [ 'DomainNameServers' => ['description' => 'The IP address of the DNS server.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''], 'DomainName' => ['description' => 'The suffix of the hostname.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], 'LeaseTime' => ['description' => 'The lease time of the IPv4 addresses for the DHCP options set.'."\n" ."\n" .'* If you use hours as the unit, valid values are **24h to 1176h** and **87600h to 175200h**. Default value: **87600h**.'."\n" .'* If you use days as the unit, valid values are **1d to 49d** and **3650d to 7300d**. Default value: **3650d**.', 'type' => 'string', 'example' => '3650d', 'title' => ''], 'Ipv6LeaseTime' => ['description' => 'The lease time of the IPv6 DHCP options set.'."\n" ."\n" .'* If you use hours as the unit, Unit: h. Valid values are **24h to 1176h** and **87600h to 175200h**. Default value: **24h**.'."\n" ."\n" .'* If you use days as the unit, Unit: d. Valid values are **1d to 49d** and **3650d to 7300d**. Default value: **1d**.', 'type' => 'string', 'example' => '3650d', 'title' => ''], ], 'title' => '', 'example' => '', ], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the DHCP options set belongs.', 'type' => 'string', 'example' => 'rg-acfmxazb4ph****', 'title' => ''], 'Tags' => [ 'description' => 'The tag list.', 'type' => 'array', 'items' => [ 'description' => 'The tag list.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N added to the resource.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of tag N added to the resource.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'CreationTime' => ['description' => 'The creation time of the DHCP options sets.', 'type' => 'string', 'example' => '2025-08-21 ***', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'TotalCount' => ['description' => 'The number of entries.', 'type' => 'string', 'example' => '10', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The specified NextToken is invalid.'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist.', 'description' => 'The specified region does not exist.'], ], ], 'title' => 'ListDhcpOptionsSets', 'summary' => 'Queries Dynamic Host Configuration Protocol (DHCP) options sets.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-02-08T07:51:54.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-03-23T02:20:37.000Z', 'description' => 'Request parameters changed, Response parameters changed, Response parameters changed'], ['createdAt' => '2022-11-18T07:29:31.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2021-11-17T03:03:07.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'translator' => 'manual', ], 'ListEnhanhcedNatGatewayAvailableZones' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region that you want to query.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n" ."\n" .'In this example, zones that support NAT gateways in the UAE (Dubai) region are queried.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'me-east-1', 'title' => ''], ], [ 'name' => 'AcceptLanguage', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'The language to display the results. Valid values:'."\n" ."\n" .'* **zh-CN** (default): Chinese'."\n" .'* **en-US**: English'."\n", 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'default' => 'zh-CN', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region that you want to query.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n" ."\n" .'In this example, zones that support NAT gateways in the UAE (Dubai) region are queried.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'me-east-1', 'title' => ''], ], [ 'name' => 'Filter', 'in' => 'query', 'allowEmptyValue' => true, 'style' => 'flat', 'schema' => [ 'description' => 'The filter information. You can specify a filter key and a filter value.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The filter key. Only **PrivateLinkEnabled** is supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PrivateLinkEnabled', 'title' => ''], 'Value' => ['description' => 'The value of the filter key.'."\n" ."\n" .'> If the filter key is set to **PrivateLinkEnabled**, you must specify a filter value. Valid values: **true** and **false**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'true', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '8AE6F367-52EA-535D-9A3D-EF23D70527C8', 'title' => ''], 'Zones' => [ 'description' => 'The list of zones.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'ZoneId' => ['description' => 'The ID of the zone where the instance is deployed.'."\n", 'type' => 'string', 'example' => 'me-east-1a', 'title' => ''], 'LocalName' => ['description' => 'The name of the zone.'."\n", 'type' => 'string', 'example' => '中东1 可用区A', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ], ], 'title' => 'ListEnhanhcedNatGatewayAvailableZones', 'summary' => 'Queries the zones that support NAT gateways.', 'description' => 'You can call this operation to query zones that support NAT gateways, including Internet NAT gateways and Virtual Private Cloud (VPC) NAT gateways.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-12-26T01:51:36.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-10-17T03:50:15.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-03-01T06:45:55.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-04-29T10:02:25.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [], '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":"","errorExample":""}]', ], 'ListFullNatEntries' => [ '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' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', 'title' => ''], ], [ 'name' => 'FullNatTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the FULLNAT table to which the FULLNAT entries to be queried belong.'."\n" ."\n" .'> You must specify at least one of **FullNatTableId** and **NatGatewayId**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'fulltb-gw88z7hhlv43rmb26****', 'title' => ''], ], [ 'name' => 'FullNatEntryId', 'in' => 'query', 'schema' => ['description' => 'The ID of the FULLNAT entry that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'fullnat-gw8fz23jezpbblf1j****', 'title' => ''], ], [ 'name' => 'FullNatEntryNames', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The name of the FULLNAT entry that you want to query. You can specify at most 20 names.'."\n" ."\n" .'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", 'type' => 'array', 'items' => ['description' => 'The name of the FULLNAT entry that you want to query. You can specify at most 20 names.'."\n" ."\n" .'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], 'required' => false, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], [ 'name' => 'NetworkInterfaceIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The ID of the elastic network interface (ENI) that you want to query.'."\n", 'type' => 'array', 'items' => ['description' => 'The ID of the ENI that you want to query. You can specify up to 20 ENIs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'eni-gw80wedm8pq0tpr2****', 'title' => ''], 'required' => false, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* You do not need to specify this parameter for the first request.'."\n" .'* You must specify the token that is obtained from the previous query as the value of the **NextToken** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Valid values: **1** to **100**. Default value: **20**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the virtual private cloud (VPC) NAT gateway to which the FULLNAT entries to be queried belong.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'eu-central-1', 'title' => ''], ], [ 'name' => 'IpProtocol', 'in' => 'query', 'schema' => ['description' => 'The protocol of the packets that are forwarded by the port. Valid values:'."\n" ."\n" .'* **TCP**'."\n" .'* **UDP**'."\n", 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''], ], [ 'name' => 'NatGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the NAT gateway.'."\n" ."\n" .'> You must specify at least one of **FullNatTableId** and **NatGatewayId**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ngw-bp1uewa15k4iy5770****', 'title' => ''], ], [ 'name' => 'NatIp', 'in' => 'query', 'schema' => ['description' => 'The NAT IP address that provides address translation in FULLNAT entries.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], ], [ 'name' => 'NatIpPort', 'in' => 'query', 'schema' => ['description' => 'The frontend port to be modified in the mapping of FULLNAT port. Valid values: **1** to **65535**.', 'type' => 'string', 'required' => false, 'example' => '443', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'F03E41F6-1A74-311F-8D98-124EEE9F37B8'], 'NatGatewayId' => ['description' => 'The ID of the VPC NAT gateway.'."\n", 'type' => 'string', 'example' => 'ngw-gw8054kn57y3hq3bv****', 'title' => ''], 'FullNatTableId' => ['description' => 'The ID of the FULLNAT table to which the queried FULLNAT entries belong.'."\n", 'type' => 'string', 'example' => 'fullnat-gw8fz23jezpbblf1j****', 'title' => ''], 'TotalCount' => ['description' => 'The number of FULLNAT entries returned.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], 'NextToken' => ['description' => 'Indicates whether the token for the next query exists. Valid values:'."\n" ."\n" .'* If the value of **NextToken** is empty, no next queries are sent.'."\n" .'* If the value of **NextToken** is returned, the value indicates the token that is used for the next query.'."\n", 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', 'title' => ''], 'MaxResults' => ['description' => 'The maximum number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], 'FullNatEntries' => [ 'description' => 'The information about the FULLNAT entries that are queried.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'NatIp' => ['description' => 'The NAT IP address that is used for address translation in FULLNAT entries.'."\n", 'type' => 'string', 'title' => '', 'example' => '192.168.XX.XX'], 'NatIpPort' => ['description' => 'The frontend port that is used for port mapping in FULLNAT entries. Valid values: **1** to **65535**.'."\n", 'type' => 'string', 'title' => '', 'example' => '80'], 'AccessIp' => ['description' => 'The backend IP address that is used for FULLNAT address translation in FULLNAT entries.'."\n", 'type' => 'string', 'title' => '', 'example' => '192.168.XX.XX'], 'AccessPort' => ['description' => 'The backend port that is used for port mapping in FULLNAT entries. Valid values: **1** to **65535**.'."\n", 'type' => 'string', 'title' => '', 'example' => '80'], 'IpProtocol' => ['description' => 'The protocol of the packets that are forwarded. Valid values:'."\n" ."\n" .'* **TCP**'."\n" .'* **UDP**'."\n", 'type' => 'string', 'title' => '', 'example' => 'TCP'], 'NetworkInterfaceId' => ['description' => 'The ID of the elastic network interface (ENI).'."\n", 'type' => 'string', 'title' => '', 'example' => 'eni-gw80wedm8pq0tpr2****'], 'NetworkInterfaceType' => ['description' => 'The type of the ENI. The value is set to **Endpoint**, which indicates a reverse endpoint.'."\n", 'type' => 'string', 'title' => '', 'example' => 'Endpoint'], 'FullNatEntryName' => ['description' => 'The name of the FULLNAT entry.'."\n" ."\n" .'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", 'type' => 'string', 'title' => '', 'example' => 'test'], 'FullNatEntryDescription' => ['description' => 'The description of the FULLNAT entry.'."\n" ."\n" .'The name must be 2 to 128 characters in length. It must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'example' => 'abc', 'title' => ''], 'CreationTime' => ['description' => 'The time when the FULLNAT entry was created.'."\n", 'type' => 'string', 'example' => '2021-10-27T02:44:40Z', 'title' => ''], 'FullNatEntryId' => ['description' => 'The ID of the FULLNAT entry.'."\n", 'type' => 'string', 'example' => 'fullnat-gw8fz23jezpbblf1j****', 'title' => ''], 'FullNatEntryStatus' => ['description' => 'The status of the FULLNAT entry. Valid values:'."\n" ."\n" .'* **Pending**'."\n" .'* **Available**'."\n" .'* **Deleting**'."\n" .'* **Deleted**'."\n", 'type' => 'string', 'example' => 'Available', 'title' => ''], 'FullNatTableId' => ['description' => 'The ID of the FULLNAT table to which the FULLNAT entry belongs.'."\n", 'type' => 'string', 'example' => 'fulltb-gw88z7hhlv43rmb26****', 'title' => ''], 'AccessDomain' => ['description' => 'The backend domain name for FULLNAT address translation in a FULLNAT entry.', 'type' => 'string', 'example' => 'xxx.com', 'title' => ''], 'DomainResolve' => ['description' => 'The IP resolved from the backend domain name for address translation in the FULLNAT entry.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.FullNatTableId', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => ''], ['errorCode' => 'MissingParam.FullnatTableIdOrNatGatewayId', 'errorMessage' => 'FullnatTableId and natGatewayId can not both be null', 'description' => 'FullnatTableId and natGatewayId cannot be empty at the same time.'], ['errorCode' => 'ResourceNotFound.FullNatTable', 'errorMessage' => 'The NAT gateway has no full nat table.', 'description' => ''], ['errorCode' => 'NATGW_NOT_EXIST', 'errorMessage' => 'The specified NAT gateway does not exist.', 'description' => 'The specified NAT gateway does not exist.'], ], ], 'title' => 'ListFullNatEntries', 'summary' => 'Queries FULLNAT entries.', 'changeSet' => [ ['createdAt' => '2024-12-03T02:23:00.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-12-20T02:00:23.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2023-01-04T09:37:43.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-12-16T06:14:15.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-29T07:14:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-09-23T02:25:58.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-06-20T02:20:45.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-10-15T06:08:26.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-10-15T06:08:26.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'translator' => 'manual', ], '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' => 'The region ID of the gateway route table that you want to query.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-southeast-6', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page for a paged query. Valid values: **1** to **100**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" .'- You do not need to specify this parameter for the first request or if no subsequent query exists.'."\n" .'- If a next query exists, set the value to the NextToken value returned in the previous API call.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], ], [ 'name' => 'GatewayRouteTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the gateway route table to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-5ts0ohchwkp3dydt2****', 'title' => ''], ], [ 'name' => 'DestinationCidrBlock', 'in' => 'query', 'schema' => ['description' => 'The destination CIDR block of the route entry in the gateway route table to query.', 'type' => 'string', 'required' => false, 'example' => '192.168.0.5', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the gateway route table that you want to query.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-southeast-6', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The gateway route table information.', 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" .'- If **NextToken** is empty, no next query exists.'."\n" .'- If **NextToken** is returned, the value indicates the token for the next query.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'string', 'example' => '1', 'title' => ''], 'GatewayRouteEntryModels' => [ 'description' => 'The details of the route entries in the gateway route table.', 'type' => 'array', 'items' => [ 'description' => 'The details of the route entries in the gateway route table.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the route entry.'."\n" ."\n" .'- **Pending**: being configured.'."\n" .'- **Available**: available.'."\n" .'- **Modifying**: being modified.', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'NextHopId' => ['description' => 'The instance ID of the next hop.', 'type' => 'string', 'example' => 'i-bp11gcl0sm85t9bi****', 'title' => ''], 'Description' => ['description' => 'The description of the route entry.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'NextHopType' => ['description' => 'The next hop type. Valid values:'."\n" ."\n" .'- **EcsInstance**: ECS instance.'."\n" .'- **NetworkInterface**: elastic network interface controller (NIC).'."\n" .'- **Local**: local.', 'type' => 'string', 'example' => 'EcsInstance', 'title' => ''], 'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the route entry.', 'type' => 'string', 'example' => '192.168.0.5', 'title' => ''], 'Name' => ['description' => 'The name of the route entry.'."\n" ."\n" .'The name must be 2 to 128 characters in length and must start with a letter or a Chinese character. It can contain digits, periods (.), underscores (_), and hyphens (-).', 'type' => 'string', 'example' => 'name', 'title' => ''], 'NextHops' => [ 'description' => 'The next hop information.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'NextHopId' => ['description' => 'The instance ID of the next hop.', 'type' => 'string', 'example' => 'vpn-bp10zyaph5cc8b7c7****', 'title' => ''], 'NextHopType' => ['description' => 'The next hop type. Valid values:'."\n" ."\n" .'- **Instance** (default): ECS instance.'."\n" .'- **HaVip**: high-availability virtual IP address.'."\n" .'- **VpnGateway**: VPN gateway.'."\n" .'- **NatGateway**: NAT gateway.'."\n" .'- **NetworkInterface**: secondary elastic network interface (ENI).'."\n" .'- **RouterInterface**: routing interface.'."\n" .'- **IPv6Gateway**: IPv6 gateway.'."\n" .'- **Attachment**: transit router.', 'type' => 'string', 'example' => 'Instance', 'title' => ''], 'Weight' => ['description' => 'The weight of the route entry.', 'type' => 'string', 'example' => '100', 'title' => ''], 'Enabled' => ['description' => 'Indicates whether the route is available. Valid values:'."\n" ."\n" .'- **0**: unavailable.'."\n" .'- **1**: available.', 'type' => 'string', 'example' => '1', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.GatewayRouteTable', 'errorMessage' => 'The specified resource GatewayRouteTable is not found.', 'description' => 'The gateway route table cannot be found.'], ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The param of nextToken is illegal', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query gateway route table entries', 'summary' => 'Queries the route entries in a gateway route table by calling the ListGatewayRouteTableEntries operation.', 'changeSet' => [ ['createdAt' => '2022-11-14T06:28:04.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-11-02T02:19:49.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListGatewayRouteTableEntries'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListGatewayRouteTableEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#routetableId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'ListGeographicSubRegions' => [ 'summary' => 'Queries the most recent region list.', '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' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0'], 'GeographicSubRegions' => [ 'description' => 'The region list.'."\n", 'type' => 'array', 'items' => ['description' => 'The region list.'."\n", 'type' => 'string', 'example' => '["cn-beijing","cn-hangzhou"]', 'title' => ''], 'title' => '', 'example' => '', ], 'Count' => ['description' => 'The number of entries.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListGeographicSubRegions', 'changeSet' => [], 'ramActions' => [], '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":""}]', ], 'ListIpsecServerLogs' => [ 'summary' => 'Queries the logs of an IPsec server.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the IPsec server is created.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'IpsecServerId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPsec server.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'iss-2zei2n5q5zhirfh73****', 'title' => ''], ], [ 'name' => 'From', 'in' => 'query', 'schema' => ['description' => 'The beginning of the time range to query. The value must be a UNIX timestamp. For example, 1671003744 specifies 15:42:24 (UTC+8) on December 14, 2022.'."\n" ."\n" .'> If you specify **From**, you must also specify **To** or **MinutePeriod**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1671003744', 'title' => ''], ], [ 'name' => 'To', 'in' => 'query', 'schema' => ['description' => 'The end of the time range to query. The value must be a unix timestamp. For example, 1671004344 specifies 15:52:24 (UTC+8) on December 14, 2022.'."\n" ."\n" .'> If you specify **To**, you must also specify **From** or **MinutePeriod**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1671004344', 'title' => ''], ], [ 'name' => 'MinutePeriod', 'in' => 'query', 'schema' => ['description' => 'The interval at which log data is queried. Valid values: **1** to **10**. Unit: minutes.'."\n" ."\n" .'> If both **From** and **To** are not specified, you must specify **MinutePeriod**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: **1** to **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'DEDAC5B1-9292-5BF7-BDDF-61BA58CFB2FB', 'title' => ''], 'Count' => ['description' => 'The number of entries on the current page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'IsCompleted' => ['description' => 'Indicates whether the log is accurate. Valid values:'."\n" ."\n" .'* **true**: accurate'."\n" .'* **false**: inaccurate'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'Log information list.', 'type' => 'array', 'items' => ['description' => 'An array of strings.'."\n" ."\n" .'Each item in the array is a log entry.', '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"', 'title' => ''], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidIpsecServerId.NotFound', 'errorMessage' => 'The specified IPsec server ID (%s) does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListIpsecServerLogs', 'changeSet' => [], 'ramActions' => [], '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":""}]', ], 'ListIpsecServers' => [ 'summary' => 'Queries IPsec servers.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the IPsec server is created.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'IpsecServerName', 'in' => 'query', 'schema' => ['description' => 'The name of the IPsec server.'."\n" ."\n" .'The name must be 1 to 100 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPN gateway.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* If this is your first request and no next requests are to be performed, you do not need to specify this parameter.'."\n" .'* You must specify the token that is obtained from the previous query as the value of **NextToken**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: **1** to **20**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'IpsecServerId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The ID of the IPsec server.'."\n", 'type' => 'array', 'items' => ['description' => 'The ID of the IPsec server. Valid values of N: **1** to **20**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iss-bp1bo3xuvcxo7ixll****', 'title' => ''], 'required' => false, 'example' => 'iss-bp1bo3xuvcxo7ixll****', 'maxLength' => 128, 'minLength' => 0, 'maxItems' => 20, 'title' => '', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the IPsec server belongs.'."\n" ."\n" .'The IPsec server and its associated VPN gateway belong to the same resource group. You can call [DescribeVpnGateway](~~2794055~~) to query the ID of the resource group to which the VPN gateway belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzs372yg****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* If no value is returned for **NextToken**, no next queries are sent.'."\n" .'* If a value is returned for **NextToken**, the value can be used in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'MaxResults' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'IpsecServers' => [ 'description' => 'The list of IPsec servers.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'CreationTime' => ['description' => 'The time when the IPsec server was created.'."\n" ."\n" .'T is used as a delimiter. Z indicates that the time is in UTC.'."\n", 'type' => 'string', 'example' => '2018-12-03T10:11:55Z', 'title' => ''], 'OnlineClientCount' => ['description' => 'The number of clients that are connected to the IPsec server.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'InternetIp' => ['description' => 'The public IP address of the VPN gateway.'."\n", 'type' => 'string', 'example' => '47.22.XX.XX', 'title' => ''], 'IpsecServerName' => ['description' => 'The name of the IPsec server.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'IDaaSInstanceId' => ['description' => 'The ID of the IDaaS instance.'."\n", 'type' => 'string', 'example' => 'idaas-cn-hangzhou-****', 'title' => ''], 'EffectImmediately' => ['description' => 'Indicates whether the current IPsec tunnel is deleted and negotiations are reinitiated. Valid values:'."\n" ."\n" .'* **true**: immediately initiates negotiations after the configuration is completed.'."\n" .'* **false**: initiates negotiations when inbound traffic is detected.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'VpnGatewayId' => ['description' => 'The ID of the VPN gateway.'."\n", 'type' => 'string', 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', 'title' => ''], 'LocalSubnet' => ['description' => 'The local CIDR blocks, which refer to the CIDR blocks on the virtual private cloud (VPC) side.'."\n", 'type' => 'string', 'example' => '192.168.0.0/16,172.17.0.0/16', 'title' => ''], 'Psk' => ['description' => 'The pre-shared key.'."\n", 'type' => 'string', 'example' => 'pgw6dy7d****', 'title' => ''], 'RegionId' => ['description' => 'The ID of the region where the IPsec server is created.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'PskEnabled' => ['description' => 'Indicates whether pre-shared key authentication is enabled. Only **true** may be returned, which indicates that pre-shared key authentication is enabled.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'IpsecServerId' => ['description' => 'The IPsec server ID.'."\n", 'type' => 'string', 'example' => 'iss-bp1bo3xuvcxo7ixll****', 'title' => ''], 'MultiFactorAuthEnabled' => ['description' => 'Indicates whether two-factor authentication is enabled. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**: The feature is disabled.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'MaxConnections' => ['description' => 'The number of SSL-VPN connections supported by the VPN gateway.'."\n" ."\n" .'> The number of SSL-VPN connections specified in this parameter includes both SSL-VPN and IPsec-VPN connections. For example, you have five SSL-VPN connections and three SSL clients occupy three SSL-VPN connections. In this case, two clients can connect to the IPsec server.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'ClientIpPool' => ['description' => 'The client CIDR block. It refers to the CIDR block that is allocated to the virtual interface of the client.'."\n", 'type' => 'string', 'example' => '10.0.0.0/24', 'title' => ''], 'IkeConfig' => [ 'description' => 'The configurations of Phase 1 negotiations.'."\n", 'type' => 'object', 'properties' => [ 'RemoteId' => ['description' => 'The identifier of the customer gateway. Both fully qualified domain names (FQDNs) and IP addresses are supported. By default, this parameter is empty.'."\n", 'type' => 'string', 'example' => '139.67.XX.XX', 'title' => ''], 'IkeLifetime' => ['description' => 'The IKE lifetime. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], 'IkeEncAlg' => ['description' => 'The IKE encryption algorithm.'."\n", 'type' => 'string', 'example' => 'aes', 'title' => ''], 'LocalId' => ['description' => 'The ID of the IPsec server. The default value is the public IP address of the VPN gateway. Both FQDNs and IP addresses are supported.'."\n", 'type' => 'string', 'example' => '116.64.XX.XX', 'title' => ''], 'IkeMode' => ['description' => 'The IKE negotiation mode. Valid values:'."\n" ."\n" .'**main**: This mode offers higher security during negotiations.'."\n", 'type' => 'string', 'example' => 'main', 'title' => ''], 'IkeVersion' => ['description' => 'The IKE version.'."\n", 'type' => 'string', 'example' => 'ikev2', 'title' => ''], 'IkePfs' => ['description' => 'The Diffie-Hellman key exchange algorithm.'."\n", 'type' => 'string', 'example' => 'group2', 'title' => ''], 'IkeAuthAlg' => ['description' => 'The IKE authentication algorithm.'."\n", 'type' => 'string', 'example' => 'sha1', 'title' => ''], ], 'title' => '', 'example' => '', ], 'IpsecConfig' => [ 'description' => 'The configurations of Phase 2 negotiations.'."\n", 'type' => 'object', 'properties' => [ 'IpsecAuthAlg' => ['description' => 'The IPsec authentication algorithm.'."\n", 'type' => 'string', 'example' => 'sha1', 'title' => ''], 'IpsecLifetime' => ['description' => 'The IPsec lifetime. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], 'IpsecEncAlg' => ['description' => 'The IPsec encryption algorithm.'."\n", 'type' => 'string', 'example' => 'aes', 'title' => ''], 'IpsecPfs' => ['description' => 'The Diffie-Hellman key exchange algorithm.'."\n", 'type' => 'string', 'example' => 'group2', 'title' => ''], ], 'title' => '', 'example' => '', ], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the IPsec server belongs.'."\n" ."\n" .'You can call the [ListResourceGroups](~~158855~~) operation to query the resource group information.', 'type' => 'string', 'example' => 'rg-acfmzs372yg****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The specified NextToken is invalid.'], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListIpsecServers', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-10-19T08:26:51.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'], ], 'ramActions' => [], '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":""}]', ], 'ListIpv4Gateways' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the IPv4 gateways to be queried are deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-southeast-6'], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: **1** to **100**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'* If this is your first query and no next queries are to be sent, ignore this parameter.'."\n" .'* If a next query is to be sent, set the value to the value of NextToken that is returned from the last call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the virtual private cloud (VPC) with which the IPv4 gateway is associated.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vpc-5tsrxlw7dv074gci4****'], ], [ 'name' => 'Ipv4GatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv4 gateway.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****'], ], [ 'name' => 'Ipv4GatewayName', 'in' => 'query', 'schema' => ['description' => 'The name of the IPv4 gateway.'."\n" ."\n" .'The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'name'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the IPv4 gateways to be queried are deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-southeast-6'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the IPv4 gateway belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-bp67acfmxazb4ph****'], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'description' => 'The tags of the resource.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. You can specify at most 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The key cannot exceed 64 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). The key must start with a letter but cannot start with `aliyun` or `acs:`. The key cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept'], 'Value' => ['description' => 'The tag value. You can specify at most 20 tag values. It can be an empty string.'."\n" ."\n" .'The tag value cannot exceed 128 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter but cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua'], ], 'required' => false, ], 'required' => false, 'maxItems' => 10, ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'* If no value is returned for **NextToken**, no next queries are sent.'."\n" .'* If a value of **NextToken** is returned, the value is the token that is used for the subsequent query.'."\n", 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '2D265800-E306-529C-8418-84B0A1D201DB'], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'string', 'example' => '1'], 'Ipv4GatewayModels' => [ 'description' => 'The list of IPv4 gateways.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'VpcId' => ['description' => 'The ID of the VPC with which the IPv4 gateways are associated.'."\n", 'type' => 'string', 'example' => 'vpc-5tsrxlw7dv074gci4****'], 'Status' => ['description' => 'The status of the IPv4 gateway. Valid values:'."\n" ."\n" .'* **Creating**'."\n" .'* **Created**'."\n" .'* **Modifying**'."\n" .'* **Deleting**'."\n" .'* **Deleted**'."\n", 'type' => 'string', 'example' => 'Created'], 'Ipv4GatewayId' => ['description' => 'The ID of the IPv4 gateway.'."\n", 'type' => 'string', 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****'], 'Ipv4GatewayDescription' => ['description' => 'The description of the IPv4 gateway.'."\n", 'type' => 'string', 'example' => 'test'], 'Enabled' => ['description' => 'Indicates whether the IPv4 gateway is activated. Valid values:'."\n" ."\n" .'* **true**: yes'."\n" .'* **false**: no'."\n", 'type' => 'boolean', 'example' => 'true'], 'GmtCreate' => ['description' => 'The time when the IPv4 gateway was created.'."\n", 'type' => 'string', 'example' => '2021-12-02T07:07:35Z'], 'Ipv4GatewayRouteTableId' => ['description' => 'The ID of the route table associated with the IPv4 gateway.'."\n", 'type' => 'string', 'example' => 'vtb-5ts0ohchwkp3dydt2****'], 'Ipv4GatewayName' => ['description' => 'The name of the IPv4 gateway.'."\n", 'type' => 'string', 'example' => 'name'], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the IPv4 gateway belongs.'."\n", 'type' => 'string', 'example' => 'rg-bp67acfmxazb4ph****'], 'Tags' => [ 'description' => 'The list of tags that are added to the resource group.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'FinanceDept'], 'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'example' => 'FinanceJoshua'], ], ], ], ], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The specified NextToken is invalid.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListIpv4Gateways', 'summary' => 'Queries IPv4 gateways.', 'changeSet' => [ ['createdAt' => '2024-07-31T02:45:59.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-07T02:20:13.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-11-02T02:19:49.000Z', 'description' => 'OpenAPI offline'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListIpv4Gateways', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Ipv4Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv4gateway/*'], ], ], ], ], ], 'ListNatIpCidrs' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the Virtual Private Cloud (VPC) NAT gateway that you want to query.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-central-1', 'title' => ''], ], [ 'name' => 'NatGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC NAT gateway that you want to query.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ngw-gw8v16wgvtq26vh59****', 'title' => ''], ], [ 'name' => 'NatIpCidr', 'in' => 'query', 'schema' => ['description' => 'The CIDR block of the NAT gateway that you want to query.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '172.16.0.0/24', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to only precheck this request. Valid values:'."\n" ."\n" .'* **true**: checks the API request. The CIDR blocks of the NAT gateway are not queried if the API request passes the precheck. The system checks whether your AccessKey pair is valid, whether the Resource Access Management (RAM) user is authorized, and whether the required parameters are set. If the request fails to pass the precheck, the corresponding error message is returned. If the check succeeds, the DryRunOperation error code is returned.'."\n" .'* **false**: sends the API request. If the request passes the precheck, 2xx HTTP status code is returned and the CIDR blocks of the NAT gateway are queried. This is the default value.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" ."\n" .'> If you do not set this parameter, the system automatically uses **RequestId** as **ClientToken**. **RequestId** may be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', 'title' => ''], ], [ 'name' => 'NatIpCidrStatus', 'in' => 'query', 'schema' => ['description' => 'The status of the CIDR block that you want to query. Set the value to **Available**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Available', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The token that is used for the next query. Set the value as needed.'."\n" ."\n" .'* If this is your first query or no next query is to be sent, ignore this parameter.'."\n" .'* If a next query is to be sent, set the value to the value of NextToken that is returned from the last call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: **1** to **100**. Default value: **20**.'."\n", 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''], ], [ 'name' => 'NatIpCidrName', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The name of the CIDR block that you want to query. Valid values of **N**: **1** to **20**.', 'type' => 'array', 'items' => ['description' => 'The name of the CIDR block that you want to query. Valid values of **N**: **1** to **20**.', 'type' => 'string', 'required' => false, 'example' => 'cidrname', 'title' => ''], 'required' => false, 'example' => 'test', 'maxItems' => 100, 'title' => '', ], ], [ 'name' => 'NatIpCidrs', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The CIDR block of the NAT gateway that you want to query. Valid values of **N**: **1** to **20**.', 'type' => 'array', 'items' => ['description' => 'The CIDR block of the NAT gateway that you want to query. Valid values of **N**: **1** to **20**.', 'type' => 'string', 'required' => false, 'example' => '172.16.0.0/24', 'title' => ''], 'required' => false, 'example' => '172.16.0.0/24', 'maxItems' => 100, 'title' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the Virtual Private Cloud (VPC) NAT gateway that you want to query.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-central-1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'* If the value of **NextToken** is not returned, it indicates that no next query is to be sent.'."\n" .'* If the value of **NextToken** is returned, the value indicates the token that is used for the next query.'."\n", 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '7479A224-4A28-4895-9604-11F48BCE6A88', 'title' => ''], 'TotalCount' => ['description' => 'The number of CIDR blocks that are returned.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''], 'NatIpCidrs' => [ 'description' => 'The CIDR blocks of the NAT gateway.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'CreationTime' => ['description' => 'The time when the CIDR block was created.'."\n", 'type' => 'string', 'example' => '2021-06-28T20:50Z', 'title' => ''], 'NatIpCidrId' => ['description' => 'The ID of the CIDR block of the NAT gateway.'."\n", 'type' => 'string', 'example' => 'vpcnatcidr-gw8ov42ei6xh1jys2****', 'title' => ''], 'IsDefault' => ['description' => 'Indicates whether the CIDR block is the default CIDR block of the NAT gateway. Valid values:'."\n" ."\n" .'* **true**: The CIDR block is the default CIDR block of the NAT gateway.'."\n" .'* **false**: The CIDR block is not the default CIDR block of the NAT gateway.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'NatIpCidrStatus' => ['description' => 'The status of the CIDR block of the NAT gateway. If **Available** is returned, it indicates that the CIDR block is available.'."\n", 'type' => 'string', 'example' => 'Available', 'title' => ''], 'NatIpCidrName' => ['description' => 'The name of the CIDR block of the NAT gateway.'."\n", 'type' => 'string', 'example' => 'Name', 'title' => ''], 'NatIpCidr' => ['description' => 'The CIDR block of the NAT gateway.'."\n", 'type' => 'string', 'example' => '172.16.0.0/24', 'title' => ''], 'NatGatewayId' => ['description' => 'The ID of the VPC NAT gateway.'."\n", 'type' => 'string', 'example' => 'ngw-gw8v16wgvtq26vh59****', 'title' => ''], 'NatIpCidrDescription' => ['description' => 'The description of the CIDR block of the NAT gateway.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ], ], 'title' => 'ListNatIpCidrs', 'summary' => 'Queries the CIDR blocks of a specified NAT gateway.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-03-25T16:25:59.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-03-01T06:45:53.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-11-25T11:44:25.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2021-07-09T06:24:03.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'ListNatIps' => [ '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' => 'The ID of the region where the NAT gateway is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-central-1', 'title' => ''], ], [ 'name' => 'NatGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the NAT gateway.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ngw-gw8v16wgvtq26vh59****', 'title' => ''], ], [ 'name' => 'NatIpCidr', 'in' => 'query', 'schema' => ['description' => 'The CIDR block to which the IP address belongs.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '192.168.0.0/24', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to only precheck the request. Valid values:'."\n" ."\n" .'* **true**: checks the API request. IP addresses are not queried. The system checks the required parameters, request syntax, and limits. If the request fails to pass the precheck, the corresponding error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): sends the request. If the request passes the precheck, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" ."\n" .'> If you do not set this parameter, the system automatically uses **RequestId** as **ClientToken**. **RequestId** may be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', 'title' => ''], ], [ 'name' => 'NatIpStatus', 'in' => 'query', 'schema' => ['description' => 'The status of the IP address. Valid values:'."\n" ."\n" .'* **Available**'."\n" .'* **Deleting**'."\n" .'* **Creating**'."\n", 'type' => 'string', 'required' => false, 'example' => 'Available', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'* If this is your first query or no next query is to be sent, ignore this parameter.'."\n" .'* If a next query is to be sent, set the value to the value of NextToken that is returned from the last call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****f84eb48b699f0a4883', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: **1** to **100**. Default value: **20**.'."\n", 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''], ], [ 'name' => 'NatIpName', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The name of the IP address. Valid values of **N**: **1** to **20**.', 'type' => 'array', 'items' => ['description' => 'The name of the IP address. Valid values of **N**: **1** to **20**.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], 'required' => false, 'example' => 'test', 'maxItems' => 100, 'title' => '', ], ], [ 'name' => 'NatIpIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The ID of the IP address. Valid values of **N**: **1** to **20**.', 'type' => 'array', 'items' => ['description' => 'The ID of the IP address. Valid values of **N**: **1** to **20**.', 'type' => 'string', 'required' => false, 'example' => 'vpcnatcidr-gw8ov42ei6xh1jys2****', 'title' => ''], 'required' => false, 'example' => 'vpcnatip-gw8a863sut1zijxh0****', 'maxItems' => 100, 'title' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the NAT gateway is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-central-1', 'title' => ''], ], [ 'name' => 'IpOrigin', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => [ 'title' => '用于描述NatIp来源的字段的枚举,取值为“prefix”表示所属IPv4Prefix的NatIp; 取值为“cidr”表示孤立NatIp; 控制表示所有的NatIp.', 'description' => 'The enumeration of the fields used to describe the source of the NatIp. Prefix indicates the NatIp that belongs to the IPv4Prefix. The value cidr indicates isolated NatIp. The value control indicates all NatIp.'."\n", 'enumValueTitles' => [], 'type' => 'string', 'example' => 'cidr', 'enum' => ['cidr', 'prefix'], 'required' => false, ], ], [ 'name' => 'Ipv4Prefix', 'in' => 'query', 'schema' => ['description' => 'The IP prefix address range.', 'type' => 'string', 'required' => false, 'example' => '192.168.0.0/28', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'* If the value of **NextToken** is not returned, it indicates that no next query is to be sent.'."\n" .'* If the value of **NextToken** is returned, the value indicates the token that is used for the next query.'."\n", 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '7E78CEEA-BF8F-44D1-9DCD-D9141135B71E', 'title' => ''], 'TotalCount' => ['description' => 'The number of IP addresses that are returned.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''], 'NatIps' => [ 'description' => 'The list of IP addresses of the NAT gateway.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'IsDefault' => ['description' => 'Indicates whether the IP address is the default IP address of the NAT gateway. Valid values:'."\n" ."\n" .'* **true**: yes'."\n" .'* **false**: no'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'NatIp' => ['description' => 'The IP address.'."\n", 'type' => 'string', 'example' => '192.168.0.126', 'title' => ''], 'Ipv4Prefix' => ['description' => 'The IP prefix address range to which the queried NAT IP address belongs.', 'type' => 'string', 'required' => false, 'example' => '192.168.0.0/28', 'title' => ''], 'NatIpCidr' => ['description' => 'The CIDR block to which the IP address belongs.'."\n", 'type' => 'string', 'example' => '192.168.0.0/24', 'title' => ''], 'NatIpId' => ['description' => 'The ID of the IP address.'."\n", 'type' => 'string', 'example' => 'vpcnatip-gw8a863sut1zijxh0****', 'title' => ''], 'NatIpDescription' => ['description' => 'The description of the IP address.'."\n", 'type' => 'string', 'example' => 'default', 'title' => ''], 'NatGatewayId' => ['description' => 'The ID of the Virtual Private Cloud (VPC) NAT gateway to which the IP address is assigned.'."\n", 'type' => 'string', 'example' => 'ngw-gw8v16wgvtq26vh59****', 'title' => ''], 'NatIpName' => ['description' => 'The name of the IP address.'."\n", 'type' => 'string', 'example' => 'default', 'title' => ''], 'NatIpStatus' => ['description' => 'The status of the IP address. Valid values:'."\n" ."\n" .'* **Available**: available'."\n" .'* **Deleted**: deleted'."\n" .'* **Deleting**: deleting'."\n" .'* **Creating**: creating'."\n" .'* **Associated**: specified in an SNAT or DNAT entry'."\n" .'* **Associating**: being specified in an SNAT or DNAT entry'."\n", 'type' => 'string', 'example' => 'Available', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ], ], 'title' => 'ListNatIps', 'summary' => 'Queries the IP addresses on a NAT gateway.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-03-25T16:25:59.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-03-01T06:45:52.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-11-25T05:52:03.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2021-07-09T06:24:03.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'ListPhysicalConnectionFeatures' => [ 'summary' => 'Queries he connection features supported by a Express Connect circuit.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the Express Connect circuit.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** as the **ClientToken**. The **RequestId** may be different.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'PhysicalConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Express Connect circuit.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'pc-bp1qrb3044eqixog****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'A599D38F-3618-18FD-9427-108FB9B5BD26', 'title' => ''], 'PhysicalConnectionFeatures' => [ 'description' => 'The list of Express Connect circuit features.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The list of Express Connect circuit features.'."\n", 'type' => 'object', 'properties' => [ 'FeatureValue' => ['description' => 'The feature value of the Express Connect circuit. Valid values:'."\n" ."\n" .'* **OK**: Supported'."\n" .'* **NOK**: Not supported'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], 'FeatureKey' => ['description' => 'The feature key of the Express Connect circuit. Valid values:'."\n" ."\n" .'* **SubifRateLimit**: subinterface throttling'."\n" .'* **BFD Capability**: Bidirectional Forwarding Detection (BFD)'."\n" .'* **DualStack**: Dual stack'."\n" .'* **CEN**: When a virtual border router (VBR) is attached to a Cloud Enterprise Network (CEN) instance and BGP routes are advertised on the user side, attributes such as **as-path** and **community** are carried.'."\n" .'* **CENv6**: When a VBR is attached to an IPv6 CEN instance and BGP routes are advertised on the user side, attributes such as **as-path** and **community** are carried.'."\n" .'* **QOS**: The device supports configuring QOS policies on physical ports.'."\n" .'* **MSHA**: The device supports fast switching groups between two VBRs.'."\n" .'* **MULTI_MS_HA**: The device supports a maximum of eight VBRs that can be added to the same ECR.'."\n", 'type' => 'string', 'example' => 'SubifRateLimit', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParam.PhysicalConnectionId', 'errorMessage' => 'The PhysicalConnectionId is missing.', 'description' => ''], ['errorCode' => 'MissingParam.RegionNo', 'errorMessage' => 'The RegionId is missing.', 'description' => ''], ['errorCode' => 'InvalidPhysicalConnectionId.NotFound', 'errorMessage' => 'The PhysicalConnectionId provided does not exist in our records.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListPhysicalConnectionFeatures', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], '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":""}]', ], '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' => '', 'description' => 'The IDs of prefix lists to be queried. Valid values of **N** are **1** to **100**, which specifies that you can query up to 100 prefix lists at a time.'."\n", 'type' => 'array', 'items' => ['description' => 'The ID of the prefix list.'."\n", 'type' => 'string', 'required' => false, 'example' => 'pl-0b7hwu67****'], 'required' => false, 'example' => 'pl-m5estsqsdqwg88hjf****', 'maxItems' => 100, ], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* You do not need to specify this parameter for the first request.'."\n" .'* You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Valid values: **1** to **100**. Default value: **20**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '20', 'default' => '10'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the prefix list belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-bp67acfmxazb4ph****'], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The key cannot exceed 64 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). The key must start with a letter but cannot start with `aliyun` or `acs:`. The key cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept'], 'Value' => ['description' => 'The tag value. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value cannot exceed 128 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). The key must start with a letter but cannot start with `aliyun` or `acs:`. The key cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua'], ], 'required' => false, ], 'required' => false, 'maxItems' => 10, ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the region where you want to query prefix lists.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'PrefixListName', 'in' => 'query', 'schema' => ['description' => 'The name of the prefix list to query.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'name'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'DF72F7BB-5DFA-529C-887E-B0BB70D89C4F'], 'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* If **NextToken** is empty, no next page exists.'."\n" .'* If a value is returned for **NextToken**, the value indicates the token that is used for the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1'], 'MaxResults' => ['description' => 'The number of entries per page. Valid values: **1** to **100**. Default value: **20**.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '20'], 'PrefixLists' => [ 'description' => 'The information about the prefix lists.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'PrefixListId' => ['title' => '', 'description' => 'The ID of the prefix list.'."\n", 'type' => 'string', 'example' => 'pl-m5estsqsdqwg88hjf****'], 'PrefixListName' => ['title' => '', 'description' => 'The name of the prefix list.'."\n", 'type' => 'string', 'example' => 'test'], 'PrefixListDescription' => ['title' => '', 'description' => 'The description of the prefix list.'."\n", 'type' => 'string', 'example' => 'Created with oss service by system.'], 'IpVersion' => ['title' => 'IpVersion', 'description' => 'The IP version of the prefix list. Valid values:'."\n" ."\n" .'* **IPV4**'."\n" .'* **IPV6**'."\n", 'type' => 'string', 'example' => 'IPV4'], 'CreationTime' => ['title' => '', 'description' => 'The time when the prefix list was created.'."\n", 'type' => 'string', 'example' => '2022-07-12T14:22:32Z'], 'CidrBlocks' => [ 'title' => '', 'description' => 'The CIDR block specified in the prefix list.'."\n", 'type' => 'array', 'items' => ['description' => 'The CIDR block specified in the prefix list.'."\n", 'type' => 'string', 'example' => '100.115.XX.XX/24'], ], 'ShareType' => ['description' => 'Indicates whether the prefix list is shared. Valid values:'."\n" ."\n" .'* **Shared**: The prefix list is shared.'."\n" .'* If an empty value is returned, the prefix list is not shared.'."\n", 'type' => 'string', 'example' => 'Shared'], 'MaxEntries' => ['description' => 'The maximum number of CIDR blocks that you can specify in the prefix list.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'], 'Status' => ['description' => 'The status of the prefix list. Valid values:'."\n" ."\n" .'* **Created**'."\n" .'* **Deleted**'."\n" .'* **Modifying**'."\n", 'type' => 'string', 'example' => 'Created'], 'OwnerId' => ['description' => 'The Alibaba Cloud account to which the prefix list belongs.'."\n", 'type' => 'string', 'example' => '1210123456123456'], 'PrefixListStatus' => ['description' => 'The status of the prefix list. Valid values:'."\n" ."\n" .'* **Created**'."\n" .'* **Deleted**'."\n" .'* **Modifying**'."\n" ."\n" .'> This parameter is the same as the **Status** parameter.'."\n", 'type' => 'string', 'example' => 'Created'], 'RegionId' => ['description' => 'The region ID of the prefix list.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou'], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the prefix list belongs.'."\n", 'type' => 'string', 'example' => 'rg-bp67acfmxazb4ph****'], 'Tags' => [ 'description' => 'The tags.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'FinanceDept'], 'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'example' => 'FinanceJoshua'], ], ], ], 'PrefixListType' => ['title' => '前缀列表类型', 'description' => 'The type of the prefix list.', 'type' => 'string', 'example' => 'Custom'], ], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The specified NextToken is invalid.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListPrefixLists', 'summary' => 'Queries prefix lists.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-12-12T07:04:34.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-01-06T09:33:56.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2022-11-07T02:59:35.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-07-18T12:44:46.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListPrefixLists', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'PrefixList', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:prefixlist/*'], ], ], ], ], ], 'ListPublicIpAddressPoolCidrBlocks' => [ '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' => 'The ID of the IP address pool.'."\n", 'type' => 'string', 'required' => true, 'example' => 'pippool-6wetvn6fumkgycssx****', 'title' => ''], ], [ 'name' => 'CidrBlock', 'in' => 'query', 'schema' => ['description' => 'The CIDR blocks.'."\n", 'type' => 'string', 'required' => false, 'example' => '47.0.XX.XX/24', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The maximum number of entries to return. Valid values: **10** to **100**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'* If this is your first query and no next queries are to be sent, ignore this parameter.'."\n" .'* If a subsequent query is to be sent, set the parameter to the value of NextToken that is returned from the last call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'* **true**: performs a dry run. The system checks the required parameters, request syntax, and limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and sends the request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the CIDR blocks.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-chengdu', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], 'NextToken' => ['description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'* If **NextToken** was not returned, it indicates that no additional results exist.'."\n" .'* If **NextToken** is returned, the value is the token that is used for the next query.'."\n", 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'TotalCount' => ['description' => 'The maximum number of entries returned. Valid values: **10** to **100**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PublicIpPoolCidrBlockList' => [ 'description' => 'The total number of entries returned.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'PublicIpAddressPoolId' => ['description' => 'The information about the CIDR blocks.'."\n", 'type' => 'string', 'example' => 'pippool-6wetvn6fumkgycssx****', 'title' => ''], 'CidrBlock' => ['description' => 'The ID of the IP address pool.'."\n", 'type' => 'string', 'example' => '47.0.XX.XX/24', 'title' => ''], 'CreationTime' => ['description' => 'The CIDR blocks.'."\n", 'type' => 'string', 'example' => '2022-05-10T01:37:38Z', 'title' => ''], 'Status' => ['description' => 'The time when the CIDR block was created. The time is displayed in `YYYY-MM-DDThh:mm:ssZ` format.'."\n", 'type' => 'string', 'example' => 'Created', 'title' => ''], 'UsedIpNum' => ['description' => 'The status of the CIDR block in the IP address pool. Valid values:'."\n" ."\n" .'* **Created**: available'."\n" .'* **Deleting**: being deleted'."\n" .'* **Modifying**: being modified'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'TotalIpNum' => ['description' => 'The total number of available IP addresses in the CIDR block.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The specified NextToken is invalid.'], ['errorCode' => 'MissingParam.PublicIpAddressPoolId', 'errorMessage' => 'The parameter PublicIpAddressPoolId is missing.', 'description' => 'The parameter PublicIpAddressPoolId is missing.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListPublicIpAddressPoolCidrBlocks', 'summary' => 'Queries CIDR blocks in an IP address pool.', 'changeSet' => [ ['createdAt' => '2024-07-31T02:45:59.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-05-15T06:29:29.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], '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":""}]', ], 'ListPublicIpAddressPools' => [ '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' => 'The IDs of the IP address pool.'."\n" ."\n" .'You can enter up to 100 IDs.'."\n", 'type' => 'array', 'items' => ['description' => 'The ID of the IP address pool.'."\n" ."\n" .'You can enter up to 100 IDs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'pippool-6wetvn6fumkgycssx****', 'title' => ''], 'required' => false, 'maxItems' => 100, 'minItems' => 0, 'title' => '', 'example' => '', ], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'The status of the IP address pool. Valid values:'."\n" ."\n" .'* **Created**'."\n" .'* **Deleting**'."\n" .'* **Modifying**'."\n", 'type' => 'string', 'required' => false, 'example' => 'Created', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The maximum number of entries to return. Valid values: **10** to **100**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n" ."\n" .'* You do not need to specify this parameter for the first request.'."\n" .'* You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], ], [ 'name' => 'Isp', 'in' => 'query', 'schema' => ['description' => 'The line type. Valid values:'."\n" ."\n" .'* **BGP** (default): BGP (Multi-ISP) line'."\n" .'* **BGP_PRO**: BGP (Multi-ISP) Pro line'."\n" ."\n" .'For more information about the BGP (Multi-ISP) line and BGP (Multi-ISP) Pro line, see the "Line types" section of [What is EIP?](~~32321~~)'."\n" ."\n" .'If you are allowed to use single-ISP bandwidth, you can also choose one of the following values:'."\n" ."\n" .'* **ChinaTelecom**'."\n" .'* **ChinaUnicom**'."\n" .'* **ChinaMobile**'."\n" .'* **ChinaTelecom_L2**'."\n" .'* **ChinaUnicom_L2**'."\n" .'* **ChinaMobile_L2**'."\n" ."\n" .'If your services are deployed in China East 1 Finance, this parameter is required and you must set the parameter to **BGP_FinanceCloud**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'BGP', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the IP address pool.'."\n" ."\n" .'If you enter a name, the name must be 1 to 128 characters in length and can contain digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AddressPoolName', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false**(default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the IP address pool belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4pcdvf****', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags to add to the resource.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key to add to the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value to add to the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region in which the IP address pool that you want to query resides.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-chengdu', 'title' => ''], ], [ 'name' => 'SecurityProtectionEnabled', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable Anti-DDoS Pro/Premium. Valid values:'."\n" ."\n" .'* **false**'."\n" .'* **true**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], 'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n" ."\n" .'* If **NextToken** is empty, no next page exists.'."\n" .'* If a value is returned for **NextToken**, the value is used to retrieve a new page of results.'."\n", 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PublicIpAddressPoolList' => [ 'description' => 'The IP address pools.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The structure of the IP address pool.'."\n", 'type' => 'object', 'properties' => [ 'PublicIpAddressPoolId' => ['description' => 'The ID of the IP address pool.'."\n", 'type' => 'string', 'example' => 'pippool-6wetvn6fumkgycssx****', 'title' => ''], 'RegionId' => ['description' => 'The region ID of the IP address pool.'."\n", 'type' => 'string', 'example' => 'cn-chengdu', 'title' => ''], 'CreationTime' => ['description' => 'The time when the IP address pool was created. The time is displayed in the `YYYY-MM-DDThh:mm:ssZ` format.'."\n", 'type' => 'string', 'example' => '2022-05-10T01:37:38Z', 'title' => ''], 'Isp' => ['description' => 'The line type.'."\n" ."\n" .'* **BGP**: BGP (Multi-ISP)'."\n" .'* **BGP_PRO**: BGP (Multi-ISP) Pro'."\n" ."\n" .'For more information about BGP (Multi-ISP) and BGP (Multi-ISP) Pro, see [EIP line types](~~32321~~).'."\n" ."\n" .'If you are allowed to use single-ISP bandwidth, one of the following values may be returned:'."\n" ."\n" .'* **ChinaTelecom**'."\n" .'* **ChinaUnicom**'."\n" .'* **ChinaMobile**'."\n" .'* **ChinaTelecom_L2**'."\n" .'* **ChinaUnicom_L2**'."\n" .'* **ChinaMobile_L2**'."\n" ."\n" .'If your services are deployed in China East 1 Finance, **BGP_FinanceCloud** is returned.'."\n", 'type' => 'string', 'example' => 'BGP', 'title' => ''], 'Name' => ['description' => 'The name of the IP address pool.'."\n", 'type' => 'string', 'example' => 'AddressPoolName', 'title' => ''], 'Status' => ['description' => 'The status of the IP address pool.'."\n" ."\n" .'* **Created**'."\n" .'* **Deleting**'."\n" .'* **Modifying**'."\n", 'type' => 'string', 'example' => 'Created', 'title' => ''], 'Description' => ['description' => 'The description of the IP address pool.'."\n", 'type' => 'string', 'example' => 'AddressPoolDescription', 'title' => ''], 'TotalIpNum' => ['description' => 'The total number of available IP addresses in the public IP address pool.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'UsedIpNum' => ['description' => 'The number of used IP addresses in the public IP address pool.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'IpAddressRemaining' => ['description' => 'Indicates whether idle IP addresses exist.'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'UserType' => ['description' => 'The user type. Valid values:'."\n" ."\n" .'* **admin**: An administrator can delete, modify, and query IP address pools, and can assign elastic IP addresses (EIPs) to the pool.'."\n" .'* **user**: A user can only assign EIPs to the IP address pool and query the IP address pool, but cannot modify or delete the IP address pool.'."\n", 'type' => 'string', 'example' => 'admin', 'title' => ''], 'OwnerId' => ['description' => 'The Alibaba Cloud account to which the IP address pool belongs.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '121012345612*****', 'title' => ''], 'ShareType' => ['description' => 'The sharing type of the IP address pool.'."\n" ."\n" .'* If **Shared** is returned, the IP address pool is shared.'."\n" .'* If an empty value is returned, the IP address pool is not shared.'."\n", 'type' => 'string', 'example' => 'Shared', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the IP address pool belongs.'."\n", 'type' => 'string', 'example' => 'rg-acfmxazb4pcdvf****', 'title' => ''], 'Tags' => [ 'description' => 'The tag list.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N.'."\n", 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of tag N.'."\n", 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'BizType' => ['description' => 'The service type of the IP address pool.'."\n" ."\n" .'* **CloudBox** Only cloud box users can select this type.'."\n" .'* **Default** (default)'."\n", 'type' => 'string', 'example' => 'CloudBox', 'title' => ''], 'Zones' => [ 'description' => 'The zone of the IP address pool. This parameter is returned only when the service type of the IP address pool is CloudBox.'."\n", 'type' => 'array', 'items' => ['description' => 'The zone of the IP address pool. This parameter is returned only when the service type of the IP address pool is CloudBox.'."\n", 'type' => 'string', 'example' => 'ap-southeast-1-lzdvn-cb', 'title' => ''], 'title' => '', 'example' => '', ], 'SecurityProtectionTypes' => [ 'description' => 'The edition of Anti-DDoS.'."\n" ."\n" .'* If you do not set this parameter, Anti-DDoS Origin Basic is used.'."\n" .'* If the value is set to **AntiDDoS_Enhanced**, Anti-DDoS Pro/Premium is used.'."\n", 'type' => 'array', 'items' => ['description' => 'The edition of Anti-DDoS.'."\n" ."\n" .'* If you do not set this parameter, Anti-DDoS Origin Basic is used.'."\n" .'* If the value is set to **AntiDDoS_Enhanced**, Anti-DDoS Pro/Premium is used.'."\n", 'type' => 'string', 'example' => 'AntiDDoS_Enhanced', 'title' => ''], 'title' => '', 'example' => '', ], 'BusinessStatus' => ['description' => 'The status of the IP address pool.'."\n" ."\n" .'* **Normal**'."\n" .'* **FinancialLocked**'."\n", 'type' => 'string', 'example' => 'Normal', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.Isp', 'errorMessage' => 'The param of Isp [%s] is illegal.', 'description' => 'The error message returned because the Isp parameter is set to an invalid value. Specify a valid value and try again.'], ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The specified NextToken is invalid.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListPublicIpAddressPools', 'summary' => 'Queries available IP address pools.', 'description' => "\n" ."\n", 'changeSet' => [ ['createdAt' => '2024-08-08T09:25:22.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-07-31T02:45:59.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-06-06T09:03:01.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-05-27T11:37:27.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-01-22T09:35:54.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2023-08-08T02:41:57.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-05-15T06:29:29.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-01-06T09:40:58.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2022-11-24T13:02:53.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-10-27T13:18:26.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], '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 10\\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 Shared\\n rg-acfmxazb4pcdvf****\\n \\n FinanceDept\\n FinanceDept\\n \\n \\n","errorExample":""}]', ], 'ListRouteTargetGroups' => [ 'summary' => 'Batch query for route target groups', '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' => 'The ID of the VPC to which the route target group belongs.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'vpc-xxxx', 'title' => ''], ], [ 'name' => 'RouteTargetGroupIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'List of route target group instance IDs.'."\n" ."\n" .'Up to 50 instance IDs can be queried at a time.', 'type' => 'array', 'items' => ['description' => 'Route target group instance ID.', 'type' => 'string', 'required' => false, 'example' => 'rtg-xxxx', 'title' => ''], 'required' => false, 'maxItems' => 200, 'title' => '', 'example' => '', ], ], [ 'name' => 'MemberId', 'in' => 'query', 'schema' => ['description' => 'Route target group member instance ID.'."\n" .'Filters the route target groups that contain the specified member instance ID.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'ep-xxxx', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'Page size, with a range of **1** to **50**. Default value: **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '0', 'default' => '50', 'example' => '50', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'Token for the next query. Value: If it is the first query or there is no next query, this field does not need to be filled. If there is a next query, the value should be the NextToken returned from the previous API call.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPC to which the route target group belongs. You can obtain the region ID by calling the DescribeRegions interface.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'Resource group ID. For more information about resource groups, see What is a Resource Group?', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazdjdhd****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'Client token used to ensure idempotence of the request. Generate a unique parameter value from your client to ensure uniqueness across different requests. ClientToken only supports ASCII characters. Note: If you do not specify this, the system will automatically use the RequestId of the API request as the ClientToken identifier. The RequestId is different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'List of tags.', 'type' => 'array', 'items' => [ 'description' => 'Resource tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'Resource tag key. Up to 20 tag keys are supported. If you need to pass this value, you cannot input an empty string.'."\n" ."\n" .'A tag key can have up to 128 characters and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], 'Value' => ['description' => 'Resource tag value. Up to 20 tag values are supported. If you need to pass this value, you can input an empty string.'."\n" ."\n" .'A tag value can have up to 128 characters and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], ], '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 for the next query. Value: If NextToken is empty, it indicates there is no next query. If NextToken has a return value, it indicates the token for the next query.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'TotalCount' => ['description' => 'Number of items in the list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RouteTargetGroups' => [ 'description' => 'List of route target groups.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Status' => [ 'description' => 'Status of the route target group. Values:'."\n" ."\n" .'- **Recovering**: Active-Standby rollback in progress'."\n" .'- **Switched**: Active-Standby switched'."\n" .'- **Available**: Available'."\n" .'- **Abnormal**: Standby instance abnormal'."\n" .'- **Pending**: Creating'."\n" .'- **Switching**: Active-Standby switching in progress'."\n" .'- **Deleting**: Deleting'."\n" .'- **Unavailable**: Both primary and standby instances are abnormal', 'enumValueTitles' => ['Recovering' => 'Recovering', 'Switched' => 'Switched', 'Available' => 'Available', 'Abnormal' => 'Abnormal', 'Pending' => 'Pending', 'Switching' => 'Switching', 'Deleting' => 'Deleting', 'Unavailable' => 'Unavailable'], 'type' => 'string', 'example' => 'Available', 'title' => '', ], 'RouteTargetGroupDescription' => ['description' => 'Description of the route target group.', 'type' => 'string', 'example' => 'myRouteTargetGroupDescription', 'title' => ''], 'RouteTargetMemberList' => [ 'description' => 'The list of route target group members.', 'type' => 'array', 'items' => [ 'description' => 'The list of route target group members.', 'type' => 'object', 'properties' => [ 'MemberId' => ['description' => 'The ID of the route target group member instance.', 'type' => 'string', 'example' => 'ep-xxxx', 'title' => ''], 'EnableStatus' => [ 'description' => 'The enable status of the route target group member. Values:'."\n" ."\n" .'- **Enable**: Enabled.'."\n" .'- **Disable**: Disabled.'."\n" ."\n" .'Only disabled route target group members can be modified to other instances. Enabled route target group members cannot be modified.', 'enumValueTitles' => ['Enable' => 'Enable', 'Disable' => 'Disable'], 'type' => 'string', 'example' => 'Enable', 'title' => '', ], 'MemberType' => [ 'description' => 'The type of the route target group member.'."\n" ."\n" .'Currently supported types:'."\n" ."\n" .'- **GatewayLoadBalancerEndpoint**', 'enumValueTitles' => ['GatewayLoadBalancerEndpoint' => 'GatewayLoadBalancerEndpoint'], 'type' => 'string', 'example' => 'GatewayLoadBalancerEndpoint', 'title' => '', ], 'HealthCheckStatus' => [ 'description' => 'The health check status of the route target group member. Values:'."\n" ."\n" .'- **Normal**: Normal'."\n" .'- **Abnormal**: Abnormal', 'enumValueTitles' => ['Normal' => 'Normal', 'Abnormal' => 'Abnormal'], 'type' => 'string', 'example' => 'Normal', 'title' => '', ], 'Weight' => ['description' => 'The weight value of the route target group member. Values:'."\n" ."\n" .'- **100**: Indicates that the member is the primary instance.'."\n" .'- **0**: Indicates that the member is the backup instance.'."\n" ."\n" .'The weight value can only be set during creation and cannot be modified.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'VpcId' => ['description' => 'The ID of the VPC to which the route target group belongs.', 'type' => 'string', 'example' => 'vpc-uf60y8uzhsvbhmuh3l654', 'title' => ''], 'RouteTargetGroupId' => ['description' => 'The ID of the route target group instance.', 'type' => 'string', 'example' => 'rtg-xxxx', 'title' => ''], 'ConfigMode' => [ 'description' => 'The configuration mode of the route target group. Supported modes are as follows:'."\n" ."\n" .'- **Active-Standby**: Active-standby mode.', 'enumValueTitles' => ['Active-Standby' => 'Active-Standby'], 'type' => 'string', 'example' => 'Active-Standby', 'title' => '', ], 'RegionId' => ['description' => 'The region ID of the VPC to which the route target group belongs.'."\n" ."\n" .'You can obtain the region ID by calling the [DescribeRegions](~~36063~~) interface.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'Tags' => [ 'description' => 'The tag values. A maximum of 20 tag values are supported. If you need to pass this value, you can input an empty string.'."\n" ."\n" .'A maximum of 128 characters are supported. The value cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'array', 'items' => [ 'description' => 'The tags.', 'type' => 'object', 'properties' => [ 'Value' => ['description' => 'The value of the resource tag. Up to 20 tag values are supported. If you need to pass this value, you can input an empty string. A maximum of 128 characters is allowed. The value cannot start with `aliyun` or `acs:`, and it must not contain `http://` or `https://`.', 'type' => 'string', 'example' => '8', 'title' => ''], 'Key' => ['description' => 'The key of the resource tag.', 'type' => 'string', 'example' => 'image/upload/cbbec42e0be33abb27babefcbe0397f0', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'RouteTargetGroupName' => ['description' => 'The name of the route target group.', 'type' => 'string', 'example' => 'myRouteTargetGroupName', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the route target group belongs.', 'type' => 'string', 'example' => 'rg-acfm3swh6ta56ri', 'title' => ''], 'CreateTime' => ['description' => 'The time when the route target group was created.', 'type' => 'string', 'example' => '2025-12-30T06:40:50Z', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'MaxResults' => ['description' => 'The page size.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The specified NextToken is invalid.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListRouteTargetGroups', 'description' => 'Lists the route target groups.', 'changeSet' => [], 'ramActions' => [], '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"}]', 'translator' => 'manual', ], 'ListTagResources' => [ 'summary' => 'Query the list of tags that are bound to cloud resources.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => ['description' => 'The type of the resource. Valid values:'."\n" .'- **VPC**: VPC instance.'."\n" .'- **VSWITCH**: vSwitch instance.'."\n" .'- **ROUTETABLE**: route table instance.'."\n" .'- **EIP**: Elastic IP Address (EIP) instance.'."\n" .'- **VPNGATEWAY**: VPN gateway instance.'."\n" .'- **NATGATEWAY**: NAT gateway instance.'."\n" .'- **COMMONBANDWIDTHPACKAGE**: EIP bandwidth plan instance.'."\n" .'- **PREFIXLIST**: prefix list instance.'."\n" .'- **PUBLICIPADDRESSPOOL**: IP address pool instance.'."\n" .'- **IPV4GATEWAY**: IPv4 gateway instance.'."\n" .'- **IPV6GATEWAY**: IPv6 gateway instance.'."\n" .'- **NETWORKACL**: network ACL instance.'."\n" .'- **TRAFFICMIRRORFILTER**: traffic mirroring filter instance.'."\n" .'- **TRAFFICMIRRORSESSION**: traffic mirroring session instance.'."\n" .'- **FLOWLOG**: flow log instance.'."\n" .'- **HAVIP**: high-availability virtual IP address (HAVIP) instance.'."\n" .'- **DHCPOPTIONSSET**: DHCP options set instance.'."\n" .'- **GATEWAYENDPOINT**: gateway endpoint instance.'."\n" .'- **IPV6ADDRESS**: IPv6 address instance.'."\n" ."\n" .'> The resource type value is case-insensitive.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'VPC', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The token for the next query. Valid values:'."\n" ."\n" .'- If this is the first query or no next query exists, you do not need to set this parameter.'."\n" ."\n" .'- If a next query exists, set the value to the **NextToken** value returned in the previous API call.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Valid values: **1** to **50**. Default value: **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '50', 'title' => ''], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The IDs of the resources. You can specify up to 50 resource IDs.', 'type' => 'array', 'items' => ['description' => 'The ID of the resource. You can specify up to 50 resource IDs.'."\n" ."\n" .'> You must specify at least one of the **ResourceId.N** and **Tag.N** (**Tag.N.Key** and **Tag.N.Value**) parameters.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp16qjewdsunr41m1****', 'title' => ''], 'required' => false, 'example' => 'vpc-bp16qjewdsunr41m1****', 'maxItems' => 51, 'title' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the resource.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag information.', 'type' => 'array', 'items' => [ 'description' => 'The tag of the resource.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of the tag. You can specify up to 20 tag keys.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot be an empty string. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n" ."\n" .'> You must specify at least one of the **ResourceId.N** and **Tag.N** (**Tag.N.Key** and **Tag.N.Value**) parameters.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of the tag. You can specify up to 20 tag values.'."\n" ."\n" .'The tag value can be up to 128 characters in length and can be an empty string. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n" ."\n" .'> You must specify at least one of the **ResourceId.N** and **Tag.N** (**Tag.N.Key** and **Tag.N.Value**) parameters.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'example' => 'ListTagResources', 'maxItems' => 21, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned information.', 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'The token for the next query. Valid values:'."\n" .'- If **NextToken** is empty, no next query exists.'."\n" .'- If **NextToken** has a return value, the value is the token used to start the next query.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'DE65F6B7-7566-4802-9007-96F2494AC512', 'title' => ''], 'TagResources' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'TagResource' => [ 'description' => 'The information about the resources to which tags are bound.', 'type' => 'array', 'items' => [ 'description' => 'The information about the resource to which a tag is bound.', 'type' => 'object', 'properties' => [ 'ResourceType' => ['description' => 'The type of the resource. Valid values:'."\n" .'- **VPC**: VPC instance.'."\n" .'- **VSWITCH**: vSwitch instance.'."\n" .'- **ROUTETABLE**: route table instance.'."\n" .'- **EIP**: Elastic IP Address (EIP) instance.'."\n" .'- **VPNGATEWAY**: VPN gateway instance.'."\n" .'- **NATGATEWAY**: NAT gateway instance.'."\n" .'- **COMMONBANDWIDTHPACKAGE**: EIP bandwidth plan instance.'."\n" .'- **PREFIXLIST**: prefix list instance.'."\n" .'- **PUBLICIPADDRESSPOOL**: IP address pool instance.'."\n" .'- **IPV4GATEWAY**: IPv4 gateway instance.'."\n" .'- **IPV6GATEWAY**: IPv6 gateway instance.'."\n" .'- **NETWORKACL**: network ACL instance.'."\n" .'- **TRAFFICMIRRORFILTER**: traffic mirroring filter instance.'."\n" .'- **TRAFFICMIRRORSESSION**: traffic mirroring session instance.'."\n" .'- **FLOWLOG**: flow log instance.'."\n" .'- **HAVIP**: high-availability virtual IP address (HAVIP) instance.'."\n" .'- **DHCPOPTIONSSET**: DHCP options set instance.'."\n" .'- **GATEWAYENDPOINT**: gateway endpoint instance.', 'type' => 'string', 'example' => 'VPC', 'title' => ''], 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], 'ResourceId' => ['description' => 'The resource ID.', 'type' => 'string', 'example' => 'vpc-bp16qjewdsunr41m1****', 'title' => ''], 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidTagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The tag index is invalid.'], ['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The tag value is invalid.'], ['errorCode' => 'MissingParam', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidInstanceType.NotFound', 'errorMessage' => 'The instance type is not found', 'description' => 'The instance type is not found.'], ['errorCode' => 'InvalidInstanceIds.NotFound', 'errorMessage' => 'The instanceIds are not found', 'description' => 'The instance ID is not found.'], ['errorCode' => 'Forbidden.TagKeys', 'errorMessage' => 'The request do not allow to operate the tag keys', 'description' => 'You do not have the permissions to set the TagKeys parameter.'], ['errorCode' => 'QuotaExceeded.TagNum', 'errorMessage' => 'Custom Tags quota exceeded', 'description' => 'The upper limit is reached.'], ['errorCode' => 'Forbidden.NotAllowedCategary', 'errorMessage' => 'The System tag is not valid', 'description' => 'The error message returned because the system tag is invalid.'], ['errorCode' => 'Forbidden.TagKey.Duplicated', 'errorMessage' => 'The specified tag key already exists.', 'description' => 'The tag resources are duplicate.'], ['errorCode' => 'SizeLimitExceeded.TagNum', 'errorMessage' => 'The maximum number of tags is exceeded.', 'description' => 'The number of tags has reached the upper limit.'], ['errorCode' => 'SizeLimitExceeded.ResourceId', 'errorMessage' => 'The maximum number of resource IDs is exceeded.', 'description' => 'The number of resource group IDs has reached the upper limit.'], ['errorCode' => 'BothEmpty.TagsAndResources', 'errorMessage' => 'The specified Tags and ResourcesIds are not allow to both empty.', 'description' => 'The tags and resource groups cannot be empty at the same time.'], ['errorCode' => 'MissingParam.ResourceType', 'errorMessage' => 'The param of ResourceType is missing.', 'description' => 'ResourceType is not specified.'], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ['errorCode' => 'BothEmpty.TagsAndResources', 'errorMessage' => 'The specified Tags and ResourcesIds are not allow to both empty.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query tags bound to cloud resources', 'description' => '- You must specify at least the **ResourceId.N** or **Tag.N** (**Tag.N.Key** and **Tag.N.Value**) parameter in the request to determine the query object.'."\n" ."\n" .'- **Tag.N** is a tag of the resource, which consists of a key-value pair. If you specify only **Tag.N.Key**, all tag values associated with the specified tag key are returned. If you specify only **Tag.N.Value**, an error is returned.'."\n" ."\n" .'- If you specify both **Tag.N** and **ResourceId.N** to filter tags, **ResourceId.N** must match all the specified tag key-value pairs.'."\n" ."\n" .'- If you specify multiple tag key-value pairs, the results contain resources that include all the specified key-value pairs.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-07-28T01:53:52.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-07-10T06:55:02.000Z', 'description' => 'Error codes changed, Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:ListTagResources', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:tag', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/{#BandwidthPackageId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTable}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'ListTagResourcesForExpressConnect' => [ 'summary' => 'Queries the tags that are added to an Express Connect circuit.', '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' => 'The type of the resource. Valid values:'."\n" ."\n" .'* **PHYSICALCONNECTION**: Express Connect circuit.'."\n" .'* **VIRTUALBORDERROUTER**: virtual border router (VBR).'."\n" .'* **ROUTERINTERFACE**: router interface.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'PHYSICALCONNECTION', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region to which the resource resides.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n" ."\n" .'* You do not need to specify this parameter for the first request.'."\n" .'* You must specify the token that is obtained from the previous query as the value of **NextToken**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Valid values: **1** to **100**. Default value: **20**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '20', 'title' => ''], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The resource IDs.'."\n", 'type' => 'array', 'items' => ['description' => 'The resource ID. You can specify up to 20 resource IDs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'pc-bp16qjewdsunr41m1****', 'title' => ''], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of the tag to add to the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of the tag to add to the resource. You can specify up to 20 tag values The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n" ."\n" .'* If **NextToken** is empty, no next page exists.'."\n" .'* If a value is returned for **NextToken**, the value can be used in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], 'TagResources' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'TagResource' => [ 'description' => 'The tags that are added to the resource.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'ResourceType' => ['description' => 'The type of the resource. Valid values:'."\n" ."\n" .'* **PHYSICALCONNECTION**: Express Connect circuit.'."\n" .'* **VIRTUALBORDERROUTER**: VBR.'."\n" .'* **ROUTERINTERFACE**: router interface.'."\n", 'type' => 'string', 'example' => 'PHYSICALCONNECTION', 'title' => ''], 'TagValue' => ['description' => 'The value of the tag that is added to the resource.'."\n", 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], 'ResourceId' => ['description' => 'The resource ID.'."\n", 'type' => 'string', 'example' => 'pc-bp16qjewdsunr41m1****', 'title' => ''], 'TagKey' => ['description' => 'The key of the tag that is added to the resource.'."\n", 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidTagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The tag index is invalid.'], ['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The tag value is invalid.'], ['errorCode' => 'InvalidInstanceType.NotFound', 'errorMessage' => 'The instance type is not found', 'description' => 'The instance type is not found.'], ['errorCode' => 'InvalidInstanceIds.NotFound', 'errorMessage' => 'The instanceIds are not found', 'description' => 'The instance ID is not found.'], ['errorCode' => 'Forbidden.TagKeys', 'errorMessage' => 'The request do not allow to operate the tag keys', 'description' => 'You do not have the permissions to set the TagKeys parameter.'], ['errorCode' => 'QuotaExceeded.TagNum', 'errorMessage' => 'Custom Tags quota exceeded', 'description' => 'The upper limit is reached.'], ['errorCode' => 'Forbidden.TagKey.Duplicated', 'errorMessage' => 'The specified tag key already exists.', 'description' => 'The tag resources are duplicate.'], ['errorCode' => 'SizeLimitExceeded.TagNum', 'errorMessage' => 'The maximum number of tags is exceeded.', 'description' => 'The number of tags has reached the upper limit.'], ['errorCode' => 'SizeLimitExceeded.ResourceId', 'errorMessage' => 'The maximum number of resource IDs is exceeded.', 'description' => 'The number of resource group IDs has reached the upper limit.'], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ['errorCode' => 'BothEmpty.TagsAndResources', 'errorMessage' => 'The specified Tags and ResourcesIds are not allow to both empty.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListTagResourcesForExpressConnect', 'description' => '## [](#)'."\n" ."\n" .'* If you want to query a specific object, you must specify **ResourceId.N** or **Tag.N** that consists of **Tag.N.Key** and **Tag.N.Value** in the request.'."\n" .'* **Tag.N** is a resource tag that consists of a key-value pair. If you specify only **Tag.N.Key**, all tag values that are associated with the specified key are returned. If you specify only **Tag.N.Value**, an error message is returned.'."\n" .'* If you specify **Tag.N** and **ResourceId.N** to filter tags, **ResourceId.N** must match all specified key-value pairs.'."\n" .'* If you specify multiple key-value pairs, resources that contain these key-value pairs are returned.'."\n", 'changeSet' => [], 'ramActions' => [], '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":""}]', ], 'ListTrafficMirrorFilters' => [ 'summary' => 'Queries filters for traffic mirror.', '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' => 'The name of the filter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'abc', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The maximum number of entries to return.'."\n" ."\n" .'Valid values: **1** to **100**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* You do not need to specify this parameter for the first request.'."\n" .'* You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], ], [ 'name' => 'TrafficMirrorFilterIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The ID of the traffic mirror filter. The maximum value of **N** is **100**, which specifies that you can query up to 100 filters at a time.', 'type' => 'array', 'items' => ['description' => 'The ID of the traffic mirror filter. The maximum value of **N** is **100**, which specifies that you can query up to 100 filters at a time.', 'type' => 'string', 'required' => false, 'example' => 'tmf-j6cmls82xnc86vtpe****', 'title' => ''], 'required' => false, 'example' => 'tmf-j6cmls82xnc86vtpe****', 'maxLength' => 128, 'maxItems' => 100, 'title' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region to which the mirrored traffic belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list. For more information about regions that support traffic mirror, see [Overview of traffic mirror](~~207513~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hongkong', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the mirrored traffic belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag list.', 'type' => 'array', 'items' => [ 'description' => 'The tag list.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. You can specify at most 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value. You can specify at most 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* If **NextToken** is empty, no next page exists.'."\n" .'* If a value is returned for **NextToken**, the value is the token that is used for the next query.'."\n", 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '739CA01C-92EB-4C69-BCC0-280149C6F41E', 'title' => ''], 'TotalCount' => ['description' => 'The number of entries returned.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''], 'MaxResults' => ['description' => 'The maximum number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'Count' => ['description' => 'The number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'TrafficMirrorFilters' => [ 'description' => 'The information about the filters.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'TrafficMirrorFilterStatus' => ['description' => 'The status of the filter. Valid values:'."\n" ."\n" .'* **Creating**'."\n" .'* **Created**'."\n" .'* **Modifying**'."\n" .'* **Deleting**'."\n", 'type' => 'string', 'example' => 'Created', 'title' => ''], 'TrafficMirrorFilterDescription' => ['description' => 'The description of the filter.'."\n", 'type' => 'string', 'example' => 'This is a filter.', 'title' => ''], 'TrafficMirrorFilterId' => ['description' => 'The ID of the filter.'."\n", 'type' => 'string', 'example' => 'tmf-j6cmls82xnc86vtpe****', 'title' => ''], 'TrafficMirrorFilterName' => ['description' => 'The filter name.'."\n", 'type' => 'string', 'example' => 'abc', 'title' => ''], 'IngressRules' => [ 'description' => 'The information about the inbound rules.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'TrafficMirrorFilterRuleStatus' => ['description' => 'The status of the inbound rule. Valid values:'."\n" ."\n" .'* **Creating**'."\n" .'* **Created**'."\n" .'* **Modifying**'."\n" .'* **Deleting**'."\n", 'type' => 'string', 'example' => 'Created', 'title' => ''], 'Action' => ['description' => 'The action of the inbound rule. Valid values:'."\n" ."\n" .'* **accept**'."\n" .'* **drop**'."\n", 'type' => 'string', 'example' => 'accept', 'title' => ''], 'SourceCidrBlock' => ['description' => 'The source CIDR block of the inbound traffic.'."\n", 'type' => 'string', 'example' => '0.0.0.0/0', 'title' => ''], 'TrafficDirection' => ['description' => 'The direction of the network traffic. Valid values:'."\n" ."\n" .'* **egress**'."\n" .'* **ingress**'."\n", 'type' => 'string', 'example' => 'ingress', 'title' => ''], 'Protocol' => ['description' => 'The protocol that is used by the inbound traffic to be mirrored. Valid values:'."\n" ."\n" .'* **ALL**'."\n" .'* **ICMP**'."\n" .'* **TCP**'."\n" .'* **UDP**'."\n", 'type' => 'string', 'example' => 'ALL', 'title' => ''], 'IpVersion' => ['description' => 'The version of IP protocol.', 'type' => 'string', 'example' => 'IPv4', 'title' => ''], 'DestinationPortRange' => ['description' => 'The destination port range of the inbound traffic.'."\n", 'type' => 'string', 'example' => '-1/-1', 'title' => ''], 'TrafficMirrorFilterRuleId' => ['description' => 'The ID of the inbound rule.'."\n", 'type' => 'string', 'example' => 'tmr-j6cezu8e68rnpepet****', 'title' => ''], 'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the inbound traffic.'."\n", 'type' => 'string', 'example' => '0.0.0.0/0', 'title' => ''], 'Priority' => ['description' => 'The priority of the inbound rule. A smaller value indicates a higher priority.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TrafficMirrorFilterId' => ['description' => 'The ID of the filter associated with the inbound rule.'."\n", 'type' => 'string', 'example' => 'tmf-j6cmls82xnc86vtpe****', 'title' => ''], 'SourcePortRange' => ['description' => 'The destination port range of the inbound traffic.'."\n", 'type' => 'string', 'example' => '-1/-1', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'EgressRules' => [ 'description' => 'The information about the outbound rules.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'TrafficMirrorFilterRuleStatus' => ['description' => 'The status of the outbound rule. Valid values:'."\n" ."\n" .'* **Creating**'."\n" .'* **Created**'."\n" .'* **Modifying**'."\n" .'* **Deleting**'."\n", 'type' => 'string', 'example' => 'Created', 'title' => ''], 'Action' => ['description' => 'The action of the outbound rule. Valid values:'."\n" ."\n" .'* **accept**'."\n" .'* **drop**'."\n", 'type' => 'string', 'example' => 'accept', 'title' => ''], 'SourceCidrBlock' => ['description' => 'The source CIDR block of the outbound traffic.'."\n", 'type' => 'string', 'example' => '10.0.0.0/24', 'title' => ''], 'TrafficDirection' => ['description' => 'The direction of the network traffic. Valid values:'."\n" ."\n" .'* **egress**'."\n" .'* **ingress**'."\n", 'type' => 'string', 'example' => 'egress', 'title' => ''], 'Protocol' => ['description' => 'The protocol that is used by the outbound traffic to be mirrored. Valid values:'."\n" ."\n" .'* **ALL**'."\n" .'* **ICMP**'."\n" .'* **TCP**'."\n" .'* **UDP**'."\n", 'type' => 'string', 'example' => 'TCP', 'title' => ''], 'IpVersion' => ['description' => 'The version of IP protocol.', 'type' => 'string', 'example' => 'IPv4', 'title' => ''], 'DestinationPortRange' => ['description' => 'The destination port range of the outbound traffic.'."\n", 'type' => 'string', 'example' => '22/40', 'title' => ''], 'TrafficMirrorFilterRuleId' => ['description' => 'The ID of the outbound rule.'."\n", 'type' => 'string', 'example' => 'tmr-j6c89rzmtd3hhdugq****', 'title' => ''], 'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the outbound traffic.'."\n", 'type' => 'string', 'example' => '10.0.0.0/24', 'title' => ''], 'Priority' => ['description' => 'The priority of the outbound rule. A smaller value indicates a higher priority.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TrafficMirrorFilterId' => ['description' => 'The ID of the filter associated with the outbound rule.'."\n", 'type' => 'string', 'example' => 'tmf-j6cmls82xnc86vtpe****', 'title' => ''], 'SourcePortRange' => ['description' => 'The source port range of the outbound traffic.'."\n", 'type' => 'string', 'example' => '22/40', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the traffic mirror session belongs.'."\n", 'type' => 'string', 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], 'Tags' => [ 'description' => 'The tag list.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'CreationTime' => ['description' => 'The time when the filter is created.', 'type' => 'string', 'example' => '2023-09-05T15:26Z', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The specified NextToken is invalid.'], ], ], 'title' => 'ListTrafficMirrorFilters', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-04-25T09:57:12.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-07-31T02:45:59.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-12-18T13:05:53.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-06-25T06:28:07.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListTrafficMirrorFilters', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'ListTrafficMirrorSessions' => [ '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' => 'The name of the traffic mirror session.'."\n" ."\n" .'The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'abc', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The maximum number of entries to return. Valid values: **1** to **100**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'* If this is your first query and no next queries are to be sent, ignore this parameter.'."\n" .'* If a next query is to be sent, set the value to the value of NextToken that is returned from the last call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], ], [ 'name' => 'TrafficMirrorSourceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the traffic mirror source. You can specify only an elastic network interface (ENI) as the mirror source.'."\n", 'type' => 'string', 'required' => false, 'example' => 'eni-j6c8znm5l1yt4sox*****', 'title' => ''], ], [ 'name' => 'TrafficMirrorTargetId', 'in' => 'query', 'schema' => ['description' => 'The ID of the traffic mirror destination. You can specify only an ENI or a Server Load Balancer (SLB) instance as a traffic mirror destination.'."\n", 'type' => 'string', 'required' => false, 'example' => 'eni-j6c2fp57q8rr47rp****', 'title' => ''], ], [ 'name' => 'TrafficMirrorFilterId', 'in' => 'query', 'schema' => ['description' => 'The ID of the traffic mirror filter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'tmf-j6cmls82xnc86vtpe****', 'title' => ''], ], [ 'name' => 'VirtualNetworkId', 'in' => 'query', 'schema' => ['description' => 'The VXLAN network identifier (VNI) that is used to distinguish different mirrored traffic. Valid values: **0** to **16777215**. You can use VNIs to identify mirrored traffic from different sessions at the traffic mirror destination. You can specify a custom VNI or use a random VNI that is allocated by the system. If you want the system to randomly allocate a VNI, ignore this parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'Priority', 'in' => 'query', 'schema' => ['description' => 'The priority of the traffic mirror session. Valid values: **1** to **32766**.'."\n" ."\n" .'A smaller value indicates a higher priority. You cannot specify identical priorities for traffic mirror sessions that are created in the same region by using the same account.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'Enabled', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable the traffic mirror session. Valid values:'."\n" ."\n" .'* **false**: does not enable the traffic mirror session.'."\n" .'* **true**: enables the traffic mirror session.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'TrafficMirrorSessionIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The IDs of the traffic mirror session. The maximum value of N is 100, which indicates that you can query up to 100 traffic mirror sessions at a time.', 'type' => 'array', 'items' => ['description' => 'The ID of the traffic mirror session. The maximum value of **N** is **100**, which indicates that you can query up to 100 traffic mirror sessions at a time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'tms-j6cla50buc44ap8tu****', 'title' => ''], 'required' => false, 'example' => 'tms-j6cla50buc44ap8tu****', 'maxLength' => 128, 'maxItems' => 100, 'title' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region to which the traffic mirror session belongs. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list. For more information about regions that support traffic mirror, see [Overview of traffic mirror](~~207513~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hongkong', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the mirrored traffic belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource.', 'type' => 'array', 'items' => [ 'description' => 'The tag of the resource.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. You can specify at most 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The key cannot exceed 64 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). The key must start with a letter but cannot start with `aliyun` or `acs:`. The key cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value. You can specify at most 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value cannot exceed 128 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter but cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', ], 'required' => false, 'maxItems' => 10, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'* If no value is returned for **NextToken**, no next queries are sent.'."\n" .'* If a value of **NextToken** is returned, the value is the token that is used for the subsequent query.'."\n", 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '739CA01C-92EB-4C69-BCC0-280149C6F41E', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''], 'TrafficMirrorSessions' => [ 'description' => 'The details about the traffic mirror session.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'TrafficMirrorTargetId' => ['description' => 'The ID of the traffic mirror destination.'."\n", 'type' => 'string', 'example' => 'eni-j6c2fp57q8rr47rp****', 'title' => ''], 'TrafficMirrorSessionId' => ['description' => 'The ID of the traffic mirror session.'."\n", 'type' => 'string', 'example' => 'tms-j6cla50buc44ap8tu****', 'title' => ''], 'Priority' => ['description' => 'The priority of the traffic mirror session.'."\n" ."\n" .'A smaller value indicates a higher priority.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TrafficMirrorTargetType' => ['description' => 'The type of the traffic mirror destination. Valid values:'."\n" ."\n" .'* **NetworkInterface**: an elastic network interface (ENI)'."\n" .'* **SLB**: an internal-facing Server Load Balancer (SLB) instance'."\n", 'type' => 'string', 'example' => 'NetworkInterface', 'title' => ''], 'PacketLength' => ['description' => 'The maximum transmission unit.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1500', 'title' => ''], 'TrafficMirrorSessionDescription' => ['description' => 'The description of the traffic mirror session.'."\n", 'type' => 'string', 'example' => 'This is a session.', 'title' => ''], 'TrafficMirrorSessionStatus' => ['description' => 'The status of the traffic mirror session. Valid values:'."\n" ."\n" .'* **Creating**'."\n" .'* **Created**'."\n" .'* **Modifying**'."\n" .'* **Deleting**'."\n", 'type' => 'string', 'example' => 'Created', 'title' => ''], 'Enabled' => ['description' => 'Indicates whether the traffic mirror session was enabled.'."\n" ."\n" .'* **false** '."\n" .'* **true**', 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'TrafficMirrorSessionBusinessStatus' => ['description' => 'The status of the traffic mirror session.'."\n" ."\n" .'* **Normal**'."\n" .'* **FinancialLocked**'."\n", 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'VirtualNetworkId' => ['description' => 'You can specify VNIs to distinguish different mirrored traffic.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'TrafficMirrorFilterId' => ['description' => 'The ID of the filter.'."\n", 'type' => 'string', 'example' => 'tmf-j6cmls82xnc86vtpe****', 'title' => ''], 'TrafficMirrorSessionName' => ['description' => 'The name of the traffic mirror session.'."\n", 'type' => 'string', 'example' => 'abc', 'title' => ''], 'TrafficMirrorSourceIds' => [ 'description' => 'The ID of the traffic mirror source.'."\n", 'type' => 'array', 'items' => ['description' => 'The ID of the traffic mirror source.'."\n", 'type' => 'string', 'example' => 'eni-j6c8znm5l1yt4sox****', 'title' => ''], 'title' => '', ], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the traffic mirror session belongs.'."\n", 'type' => 'string', 'example' => 'rg-bp67acfmxazb4ph****', 'title' => ''], 'Tags' => [ 'description' => 'The tag list.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', ], 'title' => '', ], 'CreationTime' => ['description' => 'The time when the session is created.', 'type' => 'string', 'example' => '2023-09-05T15:26Z', 'title' => ''], ], 'title' => '', ], 'title' => '', ], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The specified NextToken is invalid.'], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'title' => 'ListTrafficMirrorSessions', 'summary' => 'Queries the details of a traffic mirror session.', 'changeSet' => [ ['createdAt' => '2024-07-31T02:45:59.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-12-18T13:05:53.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-08-30T03:22:01.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListTrafficMirrorSessions', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorSession', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorsession/*'], ], ], ], ], ], 'ListVSwitchCidrReservations' => [ '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' => 'The tags.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. You can specify at most 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'A tag key can be up to 128 characters in length. It cannot start with aliyun or acs:, and cannot contain http:// or https://.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept'], 'Value' => ['description' => 'The tag value. You can specify at most 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length, and cannot start with acs: or aliyun. It cannot contain http:// or https://.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua'], ], 'required' => false, ], 'required' => false, 'maxItems' => 10, ], ], [ 'name' => 'VSwitchId', 'in' => 'query', 'schema' => ['description' => 'The ID of the vSwitch for which you want to query reserved CIDR blocks.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vsw-25navfgbue4g****'], ], [ 'name' => 'VSwitchCidrReservationIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'title' => '', 'description' => 'The ID of the reserved CIDR block. You can specify at most 10 IDs.'."\n", 'type' => 'array', 'items' => ['description' => 'The ID of the reserved CIDR block. You can specify at most 10 IDs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vcr-bp1m12saqteraw3rp****'], 'required' => false, 'maxItems' => 100, ], ], [ 'name' => 'VSwitchCidrReservationType', 'in' => 'query', 'schema' => ['description' => 'The type of the reserved CIDR block. Set the value to **prefix**.'."\n" ."\n" .'> When you allocate CIDR blocks, or enable the service to automatically allocate CIDR blocks to elastic network interfaces (ENIs), the CIDR blocks to allocate must fall into the reserved CIDR block. If the reserved CIDR is exhausted, an error message is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'prefix'], ], [ 'name' => 'IpVersion', 'in' => 'query', 'schema' => ['description' => 'The IP version of the reserved CIDR block. Valid values:'."\n" ."\n" .'* **IPv4** (default)'."\n" .'* **IPv6**'."\n", 'type' => 'string', 'required' => false, 'example' => 'IPv4'], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* You do not need to specify this parameter for the first request.'."\n" .'* You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: **1** to **100**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'default' => '10'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The region ID of the vSwitch.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45'], 'NextToken' => ['description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* If **NextToken** is empty, no next page exists.'."\n" .'* If a value is returned for **NextToken**, the value is the token that determines the start point of the next query.'."\n", 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10'], 'MaxResults' => ['description' => 'The number of entries to return per page.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10'], 'VSwitchCidrReservations' => [ 'description' => 'A list of reserved CIDR blocks.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'VpcId' => ['description' => 'The virtual private cloud (VPC) to which the reserved CIDR block belongs.'."\n", 'type' => 'string', 'example' => 'vpc-bp1wdz2pdhgurz1od****'], 'VSwitchId' => ['title' => '', 'description' => 'The ID of the vSwitch to which the reserved CIDR block belongs.'."\n", 'type' => 'string', 'example' => 'vsw-25navfgbue4g****'], 'VSwitchCidrReservationId' => ['title' => '', 'description' => 'The ID of the reserved CIDR block.'."\n", 'type' => 'string', 'example' => 'vcr-bp1m12saqteraw3rp****'], 'VSwitchCidrReservationCidr' => ['title' => '', 'description' => 'The reserved CIDR block.'."\n", 'type' => 'string', 'example' => '192.168.1.64/28'], 'VSwitchCidrReservationName' => ['title' => '', 'description' => 'The name of the reserved CIDR block.'."\n", 'type' => 'string', 'example' => 'ReservationName'], 'VSwitchCidrReservationDescription' => ['title' => '', 'description' => 'The description of the reserved CIDR block.'."\n", 'type' => 'string', 'example' => 'ReservationDescription'], 'IpVersion' => ['title' => 'IpVersion', 'description' => 'The IP version of the reserved CIDR block. Valid values:'."\n" ."\n" .'* **IPv4** (default)'."\n" .'* **IPv6**'."\n", 'type' => 'string', 'example' => 'IPv4'], 'CreationTime' => ['title' => '', 'description' => 'The time when the reserved CIDR block was created.'."\n", 'type' => 'string', 'example' => '2023-03-14T10:02:37Z'], 'Type' => ['title' => '', 'description' => 'The type of the reserved CIDR block. Valid value: **prefix**. CIDR blocks are allocated from the reserved CIDR block.'."\n", 'type' => 'string', 'example' => 'prefix'], 'AvailableCidrCount' => ['title' => '', 'description' => 'The number of available prefixes in the reserved CIDR block.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'], 'AssignedCidrCount' => ['title' => '', 'description' => 'The number of used prefixes in the reserved CIDR block.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '6'], 'Status' => ['description' => 'The status of the reserved CIDR block. Valid values:'."\n" ."\n" .'* **Assigning**'."\n" .'* **Assigned**'."\n" .'* **Releasing**'."\n" .'* **Released**'."\n", 'type' => 'string', 'example' => 'Assigned'], 'Tags' => [ 'description' => 'The tags.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'FinanceDept'], 'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'example' => 'FinanceJoshua'], ], ], ], ], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The specified NextToken is invalid.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListVSwitchCidrReservations', 'summary' => 'Queries the CIDR reservation information about vSwitches.', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListVSwitchCidrReservations', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitchCidrReservation', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitchcidrreservation/*'], ], ], ], ], ], 'ListVirtualPhysicalConnections' => [ 'summary' => 'Call the ListVirtualPhysicalConnections operation to query virtual physical connections.', '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' => ['description' => 'The ID of the physical connection associated with the virtual physical connection.', 'type' => 'string', 'required' => false, 'example' => 'pc-bp1ciz7ekd2grn1as****', 'title' => ''], ], [ 'name' => 'VirtualPhysicalConnectionBusinessStatus', 'in' => 'query', 'schema' => ['description' => 'The business status of the virtual physical connection. Valid values:'."\n" ."\n" .'- **Normal**: The connection is operating normally.'."\n" ."\n" .'- **FinancialLocked**: The connection is locked due to an overdue payment.'."\n" ."\n" .'- **SecurityLocked**: The connection is locked for security reasons.', 'type' => 'string', 'required' => false, 'example' => 'Normal', 'title' => ''], ], [ 'name' => 'VirtualPhysicalConnectionIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'title' => '', 'description' => 'The IDs of the virtual physical connections.', 'type' => 'array', 'items' => ['description' => 'The ID of a virtual physical connection.', 'type' => 'string', 'required' => false, 'example' => 'pc-bp1mrgfbtmc9brre7****', 'title' => ''], 'required' => false, 'example' => 'pc-xxx', 'maxItems' => 20, ], ], [ 'name' => 'IsConfirmed', 'in' => 'query', 'schema' => ['description' => 'Indicates whether the tenant has accepted the virtual physical connection. Valid values:'."\n" ."\n" .'- **true**: The connection has been accepted.'."\n" ."\n" .'- **false**: The connection has not been accepted.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'VirtualPhysicalConnectionStatuses', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'title' => '', 'description' => 'The business statuses of the virtual physical connections.', 'type' => 'array', 'items' => ['description' => 'The business status of the virtual physical connection. Valid values:'."\n" ."\n" .'- **Confirmed**: The connection has been accepted.'."\n" ."\n" .'- **UnConfirmed**: The connection is pending acceptance.'."\n" ."\n" .'- **Deleted**: The connection has been deleted.', 'type' => 'string', 'required' => false, 'example' => 'Confirmed', 'title' => ''], 'required' => false, 'example' => 'pc-xxx', 'maxItems' => 20, ], ], [ 'name' => 'VirtualPhysicalConnectionAliUids', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'title' => '', 'description' => 'The Alibaba Cloud accounts that own the virtual physical connections.', 'type' => 'array', 'items' => ['description' => 'The ID of the primary account that owns the virtual physical connection.', 'type' => 'string', 'required' => false, 'example' => '15346073170691****', 'title' => ''], 'required' => false, 'example' => '189xxx', 'maxItems' => 20, ], ], [ 'name' => 'VlanIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'title' => '', 'description' => 'The VLAN IDs of the virtual physical connections.', 'type' => 'array', 'items' => ['description' => 'The VLAN ID of the virtual physical connection.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], 'required' => false, 'example' => 'pc-xxx', 'maxItems' => 20, ], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return per page. Valid values: **1** to **100**. Default value: **20**.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'required' => false, 'example' => '20'], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The token used to retrieve the next page of results. Valid values:'."\n" ."\n" .'- Leave this parameter empty for the first request.'."\n" ."\n" .'- For subsequent requests, set this parameter to the `NextToken` value returned from the previous request.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'dd20****'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the virtual physical connection is located.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to obtain the latest list of regions.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ 'description' => 'A tag, which consists of a key-value pair.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of the tag. You can specify up to 20 tags. The tag key cannot be an empty string.'."\n" ."\n" .'The key can be up to 64 characters in length and can contain digits, periods (.), underscores (\\_), and hyphens (-). It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of the tag. You can specify up to 20 tags. The tag value can be an empty string.'."\n" ."\n" .'The value can be up to 128 characters in length and can contain digits, periods (.), underscores (\\_), and hyphens (-). It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 5, 'title' => '', 'example' => '', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the virtual physical connection belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4p**** ', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The response.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '2A55F69E-EE3D-5CBE-8805-734F7D5B46B9'], 'VirtualPhysicalConnections' => [ 'title' => 'Vpconn', 'description' => 'A list of virtual physical connections.', 'type' => 'array', 'items' => [ 'description' => 'The details of a virtual physical connection.', 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'The type of the physical connection. The default value is **VPC**.', 'type' => 'string', 'example' => 'VPC', 'title' => ''], 'Status' => ['description' => 'The status of the physical connection. Valid values:'."\n" ."\n" .'- **Initial**: The application is under review.'."\n" ."\n" .'- **Approved**: The application is approved.'."\n" ."\n" .'- **Allocating**: Resources are being allocated.'."\n" ."\n" .'- **Allocated**: The connection is ready for provisioning.'."\n" ."\n" .'- **Confirmed**: Awaiting user confirmation.'."\n" ."\n" .'- **Enabled**: The connection is enabled.'."\n" ."\n" .'- **Rejected**: The application is rejected.'."\n" ."\n" .'- **Canceled**: The application is canceled.'."\n" ."\n" .'- **Allocation Failed**: Resource allocation failed.'."\n" ."\n" .'- **Terminated**: The connection is terminated.', 'type' => 'string', 'example' => 'Enabled', 'title' => ''], 'CreationTime' => ['description' => 'The time the physical connection was created.', 'type' => 'string', 'example' => '2021-06-08T12:20:55', 'title' => ''], 'AdLocation' => ['description' => 'The physical location of the access device for the physical connection.', 'type' => 'string', 'example' => '余杭经济开发区XXX交叉口, 余杭XX机房, E***包间', 'title' => ''], 'PortNumber' => ['description' => 'The port number of the access device for the physical connection.', 'type' => 'string', 'example' => '80', 'title' => ''], 'Spec' => ['description' => 'The bandwidth of the virtual physical connection.'."\n" ."\n" .'M indicates Mbps, and G indicates Gbps.', 'type' => 'string', 'example' => '50M', 'title' => ''], 'ChargeType' => ['description' => 'The billing method of the physical connection.'."\n" ."\n" .'The only valid value is **Prepaid**, which corresponds to the subscription billing method.', 'type' => 'string', 'example' => 'Prepaid', 'title' => ''], 'Description' => ['description' => 'The description of the physical connection.', 'type' => 'string', 'example' => 'desctest', 'title' => ''], 'Bandwidth' => ['description' => 'The bandwidth of the physical connection. Unit: Mbps.', 'type' => 'integer', 'format' => 'int64', 'example' => '50', 'title' => ''], 'EnabledTime' => ['description' => 'The time the physical connection was enabled.', 'type' => 'string', 'example' => '2021-10-08T10:44Z', 'title' => ''], 'LineOperator' => ['description' => 'The carrier that provides the physical connection. Valid values include:'."\n" ."\n" .'- **CT**: China Telecom.'."\n" ."\n" .'- **CU**: China Unicom.'."\n" ."\n" .'- **CM**: China Mobile.'."\n" ."\n" .'- **CO**: other Chinese carriers.'."\n" ."\n" .'- **Equinix**: Equinix.'."\n" ."\n" .'- **Other**: other carriers outside China.', 'type' => 'string', 'example' => 'CU', 'title' => ''], 'PeerLocation' => ['description' => 'The location of the on-premises data center.', 'type' => 'string', 'example' => '浙江省杭州市XX区XX街道XX号', 'title' => ''], 'RedundantPhysicalConnectionId' => ['description' => 'The ID of the redundant physical connection.', 'type' => 'string', 'example' => 'pc-119mfjzm****', 'title' => ''], 'Name' => ['description' => 'The name of the physical connection.', 'type' => 'string', 'example' => 'nametest', 'title' => ''], 'CircuitCode' => ['description' => 'The circuit code of the physical connection, which is provided by the carrier.', 'type' => 'string', 'example' => 'longtel001', 'title' => ''], 'EndTime' => ['description' => 'The expiration time of the virtual physical connection.'."\n" ."\n" .'The time is in UTC and follows the `YYYY-MM-DDThh:mm:ssZ` format (ISO 8601).', 'type' => 'string', 'example' => '2021-11-08T16:00:00Z', 'title' => ''], 'PortType' => ['description' => 'The port type of the physical connection access point. Valid values:'."\n" ."\n" .'- **100Base-T**: 100 Mbps copper port.'."\n" ."\n" .'- **1000Base-T**: 1 Gbps copper port.'."\n" ."\n" .'- **1000Base-LX**: 1 Gbps single-mode optical port (10 km).'."\n" ."\n" .'- **10GBase-T**: 10 Gbps copper port.'."\n" ."\n" .'- **10GBase-LR**: 10 Gbps single-mode optical port (10 km).'."\n" ."\n" .'- **40GBase-LR**: 40 Gbps single-mode optical port.'."\n" ."\n" .'- **100GBase-LR**: 100 Gbps single-mode optical port.', 'type' => 'string', 'example' => '10GBase-LR', 'title' => ''], 'BusinessStatus' => ['description' => 'The business status of the physical connection. Valid values:'."\n" ."\n" .'- **Normal**: The connection is running as expected.'."\n" ."\n" .'- **FinancialLocked**: The connection is locked due to an overdue payment.'."\n" ."\n" .'- **SecurityLocked**: The connection is locked for security reasons.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'LoaStatus' => ['description' => 'The status of the Letter of Authorization (LOA). Valid values:'."\n" ."\n" .'- **Applying**: The LOA request is being processed.'."\n" ."\n" .'- **Accept**: The LOA application is approved.'."\n" ."\n" .'- **Available**: The LOA is generated and ready for use.'."\n" ."\n" .'- **Rejected**: The LOA request is rejected.'."\n" ."\n" .'- **Completing**: The physical connection is being provisioned.'."\n" ."\n" .'- **Complete**: Provisioning is complete.'."\n" ."\n" .'- **Deleted**: The LOA is deleted.', 'type' => 'string', 'example' => 'Available', 'title' => ''], 'AccessPointId' => ['description' => 'The ID of the access point.', 'type' => 'string', 'example' => 'ap-cn-hangzhou-finance-yh-E', 'title' => ''], 'PhysicalConnectionId' => ['description' => 'The ID of the virtual physical connection.', 'type' => 'string', 'example' => 'pc-bp1mrgfbtmc9brre7****', 'title' => ''], 'ProductType' => ['description' => 'The type of the physical connection. Valid values:'."\n" ."\n" .'- **VirtualPhysicalConnection**: a virtual physical connection.'."\n" ."\n" .'- **PhysicalConnection**: a dedicated physical connection.', 'type' => 'string', 'example' => 'VirtualPhysicalConnection', 'title' => ''], 'ParentPhysicalConnectionId' => ['description' => 'The ID of the parent physical connection.', 'type' => 'string', 'example' => 'pc-bp1ciz7ekd2grn1as****', 'title' => ''], 'VirtualPhysicalConnectionStatus' => ['description' => 'The business status of the virtual physical connection. Valid values:'."\n" ."\n" .'- **Confirmed**: The virtual physical connection has been accepted by the recipient.'."\n" ."\n" .'- **UnConfirmed**: The virtual physical connection is awaiting acceptance.'."\n" ."\n" .'- **Deleted**: The virtual physical connection is deleted.', 'type' => 'string', 'example' => 'Confirmed', 'title' => ''], 'ParentPhysicalConnectionAliUid' => ['description' => 'The ID of the Alibaba Cloud account that owns the parent physical connection.', 'type' => 'string', 'example' => '18311773240248****', 'title' => ''], 'OrderMode' => ['description' => 'The billing method of the virtual physical connection. Valid values:'."\n" ."\n" .'- **PayByPhysicalConnectionOwner**: The owner of the parent physical connection pays.'."\n" ."\n" .'- **PayByVirtualPhysicalConnectionOwner**: The owner of the virtual physical connection pays.', 'type' => 'string', 'example' => 'PayByPhysicalConnectionOwner', 'title' => ''], 'AliUid' => ['description' => 'The ID of the Alibaba Cloud account that owns the virtual physical connection.', 'type' => 'string', 'example' => '15346073170691****', 'title' => ''], 'VlanId' => ['description' => 'The VLAN ID of the virtual physical connection.', 'type' => 'string', 'example' => '10', 'title' => ''], 'ExpectSpec' => ['description' => 'The expected bandwidth for the virtual physical connection. This bandwidth is applied after the payment is completed.'."\n" ."\n" .'**M** indicates Mbps, and **G** indicates Gbps.', 'type' => 'string', 'example' => '50M', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the virtual physical connection belongs.', 'type' => 'string', 'example' => 'rg-acfm3wmsyui****', 'title' => ''], 'Tags' => [ 'description' => 'A list of tags.', 'type' => 'array', 'items' => [ 'description' => 'The details of the tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key, which cannot be an empty string. You can specify up to 20 tag keys.'."\n" ."\n" .'The key can be up to 64 characters in length and can contain digits, periods (.), underscores (\\_), and hyphens (-). The key cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The value can be up to 128 characters in length. It can contain digits, periods (.), underscores (\\_), and hyphens (-). It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'example' => '', ], 'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'- If **NextToken** is not returned, no more results are available.'."\n" ."\n" .'- If a value is returned for **NextToken**, use it in the next request to retrieve the subsequent page of results.', 'type' => 'string', 'example' => 'dd20****', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Count' => ['description' => 'The number of entries returned in this request.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.Bandwidth', 'errorMessage' => 'The param of Bandwidth [%s] is illegal.', 'description' => 'The specified bandwidth value is invalid.'], ['errorCode' => 'ResourceNotFound.PhysicalConnectionId', 'errorMessage' => 'The specified PhysicalConnectionId [%s] is not found.', 'description' => 'PhysicalConnectionId is set to an invalid value.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'title' => 'ListVirtualPhysicalConnections', 'changeSet' => [ ['createdAt' => '2023-08-08T13:15:03.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-12-02T02:38:40.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2021-11-17T03:03:06.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-09-27T03:23:37.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListVirtualPhysicalConnections'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListVirtualPhysicalConnections', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], ], 'translator' => 'machine', ], 'ListVpcEndpointServicesByEndUser' => [ 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ 'name' => 'ServiceName', 'in' => 'query', 'schema' => ['description' => 'The name of the endpoint service that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'com.aliyun.cn-hangzhou.oss', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'* If this is your first query and no next queries are to be sent, ignore this parameter.'."\n" .'* If a next query is to be performed, set the value to the NextToken value returned in the last call to the ListListenerCertificates operation.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return per page. Valid values: **1** to **100**. Default value: **20**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '20', 'default' => '10', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The region ID of the gateway endpoint.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '0AB1129F-32C1-5E4D-9E22-E4A859CA46EB'], 'NextToken' => ['description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'* If no value is returned for **NextToken**, no next queries are sent.'."\n" .'* If **NextToken** is returned, the value is the token that is used for the next query.'."\n", 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'MaxResults' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], 'Services' => [ 'description' => 'The list of entries returned.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'ServiceId' => ['description' => 'The ID of the endpoint service.'."\n", 'type' => 'string', 'example' => 'vpces-m5enwdmilo210aibo9****', 'title' => ''], 'ServiceName' => ['description' => 'The name of the endpoint service.'."\n", 'type' => 'string', 'example' => 'com.aliyun.cn-hangzhou.oss', 'title' => ''], 'DefaultPolicyDocument' => ['description' => 'The default access policy.'."\n", 'type' => 'string', 'example' => '{ \\"Version\\" : \\"1\\", \\"Statement\\" : [ { \\"Effect\\" : \\"Allow\\", \\"Action\\" : \\"*\\", \\"Principal\\" : \\"*\\", \\"Resource\\" : \\"*\\" } ] }', 'title' => ''], 'SupportPolicy' => ['description' => 'Indicate whether the endpoint service supports the access policy. Valid values:'."\n" ."\n" .'* **false**'."\n" .'* **true**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ServiceDomain' => ['description' => 'The domain name of the cloud service to which the endpoint service belongs.'."\n", 'type' => 'string', 'example' => 'oss-admin.aliyuncs.com', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'string', 'example' => '2', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.EndpointServiceId', 'errorMessage' => 'The specified resource gateway endpoint service is not found.', 'description' => ''], ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The specified NextToken is invalid.'], ], ], 'title' => 'ListVpcEndpointServicesByEndUser', 'summary' => 'Queries available endpoint services.', 'changeSet' => [ ['createdAt' => '2023-08-25T06:36:30.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListVpcEndpointServicesByEndUser', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], '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":""}]', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListVpcEndpointServicesByEndUser'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'ListVpcGatewayEndpoints' => [ 'summary' => 'Queries gateway endpoints.', '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' => '', 'description' => 'The ID of the gateway endpoint.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vpce-bp1i1212ss2whuwyw****'], ], [ 'name' => 'EndpointName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The name of the gateway endpoint.'."\n" ."\n" .'The name must be 1 to 128 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ 'name' => 'ServiceName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The name of the endpoint service.'."\n", 'type' => 'string', 'required' => false, 'example' => 'com.aliyun.cn-hangzhou.oss'], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* You do not need to specify this parameter for the first request.'."\n" .'* If a value is returned for NextToken, specify the value in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return per page. Valid values: **1** to **100**. Default value: **20**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'example' => '20', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The region ID of the gateway endpoint.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the gateway endpoint belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxvfvazb4p****', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag list.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The tag list', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N added to the resource. You can specify at most 20 tag keys. It cannot be an empty string.'."\n" ."\n" .'The key cannot exceed 64 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). The key must start with a letter but cannot start with `aliyun` or `acs:`. The key cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of tag N added to the resource. You can specify at most 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value cannot exceed 128 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). The key must start with a letter but cannot start with `aliyun` or `acs:`. The key cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the virtual private cloud (VPC) to which the gateway endpoint belongs.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1gsk7h12ew7oegk****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '0AB1129F-32C1-5E4D-9E22-E4A859CA46EB'], 'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* If no value is returned for **NextToken**, no next queries are sent.'."\n" .'* If a value is returned for **NextToken**, the value can be used in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'TotalCount' => ['description' => 'The number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], 'Endpoints' => [ 'description' => 'The list of gateway endpoints.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'EndpointId' => ['description' => 'The ID of the gateway endpoint.'."\n", 'type' => 'string', 'example' => 'vpce-bp1i1212ss2whuwyw****', 'title' => ''], 'EndpointName' => ['description' => 'The name of the gateway endpoint.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'EndpointDescription' => ['description' => 'The description of the gateway endpoint.'."\n", 'type' => 'string', 'example' => 'test_description', 'title' => ''], 'ServiceName' => ['description' => 'The name of the endpoint service.'."\n", 'type' => 'string', 'example' => 'com.aliyun.cn-hangzhou.oss', 'title' => ''], 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC) to which the gateway endpoint belongs.'."\n", 'type' => 'string', 'example' => 'vpc-bp1gsk7h12ew7oegk****', 'title' => ''], 'PolicyDocument' => ['description' => 'The access policy for the cloud service.'."\n" ."\n" .'For more information about the syntax and structure of the access policy, see [Policy syntax and structure](~~93739~~).'."\n", 'type' => 'string', 'example' => '{\\n \\"Version\\": \\"1\\",\\n \\"Statement\\": [\\n {\\n \\"Effect\\": \\"Allow\\",\\n \\"Action\\": \\"*\\",\\n \\"Principal\\": \\"*\\",\\n \\"Resource\\": \\"*\\"\\n }\\n ]\\n}', 'title' => ''], 'CreationTime' => ['description' => 'The time when the endpoint was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2021-09-08T08:43:04Z', 'title' => ''], 'EndpointStatus' => ['description' => 'The status of the gateway endpoint. Valid values:'."\n" ."\n" .'* **Creating**'."\n" .'* **Created**'."\n" .'* **Modifying**'."\n" .'* **Associating**'."\n" .'* **Dissociating**'."\n" .'* **Deleting**'."\n", 'type' => 'string', 'example' => 'Created', 'title' => ''], 'AssociatedRouteTables' => [ 'description' => 'The ID of the route table associated with the gateway endpoint.'."\n", 'type' => 'array', 'items' => ['description' => 'The ID of the route table associated with the gateway endpoint.'."\n", 'type' => 'string', 'example' => 'vtb-bp1sme72jnuodvyx7****', 'title' => ''], 'title' => '', 'example' => '', ], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the gateway endpoint belongs.'."\n", 'type' => 'string', 'example' => 'rg-acfmxvfvazb4p****', 'title' => ''], 'Tags' => [ 'description' => 'The tag list.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of tag N added to the resource.'."\n", 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of tag N added to the resource.'."\n", 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'MaxResults' => ['title' => '', 'description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '20'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The specified NextToken is invalid.'], ['errorCode' => 'IllegalParam.MaxResults', 'errorMessage' => 'The param of MaxResults is illegal.', 'description' => ''], ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'Specified value of VpcId is not found in our record.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListVpcGatewayEndpoints', 'changeSet' => [ ['createdAt' => '2023-09-06T08:37:25.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-06-13T02:40:56.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-23T02:20:38.000Z', 'description' => 'Request parameters changed, Response parameters changed, Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListVpcGatewayEndpoints', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'GatewayEndpoint', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:gatewayendpoint/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'GatewayEndpoint', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:gatewayendpoint/{#GatewayEndpointId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListVpcGatewayEndpoints'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'ListVpcPublishedRouteEntries' => [ 'methods' => ['get', 'post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the instance is located.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the instance is located.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RouteTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the route table.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-bp145q7glnuzd****', 'title' => ''], ], [ 'name' => 'DestinationCidrBlock', 'in' => 'query', 'schema' => ['description' => 'The destination CIDR block of the route entry, supporting both IPv4 and IPv6 segments.', 'type' => 'string', 'required' => false, 'example' => '47.100.XX.XX/16', 'title' => ''], ], [ 'name' => 'TargetType', 'in' => 'query', 'schema' => ['description' => 'The type of the route publishing target.', 'type' => 'string', 'required' => true, 'example' => 'ECR', 'title' => ''], ], [ 'name' => 'TargetInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the route publishing target instance.', 'type' => 'string', 'required' => false, 'example' => 'ecr-dhw2xsds5****', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries to display per batch query. Range: **1**~**500**, default value is **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '500', 'default' => '50', 'example' => '50', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'Indicates whether there is a token for the next query. Values:'."\n" .'- If **NextToken** is empty, it means there is no next query.'."\n" .'- If **NextToken** has a return value, this value indicates the token for the start of the next query.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '1D0971B2-A35A-42C1-A44C-E91360C36C0B', 'title' => ''], 'NextToken' => ['description' => 'Indicates whether there is a token for the next query. Values:'."\n" ."\n" .'- If **NextToken** is empty, it means there is no next query.'."\n" .'- If **NextToken** has a return value, this value indicates the token for the start of the next query.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], 'RouteEntries' => [ 'description' => 'List of route entry publishing status information.', 'type' => 'array', 'items' => [ 'description' => 'List of route entry publishing status information.', 'type' => 'object', 'properties' => [ 'RouteEntryId' => ['description' => 'The ID of the route entry.', 'type' => 'string', 'example' => 'rte-bp1mnnr2al0naomnpv****', 'title' => ''], 'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the route entry.', 'type' => 'string', 'example' => '10.0.0.0/24', 'title' => ''], 'RouteTableId' => ['description' => 'The ID of the route table.', 'type' => 'string', 'example' => 'vtb-2ze3jgygk9bmsj23s****', 'title' => ''], 'RoutePublishTargets' => [ 'description' => 'List of route entry publishing status information in the publishing targets.', 'type' => 'array', 'items' => [ 'description' => 'List of route entry publishing status information in the publishing targets.', 'type' => 'object', 'properties' => [ 'PublishStatus' => [ 'description' => 'The publishing status of the route entry in the publishing target.', 'type' => 'string', 'enumValueTitles' => ['NonPublished' => 'NonPublished', 'Published' => 'Published'], 'example' => 'Published', 'title' => '', ], 'PublishTargetType' => ['description' => 'The type of the route publishing target.', 'type' => 'string', 'example' => 'ECR', 'title' => ''], 'PublishTargetInstanceId' => ['description' => 'The ID of the route publishing target instance.', 'type' => 'string', 'example' => 'ecr-xvuqdfma6x57ei****', 'title' => ''], ], 'title' => '', ], 'title' => '', ], ], 'title' => '', ], 'title' => '', ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotAssociated.TargetInstance', 'errorMessage' => 'The target instance is not associated with vpc.', 'description' => ''], ['errorCode' => 'ResourceNotFound.RouteTable', 'errorMessage' => 'The specified resource gatewayRouteTable is not found.', 'description' => 'The gateway route table does not exist.'], ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The specified NextToken is invalid.'], ['errorCode' => 'IllegalParam.NextTokenExpired', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The specified NextToken is invalid.'], ['errorCode' => 'IllegalParam.TargetType', 'errorMessage' => 'The parameter of TargetType is illegal.', 'description' => 'The parameter TargetType is illegal.'], ['errorCode' => 'OperationDenied.UnexpectedRouteTable', 'errorMessage' => 'Operation is denied because only system route table supports publishing route entries.', 'description' => 'The operation was denied because only the system routing table supports publishing routes'], ], ], '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' => 'Query VPC Route Publishing Status', 'summary' => 'Query the route publishing status', 'changeSet' => [ ['createdAt' => '2024-11-27T03:51:09.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-09-13T07:10:19.000Z', 'description' => 'Error codes changed, Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListVpcPublishedRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], ], ], 'ListVpnCertificateAssociations' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ '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-hangzhou', 'title' => ''], ], [ 'name' => 'CertificateType', 'in' => 'query', 'schema' => ['description' => 'The certificate type. Valid values:'."\n" ."\n" .'* **Encryption**'."\n" .'* **Signature**'."\n", 'type' => 'string', 'required' => false, 'example' => 'Signature', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* You do not need to specify this parameter for the first request.'."\n" .'* You must specify the token that is obtained from the previous query as the value of **NextToken**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be0****', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: **1** to **20**. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of VPN gateway IDs.'."\n" ."\n" .'You can query the association between at most 20 VPN gateways and SSL certificates.'."\n", 'type' => 'array', 'items' => ['description' => 'The ID of the VPN gateway.'."\n" ."\n" .'You can query the association between at most 20 VPN gateways and SSL certificates.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', 'title' => ''], 'required' => false, 'example' => 'vpn-bp1q8bgx4xnkm****', 'maxLength' => 128, 'maxItems' => 20, 'title' => '', ], ], [ 'name' => 'CertificateId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of certificate IDs.'."\n" ."\n" .'You can query the association between at most 20 SSL certificates and VPN gateways.'."\n", 'type' => 'array', 'items' => ['description' => 'The certificate ID.'."\n" ."\n" .'You can query the association between at most 20 SSL certificates and VPN gateways.'."\n", 'type' => 'string', 'required' => false, 'example' => '848****', 'title' => ''], 'required' => false, 'example' => '6bfe4218-ea1d****', 'maxLength' => 128, 'maxItems' => 20, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. Valid values:'."\n" ."\n" .'* If **NextToken** is empty, no next page exists.'."\n" .'* If **NextToken** is not empty, the value indicates the token that is used for the next query.'."\n", 'type' => 'string', 'example' => 'caeba0bbb2be****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '197AF2BD-547F-470C-B29A-8400400233EB', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], 'MaxResults' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'VpnCertificateRelations' => [ 'description' => 'The association information.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The association between the VPN gateway and the certificate.'."\n", 'type' => 'object', 'properties' => [ 'VpnGatewayId' => ['description' => 'The ID of the VPN gateway.'."\n", 'type' => 'string', 'example' => 'vpn-bp1usbiorilk51760****', 'title' => ''], 'CertificateType' => ['description' => 'The type of the certificate.'."\n" ."\n" .'* **Encryption**'."\n" .'* **Signature**'."\n", 'type' => 'string', 'example' => 'Signature', 'title' => ''], 'CertificateId' => ['description' => 'The certificate ID.'."\n", 'type' => 'string', 'example' => '6bfe4218-ea1d****', 'title' => ''], 'AssociationTime' => ['description' => 'The time when the Anycast EIP was associated.'."\n" ."\n" .'The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2020-12-29T09:30:29Z', 'title' => ''], 'RegionId' => ['description' => 'The ID of the region where the VPN gateway is created.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified next token (%s) is invalid.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListVpnCertificateAssociations', 'summary' => 'Queries the association between VPN gateways and certificates in a region.', 'description' => 'When you call **ListVpnCertificateAssociations**, take note of the following information:'."\n" ."\n" .'* If you specify only **RegionId**, the SSL certificates associated with all VPN gateways in the specified region are queried.'."\n" .'* If you specify **RegionId** and **CertificateType**, the SSL certificates of the specified type that are associated with the VPN gateways in the specified region are queried.'."\n" .'* If you specify **RegionId** and **VpnGatewayId**, the SSL certificates associated with the specified VPN gateway in the specified region are queried.'."\n" .'* If you specify **RegionId** and **CertificateId**, the VPN gateways associated with the specified SSL certificate in the specified region are queried.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], '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":""}]', ], 'ModifyBgpGroupAttribute' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the BGP group.'."\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', 'title' => ''], ], [ 'name' => 'BgpGroupId', 'in' => 'query', 'schema' => ['description' => 'The BGP group ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bgpg-wz9f62v4fbg2g****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The BGP group name.'."\n" ."\n" .'The name must be 2 to 128 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The BGP group description.'."\n" ."\n" .'The description must be 2 to 256 characters in length. It must start with a letter and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'BGP', 'title' => ''], ], [ 'name' => 'LocalAsn', 'in' => 'query', 'schema' => ['description' => 'The custom autonomous system number (ASN) of the BGP on the Alibaba Cloud side. Valid values:'."\n" ."\n" .'* **45104**'."\n" .'* **64512~65534**'."\n" .'* **4200000000~4294967294**'."\n" ."\n" .'> **65025** is reserved by Alibaba Cloud. Alibaba Cloud uses **45104** as the **local ASN** by default. Custom **local ASNs** may cause loops in multi-line scenarios. Proceed with caution.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '45104', 'title' => ''], ], [ 'name' => 'PeerAsn', 'in' => 'query', 'schema' => ['description' => 'The ASN of the gateway device in the data center.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1****', 'title' => ''], ], [ 'name' => 'AuthKey', 'in' => 'query', 'schema' => ['description' => 'The authentication key of the BGP group.'."\n", 'type' => 'string', 'required' => false, 'example' => '!PWZ2****', 'title' => ''], ], [ 'name' => 'IsFakeAsn', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to use a fake AS number. Valid values:'."\n" ."\n" .'* **false** (default)'."\n" .'* **true**'."\n" ."\n" .'> A router that runs BGP typically belongs to only one AS. If you need to replace an AS with a new one, but you cannot immediately modify BGP configurations due to business requirements, you can specify a fake AS number to establish a connection with the local end. This ensures service continuity in scenarios such as AS migration or AS merging.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'true', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'RouteQuota', 'in' => 'query', 'schema' => ['description' => 'The maximum number of routes supported by a BGP peer. Default value: **110**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '110', 'title' => ''], ], [ 'name' => 'ClearAuthKey', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to clear the secret key. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false** (default)'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '8C3C6D7C-A1CE-4FD8-BC57-DC493A55F76F', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'QuotaExceeded.Bgp', 'errorMessage' => 'bgp peer count per vbr quota exceed.', 'description' => 'The number of BGP peers in the VBR has reached the upper limit.'], ['errorCode' => 'QuotaExceeded.Nqa', 'errorMessage' => 'nqa count per vbr quota exceed.', 'description' => ''], ['errorCode' => 'QuotaExceeded.BgpNetwork', 'errorMessage' => 'bgp network count per vbr quota exceed.', 'description' => ''], ['errorCode' => 'InvalidPeerIpAddress', 'errorMessage' => 'multi pconn peer ip can not be null.', 'description' => ''], ['errorCode' => 'InvalidVbrNetwork', 'errorMessage' => 'vbr netowrk not exists', 'description' => ''], ['errorCode' => 'InvalidBgpGroup', 'errorMessage' => 'bgp group not exists', 'description' => ''], ['errorCode' => 'InvalidBgpName.Malformed', 'errorMessage' => 'Specified Bgp Group name is not valid.', 'description' => ''], ['errorCode' => 'InvalidBgpDiscription.Malformed', 'errorMessage' => 'Specified Bgp Group description is not valid.', 'description' => ''], ['errorCode' => 'InvalidBgpAuthkey.Malformed', 'errorMessage' => 'Specified Bgp Group authkey is not valid.', 'description' => ''], ['errorCode' => 'InvalidIP.Malformed', 'errorMessage' => 'Ip malformed.', 'description' => ''], ['errorCode' => 'InvalidPeerAsn.Malformed', 'errorMessage' => 'invalid peer asn cannot equals aliyun asn:45104', 'description' => ''], ['errorCode' => 'InvalidParams.NotNull', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidBgpGroup.LocalAsnInvalid', 'errorMessage' => 'The specified BgpGroup LocalAsn is invalid, only support 64512 to 65534 or 4200000000 to 4294967294, and cannot be 65025.', 'description' => ''], ['errorCode' => 'InvalidParams.NotFound', 'errorMessage' => 'instance not found', 'description' => ''], ['errorCode' => 'InvalidParams.AlreadyExists', 'errorMessage' => 'bgp network already exists', 'description' => 'The BGP network already exists.'], ['errorCode' => 'InvalidStatus.CannotOperate', 'errorMessage' => 'invalid status cannot operate', 'description' => ''], ['errorCode' => 'InvalidParams.PeerIpAddressMustPointOut', 'errorMessage' => 'vbr has 0 or more than 1 subif ,point out peerIpAddress.', 'description' => 'You must set the PeerIpAddress parameter.'], ['errorCode' => 'InvalidParams.PeerIpAddressInUse', 'errorMessage' => 'peer ip address in use ,cannot create bgp peer.', 'description' => 'The peer IP address is being used. Therefore, you cannot use it to create a BGP peer.'], ['errorCode' => 'IllegalParam.PeerAsn', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.LocalAsn', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationFailed.PconnTrafficNotEnable', 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', 'description' => 'Billing for outbound data transfer is disabled.'], ['errorCode' => 'OperationUnsupport', 'errorMessage' => 'Operation is unsupport, not in vbr support custom local asn white list.', 'description' => 'The operation is not supported.'], ['errorCode' => 'OperationFailed.ClearAuthKeyForbidden', 'errorMessage' => 'The specific auth key is not empty.', 'description' => 'The specified key is not empty and cannot be cleared.'], ['errorCode' => 'IllegalParam.RouteLimit', 'errorMessage' => 'The operation is failed because of bgp group max route entry num quota exceed.', 'description' => 'The number of routes that can be received by each BGP peer in the BGP group exceeds the upper limit.'], ['errorCode' => 'OperationDenied.VbrAttachEcrInMiddleStatus', 'errorMessage' => 'The operation is not allowed because of VBR attach or detach ECR in middle status.', 'description' => 'The current operation cannot be performed because the VBR is in the process of loading or unloading the leased line gateway. Please wait a moment and try again.'], ['errorCode' => 'OperationUnsupported.VBRAttachedECR', 'errorMessage' => 'VBR already attached to ECR, please delete it from ECR.', 'description' => 'The VBR has been bound to ECR. Delete the VBR from ECR and try again.'], ['errorCode' => 'OperationFailed.ResourceLockedBySystem', 'errorMessage' => 'The specified resource is locked by system.', 'description' => 'The operating resource is locked by the system and cannot be operated temporarily.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'Specified value of "regionId" is not supported.', 'description' => ''], ], ], 'title' => 'ModifyBgpGroupAttribute', 'summary' => 'Modifies the configuration of a Border Gateway Protocol (BGP) group.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-06-19T02:32:26.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2024-06-13T08:13:19.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-07T04:10:41.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2021-11-17T03:03:07.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8C3C6D7C-A1CE-4FD8-BC57-DC493A55F76F\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 8C3C6D7C-A1CE-4FD8-BC57-DC493A55F76F\\n","errorExample":""}]', 'operationType' => 'readAndWrite', ], 'ModifyBgpPeerAttribute' => [ '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' => 'The region ID of the BGP group to which the BGP peer that you want to modify belongs.'."\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', 'title' => ''], ], [ 'name' => 'BgpPeerId', 'in' => 'query', 'schema' => ['description' => 'The ID of the BGP peer that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bgp-m5eoyp2mwegk8ce9v****', 'title' => ''], ], [ 'name' => 'BgpGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the BGP group to which the BGP peer that you want to modify belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'bgpg-m5eo12jxuw2hc0uqq****', 'title' => ''], ], [ 'name' => 'PeerIpAddress', 'in' => 'query', 'schema' => ['description' => 'The IP address of the BGP peer that you want to modify.'."\n", 'type' => 'string', 'required' => false, 'example' => '116.62.XX.XX', 'title' => ''], ], [ 'name' => 'EnableBfd', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable the Bidirectional Forwarding Detection (BFD) feature. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false** (default)'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'BfdMultiHop', 'in' => 'query', 'schema' => ['description' => 'The BFD hop count. Valid values: **1** to **255**.'."\n" ."\n" .'This parameter is required only if you enable BFD. The parameter specifies the maximum number of network devices that a packet can traverse from the source to the destination. Set a value based on your network topology.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'D4B7649A-61BB-4C64-A586-1DFF1EDA6A42', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.IpAddress', 'errorMessage' => 'The specified IpAddress is illegal.', 'description' => 'The specified IpAddress is illegal'], ['errorCode' => 'InvalidAccessDeviceId.NotFound', 'errorMessage' => 'There is no Access_Device_Id in our records', 'description' => ''], ['errorCode' => 'QuotaExceeded.BfdSession', 'errorMessage' => 'Your Bfd Session number reaches the upper limit.', 'description' => ''], ['errorCode' => 'MissingParam.BgpPeerId', 'errorMessage' => 'The parameter BgpPeerId is mandatory.', 'description' => ''], ['errorCode' => 'InvalidBgpPeer.NotFound', 'errorMessage' => 'The specified BgpPeerId does not exit in our records.', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => 'The specified region ID does not exist.'], ['errorCode' => 'IncorrectStatus.BgpPeer', 'errorMessage' => 'Invalid BgpPeer status cannot operate.', 'description' => 'The status of the BGP peer does not support this operation.'], ['errorCode' => 'MissingParam.EnableBfd', 'errorMessage' => 'The parameter EnableBfd is missing.', 'description' => ''], ['errorCode' => 'IllegalParam.BfdMultiHop', 'errorMessage' => 'BfdMultiHop is illegal.', 'description' => ''], ['errorCode' => 'OperationFailed.PconnTrafficNotEnable', 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', 'description' => 'Billing for outbound data transfer is disabled.'], ['errorCode' => 'DuplicatedParam.PeerIpAddress', 'errorMessage' => 'The param of PeerIpAddress is duplicated.', 'description' => 'Duplicate IP addresses of BGP peers exist.'], ['errorCode' => 'OperationFailed.ResourceLockedBySystem', 'errorMessage' => 'The specified resource is locked by system.', 'description' => 'The operating resource is locked by the system and cannot be operated temporarily.'], ], 404 => [ ['errorCode' => 'InvalidBgpPeerId.NotFound', 'errorMessage' => 'The specified BgpPeerId does not exit in our records.', 'description' => ''], ['errorCode' => 'IncorretStatus.BgpPeer', 'errorMessage' => 'The specified BgpPeer status is not stable, can not operate.', 'description' => ''], ], 500 => [ ['errorCode' => 'Internal.Error', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ModifyBgpPeerAttribute', 'summary' => 'Modifies the configuration of a BGP peer.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-01-04T01:43:50.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D4B7649A-61BB-4C64-A586-1DFF1EDA6A42\\"\\n}","errorExample":""},{"type":"xml","example":"\\n D4B7649A-61BB-4C64-A586-1DFF1EDA6A42\\n","errorExample":""}]', ], 'ModifyCommonBandwidthPackageAttribute' => [ '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' => 'The ID of the region where the EIP bandwidth plan is created.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'BandwidthPackageId', 'in' => 'query', 'schema' => ['description' => 'The ID of the EIP bandwidth plan.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cbwp-2ze2ic1xd2qeqk145****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the EIP bandwidth plan. The name must be 2 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter. It cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test123', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the EIP bandwidth plan. The description must be 2 to 256 characters in length. It must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => '描述', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'B450CAD8-50BC-4506-ADA7-35C6CE63E96B', 'title' => ''], ], 'description' => 'The response.', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter.Name.Malformed', 'errorMessage' => 'The specified Name is not valid.', 'description' => ''], ['errorCode' => 'InvalidParameter.Description.Malformed', 'errorMessage' => 'The specified Description is not valid.', 'description' => ''], ['errorCode' => 'InvalidBandwidthPackageId.NotFound', 'errorMessage' => 'The specified BandwidthPackageId not exist.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidBandwidthPackageId.NotFound', 'errorMessage' => 'The specified bandwidthPackageId does not exist in our records.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ModifyCommonBandwidthPackageAttribute', 'summary' => 'Modifies the name and description of an Internet Shared Bandwidth instance.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], '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}"}]', ], 'ModifyCommonBandwidthPackageIpBandwidth' => [ 'summary' => 'Sets the maximum bandwidth of an EIP that is associated with an Internet Shared Bandwidth instance.', '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' => 'The region ID of the Internet Shared Bandwidth instance. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'BandwidthPackageId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet Shared Bandwidth instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cbwp-2zep6hw5d6y8exscd****', 'title' => ''], ], [ 'name' => 'EipId', 'in' => 'query', 'schema' => ['description' => 'The ID of the EIP that is associated with the Internet Shared Bandwidth instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eip-2zewysoansu0svfbg****', 'title' => ''], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The maximum bandwidth for the EIP. This value cannot be larger than the maximum bandwidth of the Internet Shared Bandwidth instance. Unit: Mbit/s.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '500', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '63D187BF-A30A-4DD6-B68D-FF182C96D8A2 ', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => '%s', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationFailed.DistibuteLock', 'errorMessage' => 'Distibute lock fail.', 'description' => 'The operation is locked by another request;'], ['errorCode' => 'Forbidden.FinancialLocked', 'errorMessage' => 'The ip business status is invalid.', 'description' => 'The error message returned because the instance has overdue payments.'], ['errorCode' => 'InvalidEIPStatus.BizDisabled', 'errorMessage' => 'The EIP has been locked.', 'description' => 'The error message returned because the EIP is locked.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => '%s', 'errorMessage' => '%s', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeEipAddresses', 'callbackInterval' => 3, 'maxCallbackTimes' => 10], 'title' => 'ModifyCommonBandwidthPackageIpBandwidth', 'description' => 'You can call the **ModifyCommonBandwidthPackageIpBandwidth** operation to set the maximum bandwidth of an EIP that is associated with an Internet Shared Bandwidth instance. This prevents an EIP from exhausting the bandwidth resources of an Internet Shared Bandwidth instance.'."\n" ."\n" .'For example, two EIPs are associated with an Internet Shared Bandwidth instance whose maximum bandwidth is 800 Mbit/s. In this case, you can set the maximum bandwidth of one EIP to 500 Mbit/s and that of the other EIP to 400 Mbit/s. After you set the maximum bandwidth values, the first EIP cannot consume bandwidth higher than 500 Mbit/s. The second EIP cannot consume bandwidth higher than 400 Mbit/s.'."\n" ."\n" .'When you call this operation, take note of the following items:'."\n" ."\n" .'* This operation is valid only for EIPs that are associated with Elastic Compute Service (ECS) instances. This operation is invalid for EIPs that are associated with Server Load Balancer (SLB) instances, NAT gateways, secondary elastic network interfaces (ENIs), or high-availability virtual IP addresses (HAVIPs).'."\n" .'* This operation is in public preview. You can call this operation to set the maximum bandwidth of EIPs only if the EIPs are associated with an Internet Shared Bandwidth instance. The feature is not supported in the console.'."\n" .'* You cannot repeatedly call this operation to set the maximum bandwidth of an EIP within the specified period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2022-11-29T10:25:34.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'ModifyCommonBandwidthPackageSpec' => [ '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' => 'The region ID of the Internet Shared Bandwidth instance. '."\n" ."\n" .'You can call [DescribeRegions](~~36063~~) to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'BandwidthPackageId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet Shared Bandwidth instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cbwp-2ze2ic1xd2qeqk145****', 'title' => ''], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The peak bandwidth of the Internet Shared Bandwidth instance. Unit: Mbit/s. '."\n" ."\n" .''."\n" ."\n" .' - If the billing method of the Internet Shared Bandwidth instance is pay-by-bandwidth, the default value range of **Bandwidth** is **2** to **20000**.'."\n" .'- If the billing method of the Internet Shared Bandwidth instance is pay-by-95th-percentile-bandwidth, the default value range of **Bandwidth** is **200** to **20000**.'."\n" .'- If the billing method of the Internet Shared Bandwidth instance is pay-by-traffic, the default value range of **Bandwidth** is **1** to **2000**.'."\n" ."\n" .''."\n" .'Valid values: **1** to **1000**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '7F129000-F929-4AF5-BE8D-BAE434C795306', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotEnough.Bandwidth', 'errorMessage' => 'The specified resource of Bandwidth is not enough.', 'description' => 'The specified resource of Bandwidth is insufficient.'], ['errorCode' => 'InvalidParameter.Bandwidth', 'errorMessage' => 'The specified bandwidth is not valid.', 'description' => ''], ['errorCode' => 'InvalidBandwidthPackageId.NotFound', 'errorMessage' => 'The specified BandwidthPackageId not exist.', 'description' => ''], ['errorCode' => 'InvalidCommonBandwidthPackageId.NotFound', 'errorMessage' => 'The specified BandwidthPackageId is not found.', 'description' => ''], ['errorCode' => 'IncorrectStatus.ResourceStatus', 'errorMessage' => 'Resource status is abnormal for renew.', 'description' => ''], ['errorCode' => 'SYSTEM.SALE_VALIDATE_UNEXPECTED_ERROR', 'errorMessage' => 'You have arrears and do not meet the purchase conditions.', 'description' => ''], ['errorCode' => 'OperationFailed.SyncOrderToSub', 'errorMessage' => 'SyncOrderToSub error.', 'description' => 'The operation failed.'], ['errorCode' => 'OperationFailed.SaleValidate', 'errorMessage' => 'Validate sale condition with subArticle failed.', 'description' => 'Failed to validate the sales condition with a subproject.'], ['errorCode' => 'OperationFailed.QueryCommodityInfo', 'errorMessage' => 'Operation failed because quey commodity info error.', 'description' => ''], ['errorCode' => 'OperationFailed.QueryPrice', 'errorMessage' => 'Query price failed when create order.', 'description' => 'Failed to query the price when creating the order.'], ['errorCode' => 'Forbidden.ChargeTypeIsPrepaid', 'errorMessage' => 'It\'s forbidden to change prepaid CBWP\'s bandwidth by API. It can be changed on Aliyun web console.', 'description' => ''], ['errorCode' => 'IncorrectStatus.CbwpModifying', 'errorMessage' => 'Cbwp Modifying status is invalid.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidBandwidthPackageId.NotFound', 'errorMessage' => 'The specified BandwidthPackageId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidBandwidth.ValueNotSupported', 'errorMessage' => 'The specified value of Bandwidth not supported.', 'description' => ''], ['errorCode' => 'BandwidthPackage.FinancialLocked', 'errorMessage' => 'The specified BandwidthPackage has been Financial Lock.', 'description' => ''], ], 500 => [ ['errorCode' => 'OrderError.BandwidthPackage', 'errorMessage' => 'The Account failed to create order.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeCommonBandwidthPackages', 'callbackInterval' => 3, 'maxCallbackTimes' => 10], 'title' => 'Modify the peak bandwidth of an internet shared bandwidth instance', 'summary' => 'Calls the ModifyCommonBandwidthPackageSpec operation to modify the peak bandwidth of an Internet Shared Bandwidth instance.', 'description' => 'Before you call this operation, take note of the following information:'."\n" .'- **ModifyCommonBandwidthPackageSpec** is an asynchronous operation. After you send a request, the system returns a request ID, but the peak bandwidth of the Internet Shared Bandwidth instance has not been modified yet. The modification task is still running in the background. You can call [DescribeCommonBandwidthPackages](~~120309~~) to query the status of the Internet Shared Bandwidth instance.'."\n" .' - If the Internet Shared Bandwidth instance is in the **Modifying** state, the peak bandwidth is being modified. In this state, you can only perform query operations and cannot perform other operations.'."\n" .' - If the Internet Shared Bandwidth instance is in the **Available** state, the peak bandwidth has been modified.'."\n" .'- **ModifyCommonBandwidthPackageSpec** does not support concurrent modifications to the peak bandwidth of the same Internet Shared Bandwidth instance.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2022-07-12T11:34:20.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-22T09:41:14.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyCommonBandwidthPackageSpec'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyCommonBandwidthPackageSpec', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/{#BandwidthPackageId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7F129000-F929-4AF5-BE8D-BAE434C795306\\"\\n}","type":"json"}]', ], 'ModifyCustomerGatewayAttribute' => [ 'summary' => 'Modifies the configuration of a customer gateway by calling the ModifyCustomerGatewayAttribute operation.', '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' => 'The region ID of the customer gateway. '."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44****', 'title' => ''], ], [ 'name' => 'CustomerGatewayId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the customer gateway.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cgw-bp1pvpl9r9adju6l5****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the customer gateway. '."\n" ."\n" .'The name must be 1 to 100 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'nametest', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the customer gateway. '."\n" ."\n" .'The description must be 1 to 100 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'desctest', 'title' => ''], ], [ 'name' => 'AuthKey', 'in' => 'query', 'schema' => ['description' => 'The authentication key of the BGP route routing protocol for the on-premises data center gateway device.'."\n" ."\n" .'The key must be 1 to 64 characters in length and can contain only ASCII characters. It cannot contain spaces, Chinese characters, or half-width question marks (?).', 'type' => 'string', 'required' => false, 'example' => 'AuthKey****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8AA5CE21-2E6A-4530-BDF5-F055849476E6', 'title' => ''], 'IpAddress' => ['description' => 'The public IP address of the on-premises data center gateway device.', 'type' => 'string', 'example' => '139.32.XX.XX', 'title' => ''], 'Description' => ['description' => 'The description of the customer gateway.', 'type' => 'string', 'example' => 'desctest', 'title' => ''], 'CustomerGatewayId' => ['description' => 'The instance ID of the customer gateway.', 'type' => 'string', 'example' => 'cgw-bp1pvpl9r9adju6l5****', 'title' => ''], 'CreateTime' => ['description' => 'The timestamp when the customer gateway was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1492747187000', 'title' => ''], 'Name' => ['description' => 'The name of the customer gateway.', 'type' => 'string', 'example' => 'nametest', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the customer gateway belongs.'."\n" ."\n" .'You can call the [ListResourceGroups](~~158855~~) operation to query resource group information.', 'type' => 'string', 'example' => 'rg-acfmzs372yg****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidName', 'errorMessage' => 'The name is not valid', 'description' => ''], ['errorCode' => 'InvalidDescription', 'errorMessage' => 'The description is not valid', 'description' => ''], ['errorCode' => 'OperationDenied.MissingAsn', 'errorMessage' => 'The autonomous system number of the customer gateway is mandatory when BGP authentication key is specified.', 'description' => '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.', 'description' => 'The BGP authentication key is invalid.'], ['errorCode' => 'OperationDenied.VpnFinancialLocked', 'errorMessage' => 'The associated VPN gateway is financially locked. You cannot update the attributes of the customer gateway.', 'description' => '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.', 'description' => '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.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidCustomerGatewayInstanceId.NotFound', 'errorMessage' => 'The specified customer gateway instance id does not exist.', 'description' => 'The specified customer gateway does not exist. Check whether the ID of the customer gateway is correct.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Modify the name and description of a customer gateway', 'description' => '- When you call the **ModifyCustomerGatewayAttribute** operation, if the **AuthKey** parameter is not empty, this operation is asynchronous. The system returns the customer gateway information first, but the configuration has not been modified yet because the modification task is still running in the background. You can call [DescribeVpnGateway](~~73720~~) to query the modification status of the customer gateway configuration:'."\n" .' - If the VPN gateway instance is in the **updating** state, the customer gateway configuration is being modified.'."\n" .' - If the VPN gateway instance is in the **active** state, the customer gateway configuration has been modified.'."\n" .'- When you call the **ModifyCustomerGatewayAttribute** operation, if the **AuthKey** parameter is empty, this operation is synchronous.'."\n" ."\n" .'- The **ModifyCustomerGatewayAttribute** operation does not support concurrent modifications to the configuration of the same customer gateway.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-10-19T07:04:01.000Z', 'description' => 'Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyCustomerGatewayAttribute'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyCustomerGatewayAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'CustomerGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:customergateway/{#CustomerGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'ModifyEipAddressAttribute' => [ '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' => 'AllocationId', 'in' => 'query', 'schema' => ['description' => 'The ID of the pay-as-you-go EIP that you want to modify.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eip-2zeerraiwb7uj6i0d****', 'title' => ''], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The peak bandwidth of the EIP. Valid values:'."\n" ."\n" .'- **1** to **200**: if the EIP uses the pay-by-data-transfer billing method. Unit: Mbit/s. '."\n" ."\n" .'- **1** to **500**: if the EIP uses the pay-by-bandwidth billing method. Unit: Mbit/s.', 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the EIP.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the EIP. '."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test123', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the EIP. '."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'abc', 'title' => ''], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InsufficientBalance.Eip', 'errorMessage' => 'Your account does not have enough balance.', 'description' => ''], ['errorCode' => 'Forbidden.ChargeTypeIsPrepaid', 'errorMessage' => 'It?s forbidden to change prepaid EIP?s bandwidth by API. It can be changed on Aliyun web console.', 'description' => ''], ['errorCode' => 'IncorrectEipStatus', 'errorMessage' => 'Current elastic IP status does not support this operation.', 'description' => ''], ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The parameter is invalid.', 'description' => 'The bandwidth value is invalid.'], ['errorCode' => 'InvalidBandwidth.OutOfMaxTrafficBindedOnNatgw', 'errorMessage' => 'The bandwidth is out of max traffic binded on natgw.', 'description' => ''], ['errorCode' => 'QuotaExceeded.LargeSpecEip', 'errorMessage' => 'Elastic IP address with large spec quota exceeded.', 'description' => ''], ['errorCode' => 'InvalidEipAddressName.Malformed', 'errorMessage' => 'The specified Name is not valid.', 'description' => ''], ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'Invalid description.', 'description' => ''], ['errorCode' => 'Abs.InvalidBandwidth.Malformed', 'errorMessage' => 'Specified value of Bandwidth is not supported.', 'description' => ''], ['errorCode' => 'InvalidEIPStatus.BizDisabled', 'errorMessage' => 'The EIP has been locked.', 'description' => 'The error message returned because the EIP is locked.'], ['errorCode' => 'MissingParam.InstanceId', 'errorMessage' => 'The parameter InstanceId is mandatory.', 'description' => 'You must specify the Express Connect circuit ID.'], ], 404 => [ ['errorCode' => 'InvalidAllocationId.NotFound', 'errorMessage' => 'Specified allocation id is not found.', 'description' => ''], ['errorCode' => 'Forbidden.InCommonBandwidthPackage', 'errorMessage' => 'Specified allocation ID in common bandwidth package.', 'description' => ''], ['errorCode' => 'Forbidden.RegionNotFound', 'errorMessage' => 'Specified region is not found during access authentication.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Modify EIP attributes', 'summary' => 'Modifies the name, description, and peak bandwidth of a specified elastic IP address (EIP).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-11-09T06:57:10.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-24T02:52:26.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-29T10:25:34.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-12-16T07:53:04.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyEipAddressAttribute'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyEipAddressAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]', ], 'ModifyEipForwardMode' => [ 'summary' => 'Modifies the EIP forwarding mode.', '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' => 'The ID of the region to which the EIP belongs. You can call the DescribeRegions operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the EIP whose attributes you want to modify.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eip-j5ebhbw3br92fy****', 'title' => ''], ], [ 'name' => 'Mode', 'in' => 'query', 'schema' => ['description' => 'The association mode. Valid values:'."\n" ."\n" .'* **NAT** (default): the standard NAT mode.'."\n" .'* **MULTI_BINDED**: the multi-EIP-to-ENI mode.'."\n" .'* **BINDED**: the cut-through mode.'."\n" ."\n" .'> This parameter is required only if **InstanceType** is set to **NetworkInterface**.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'BINDED', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region to which the EIP belongs. You can call the DescribeRegions operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **RequestId** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '62C6A6A5-1534-53D9-AB1E-C9307A147ED5', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Region.NotSupport', 'errorMessage' => 'Region not support.', 'description' => ''], ['errorCode' => 'Instance.ModeError', 'errorMessage' => 'eip instance mode error.', 'description' => ''], ['errorCode' => 'Instance.StatusError', 'errorMessage' => 'eip status error.', 'description' => ''], ['errorCode' => 'ENI.BindEcs', 'errorMessage' => 'eni bind ecs.', 'description' => ''], ['errorCode' => 'Forbidden.PrePaidBindedEip', 'errorMessage' => 'prepaid eip cannot be direct.', 'description' => ''], ['errorCode' => 'BindInstance.NotSupport', 'errorMessage' => 'eip can only change mode when it is allocated or bind eni.', 'description' => ''], ['errorCode' => 'IncorrectStatus.EipInstance', 'errorMessage' => 'Eip instance\'s status is invalid.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'Instance.NotFound', 'errorMessage' => 'eip instance not found.', 'description' => ''], ['errorCode' => 'ENI.NotFound', 'errorMessage' => 'eni not found.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ModifyEipForwardMode', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"62C6A6A5-1534-53D9-AB1E-C9307A147ED5\\"\\n}","type":"json"}]', ], 'ModifyExpressCloudConnectionAttribute' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'Descriptions of ECC.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ECC', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the ECC instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the ECC instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'doctest', 'title' => ''], ], [ 'name' => 'EccId', 'in' => 'query', 'schema' => ['description' => 'The ID of the ECC instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ecc-bp1t9osmuln*******', 'title' => ''], ], [ 'name' => 'BgpAs', 'in' => 'query', 'schema' => ['description' => 'The BGP autonomous system number (ASN) to be configured for the Smart Access Gateway (SAG) device.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sag-ejfge***', 'title' => ''], ], [ 'name' => 'PeIp', 'in' => 'query', 'schema' => ['description' => 'The on-premises IP address when the SAG device is connected to the cloud.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.10.**.**', 'title' => ''], ], [ 'name' => 'CeIp', 'in' => 'query', 'schema' => ['description' => 'The peer IP address when the SAG device is connected to the cloud.'."\n", 'type' => 'string', 'required' => false, 'example' => '172.16.**.**', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E6385514-B0CC-48E3-B9F9-F7BFF64460A2', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidEccId.NotFound', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.AliUid', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'MissingParam.RegionNo', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.EccId', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidEccApplication.NotFound', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.Description', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.Name', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidServiceProvider.Malformed', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.PortType', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.Distance', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.CircuitCode', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.Type', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationUnsupported.Type', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidAccessPoint.NotFound', 'errorMessage' => '%s', 'description' => ''], ], ], 'title' => 'ModifyExpressCloudConnectionAttribute', 'summary' => 'Modifies the configuration of an Express Cloud Connect (ECC) instance.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], '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":""}]', ], 'ModifyExpressCloudConnectionBandwidth' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The bandwidth of the ECC instance.'."\n", 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''], ], [ 'name' => 'EccId', 'in' => 'query', 'schema' => ['description' => 'The ID of the ECC instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ecc-xxxxxxxxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E6385514-B0CC-48E3-B9F9-F7BFF64460A2', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParam.EccId', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'MissingParam.AliUid', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'MissingParam.RegionNo', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'MissingParam.Bandwidth', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidEccApplication.NotFound', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidEccId.NotFound', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IncorrectStatus.EccApplication', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationUnsupported.type', 'errorMessage' => '%s', 'description' => ''], ], ], 'title' => 'ModifyExpressCloudConnectionBandwidth', 'summary' => 'Modifies the bandwidth of an Express Cloud Connect (ECC) instance.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyExpressCloudConnectionBandwidth', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], ], '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":""}]', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressCloudConnectionBandwidth'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'ModifyExpressConnectTrafficQos' => [ 'summary' => 'Calls the ModifyExpressConnectTrafficQos operation to modify an Express Connect Quality of Service (QoS) policy. You can also use this operation to associate dedicated Express Connect circuits.', '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' => 'The region ID of the QoS policy.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'QosName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The name of the QoS policy.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'qos-test'], ], [ 'name' => 'QosDescription', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The description of the QoS policy.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'qos-test'], ], [ 'name' => 'QosId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the QoS policy.', 'type' => 'string', 'required' => true, 'example' => 'qos-2giu0a6vd5x0mv****'], ], [ 'name' => 'AddInstanceList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'title' => '', 'description' => 'The list of instances to add in this update. You do not need to specify this parameter if no instances need to be added.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'InstanceId' => ['description' => 'The instance ID to associate.', 'type' => 'string', 'required' => false, 'example' => 'pc-bp159zj8zujwy3p07****', 'title' => ''], 'InstanceType' => [ 'description' => 'The type of the instance to associate. Valid values: **PHYSICALCONNECTION**: Express Connect circuit.', 'enumValueTitles' => [], 'type' => 'string', 'enum' => ['PHYSICALCONNECTION'], 'required' => false, 'example' => 'PHYSICALCONNECTION', 'title' => '', ], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 100, 'example' => '', ], ], [ 'name' => 'RemoveInstanceList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'title' => '', 'description' => 'The list of instances to remove in this update. You do not need to specify this parameter if no instances need to be removed.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'InstanceId' => ['description' => 'The instance ID of the associated instance.', 'type' => 'string', 'required' => false, 'example' => 'pc-bp1j37am632492qzw****', 'title' => ''], 'InstanceType' => [ 'description' => 'The type of the associated instance. Valid values: **PHYSICALCONNECTION**: Express Connect circuit.', 'enumValueTitles' => [], 'type' => 'string', 'enum' => ['PHYSICALCONNECTION'], 'required' => false, 'example' => 'PHYSICALCONNECTION', 'title' => '', ], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 100, 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter is invalid.'], ['errorCode' => 'IncorrectStatus.Qos', 'errorMessage' => 'The status of QoS is incorrect.', 'description' => 'The status of the QoS policy is abnormal and the operation cannot be performed. Try again later.'], ['errorCode' => 'IncorrectStatus.PconnIdList', 'errorMessage' => 'The status of PconnIdList is incorrect.', 'description' => 'This operation cannot be performed because the current physical connection is in an abnormal state.'], ['errorCode' => 'ResourceAlreadyAssociated.PconnQos', 'errorMessage' => 'The specified resource of PconnQos is already associated.', 'description' => 'The physical line has been bound to another QoS policy.'], ['errorCode' => 'EcQoSConflict', 'errorMessage' => 'The specified QoS is conflict with other QoS.', 'description' => 'The current QoS configuration conflicts with other configurations. Please try again later.'], ['errorCode' => 'IncorrectBusinessStatus.PconnIdList', 'errorMessage' => 'The business status of PconnIdList is incorrect.', 'description' => 'This operation cannot be performed because the current physical line is in arrears.'], ['errorCode' => 'EcPconnWithVpconnNotAllowAssociateQoS', 'errorMessage' => 'The specified Pconn with Vpconn is not allowed to associate with Qos.', 'description' => 'Exclusive physical lines that contain shared physical lines cannot be bound to QoS policies.'], ['errorCode' => 'EcPconnWithCrossAccountVbrNotAllowAssociateQoS', 'errorMessage' => 'The specified Pconn with cross account VBR is not allowed to associate with Qos.', 'description' => 'Exclusive physical connections that contain cross-account virtual border routers cannot bind QoS policies.'], ['errorCode' => 'EcDeviceNotSupportQoS', 'errorMessage' => 'The specified Pconn is on the device which is not supported QoS.', 'description' => 'The device where the physical connection is located does not support the QoS feature.'], ['errorCode' => 'EcPconnVbrMustContainsAll', 'errorMessage' => 'In the single VBR with multiple Pconn scene, all Pconn must be associated with the same Qos.', 'description' => 'In a single VBR and multiple Pconn scenarios, all Pconn must be bound to a QoS policy.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Modify an express connect qoS policy', 'description' => '- Only dedicated Express Connect circuits that are in the Normal state and do not have overdue payments can be associated. Shared Express Connect circuit ports and Virtual Border Router (VBR) instances are not supported.'."\n" ."\n" .'- When associating dedicated Express Connect circuits, only full operations are supported. To dissociate all circuits, pass an empty string.'."\n" ."\n" .'- If a dedicated Express Connect circuit has shared Express Connect circuits or cross-account VBRs, you must activate the whitelist feature before association.'."\n" ."\n" .'- The device on which the dedicated Express Connect circuit resides must support the QoS feature before association.'."\n" ."\n" .'- In scenarios where a single VBR is associated with multiple Express Connect circuits, you must associate all Express Connect circuits of the VBR at the same time.', 'changeSet' => [ ['createdAt' => '2024-03-29T08:01:41.000Z', 'description' => 'Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressConnectTrafficQos'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyExpressConnectTrafficQos', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B457\\"\\n}","type":"json"}]', ], 'ModifyExpressConnectTrafficQosQueue' => [ 'summary' => 'Modifies a quality of service (QoS) queue.', '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' => 'The region ID of the QoS policy.'."\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', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must ensure that the value is unique among all requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not set this parameter, the system uses **RequestId** as **ClientToken**. **RequestId** might be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must ensure that the value is unique among all requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not set this parameter, the system uses **RequestId** as **ClientToken**. **RequestId** might be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'QueueName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The name of the QoS queue.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'qos-queue-test'], ], [ 'name' => 'QueueDescription', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The description of the QoS queue.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'qos-queue-test'], ], [ 'name' => 'QosId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the QoS policy.'."\n", 'type' => 'string', 'required' => true, 'example' => 'qos-2giu0a6vd5x0mv****'], ], [ 'name' => 'QueueId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the QoS queue.'."\n", 'type' => 'string', 'required' => true, 'example' => 'qos-queue-9nyx2u7n71s2rc****'], ], [ 'name' => 'BandwidthPercent', 'in' => 'query', 'schema' => ['description' => 'The percentage of bandwidth allocated to the QoS queue.'."\n" ."\n" .'* If QueueType is set to **Medium**, this parameter is required. Valid values: 1 to 100.'."\n" .'* If QueueType is set to **Default**, a value of - is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '079874CD-AEC1-43E6-AC03-ADD96B6E4907', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter is invalid.'], ['errorCode' => 'IncorrectStatus.Qos', 'errorMessage' => 'The status of QoS is incorrect.', 'description' => 'The status of the QoS policy is abnormal and the operation cannot be performed. Try again later.'], ['errorCode' => 'EcQoSConflict', 'errorMessage' => 'The specified QoS is conflict with other QoS.', 'description' => 'The current QoS configuration conflicts with other configurations. Please try again later.'], ['errorCode' => 'QuotaExceeded.QosMediumPriorityQueueBandwidthPercent', 'errorMessage' => 'The quota of QosMediumPriorityQueueBandwidthPercent is exceeded.', 'description' => 'The sum of the bandwidth percentages of the normal priority queues in the QoS policy exceeds the specification.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ModifyExpressConnectTrafficQosQueue', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"079874CD-AEC1-43E6-AC03-ADD96B6E4907\\"\\n}","type":"json"}]', ], 'ModifyExpressConnectTrafficQosRule' => [ 'summary' => 'Modifies a quality of service (QoS) rule.', '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' => 'The region ID of the QoS policy.'."\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'."\n", 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'QosId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the QoS policy.'."\n", 'type' => 'string', 'required' => true, 'example' => 'qos-2giu0a6vd5x0mv****'], ], [ 'name' => 'QueueId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the QoS queue.'."\n", 'type' => 'string', 'required' => true, 'example' => 'qos-queue-9nyx2u7n71s2rc****'], ], [ 'name' => 'Priority', 'in' => 'query', 'schema' => ['description' => 'The priority of the QoS rule. Valid values: **1** to **9000**. A larger value indicates a higher priority. The priority of each QoS rule must be unique in the same QoS policy.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'Protocol', 'in' => 'query', 'schema' => [ 'description' => 'The protocol of the QoS rule. Valid values:'."\n" ."\n" .'* **ALL**'."\n" .'* **ICMP(IPv4)**'."\n" .'* **ICMPv6(IPv6)**'."\n" .'* **TCP**'."\n" .'* **UDP**'."\n" .'* **GRE**'."\n" .'* **SSH**'."\n" .'* **Telnet**'."\n" .'* **HTTP**'."\n" .'* **HTTPS**'."\n" .'* **MS SQL**'."\n" .'* **Oracle**'."\n" .'* **MySql**'."\n" .'* **RDP**'."\n" .'* **PostgreSQL**'."\n" .'* **Redis**'."\n", 'type' => 'string', 'required' => false, 'enumValueTitles' => [], 'example' => 'ALL', 'title' => '', ], ], [ 'name' => 'SrcCidr', 'in' => 'query', 'schema' => ['description' => 'The source IPv4 CIDR block that matches the QoS rule traffic.'."\n" ."\n" .'> When this parameter is unavailable, specify **SrcIPv6Cidr** or **DstIPv6Cidr**.'."\n", 'type' => 'string', 'required' => false, 'example' => '1.1.**.**/24', 'title' => ''], ], [ 'name' => 'DstCidr', 'in' => 'query', 'schema' => ['description' => 'The destination IPv4 CIDR block that matches the QoS rule traffic.'."\n" ."\n" .'> When this parameter is unavailable, specify **SrcIPv6Cidr** or **DstIPv6Cidr**.'."\n", 'type' => 'string', 'required' => false, 'example' => '1.1.**.**/24', 'title' => ''], ], [ 'name' => 'SrcIPv6Cidr', 'in' => 'query', 'schema' => ['description' => 'The source IPv6 CIDR block that matches the QoS rule traffic.'."\n" ."\n" .'> When this parameter is unavailable, specify **SrcCidr** or **DstCidr**.'."\n", 'type' => 'string', 'required' => false, 'example' => '2001:0db8:1234:****::/64', 'title' => ''], ], [ 'name' => 'DstIPv6Cidr', 'in' => 'query', 'schema' => ['description' => 'The destination IPv6 CIDR block that matches the QoS rule traffic.'."\n" ."\n" .'> When this parameter is unavailable, specify **SrcCidr** or **DstCidr**.'."\n", 'type' => 'string', 'required' => false, 'example' => '2001:0db8:1234:****::/64', 'title' => ''], ], [ 'name' => 'SrcPortRange', 'in' => 'query', 'schema' => ['description' => 'The range of source ports that match the QoS rule traffic. Valid values: **0** to **65535**. If the traffic does not match, the value is -1. You can specify only one port. The start port number must be the same as the end port number.'."\n", 'type' => 'string', 'required' => false, 'example' => '-1/-1', 'title' => ''], ], [ 'name' => 'DstPortRange', 'in' => 'query', 'schema' => ['description' => 'The range of destination ports that match the QoS rule traffic. Valid values: **0** to **65535**. If the traffic does not match, the value is -1. You can specify only one port. The start port number must be the same as the end port number. Different protocols correspond to different ports. Valid values:'."\n" ."\n" .'* **ALL** (uneditable): -1/-1.'."\n" .'* **ICMP(IPv4)** (uneditable): -1/-1.'."\n" .'* **ICMPv6(IPv6)** (uneditable): -1/-1.'."\n" .'* **TCP** (editable): -1/-1.'."\n" .'* **UDP** (editable): -1/-1.'."\n" .'* **GRE** (uneditable): -1/-1.'."\n" .'* **SSH** (uneditable): 22/22.'."\n" .'* **Telnet** (uneditable): 23/23.'."\n" .'* **HTTP** (uneditable): 80/80.'."\n" .'* **HTTPS** (uneditable): 443/443.'."\n" .'* **MS SQL** (uneditable): 1443/1443.'."\n" .'* **Oracle** (uneditable): 1521/1521.'."\n" .'* **MySql** (uneditable): 3306/3306.'."\n" .'* **RDP** (uneditable): 3389/3389.'."\n" .'* **PostgreSQL** (uneditable): 5432/5432.'."\n" .'* **Redis** (uneditable): 6379/6379.'."\n", 'type' => 'string', 'required' => false, 'example' => '-1/-1', 'title' => ''], ], [ 'name' => 'MatchDscp', 'in' => 'query', 'schema' => ['description' => 'The DSCP value that matches the QoS rule traffic. Valid values: **0** to **63**. If no value is matched, the value is -1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'RemarkingDscp', 'in' => 'query', 'schema' => ['description' => 'The new DSCP value. Valid values: **0** to **63**. If you do not change the value, set the value to -1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'RuleName', 'in' => 'query', 'schema' => ['description' => 'The name of the QoS rule.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'qos-rule-test', 'title' => ''], ], [ 'name' => 'RuleDescription', 'in' => 'query', 'schema' => ['description' => 'The description of the QoS rule.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'qos-rule-test', 'title' => ''], ], [ 'name' => 'RuleId', 'in' => 'query', 'schema' => ['description' => 'The ID of the QoS rule.'."\n", 'type' => 'string', 'required' => true, 'example' => 'qos-rule-iugg0l9x27f2no****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '7B48B4B9-1EAD-469F-B488-594DAB4B6A1A'], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter is invalid.'], ['errorCode' => 'IncorrectStatus.Qos', 'errorMessage' => 'The status of QoS is incorrect.', 'description' => 'The status of the QoS policy is abnormal and the operation cannot be performed. Try again later.'], ['errorCode' => 'EcQoSConflict', 'errorMessage' => 'The specified QoS is conflict with other QoS.', 'description' => 'The current QoS configuration conflicts with other configurations. Please try again later.'], ['errorCode' => 'EcQosRuleNotAllowV4AndV6', 'errorMessage' => 'QoS rules do not allow IPv4 and IPv6 addresses to be mixed and updated.', 'description' => 'Both IPv4 address configuration and IPv6 address configuration are not allowed in a QoS rule. If the original configuration network type is IPv4 and cannot be modified to IPv6 (or vice versa), please check and modify it.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ModifyExpressConnectTrafficQosRule', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyExpressConnectTrafficQosRule', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7B48B4B9-1EAD-469F-B488-594DAB4B6A1A\\"\\n}","type":"json"}]', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressConnectTrafficQosRule'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'ModifyFlowLogAttribute' => [ 'summary' => 'Modifies the name and description of a flow log.', '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' => 'The ID of the region where the flow log is created.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ 'name' => 'FlowLogId', 'in' => 'query', 'schema' => ['description' => 'The ID of the flow log.'."\n", 'type' => 'string', 'required' => true, 'example' => 'fl-m5e8vhz2t21sel1nq****', 'title' => ''], ], [ 'name' => 'FlowLogName', 'in' => 'query', 'schema' => ['description' => 'The new name of the flow log.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'myFlowlog', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The new description of the flow log.'."\n" ."\n" .'The description must be 1 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'This is my Flowlog.', 'title' => ''], ], [ 'name' => 'AggregationInterval', 'in' => 'query', 'schema' => ['description' => 'The new sampling interval of the flow log. Unit: minutes. Valid values: **1**, **5**, and **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'IpVersion', 'in' => 'query', 'schema' => ['description' => 'The version of the IP address. Valid values:'."\n" ."\n" .'* **IPV4**: the IPv4 address.'."\n" .'* **DualStack**: includes IPv4 and IPv6 address', 'type' => 'string', 'required' => false, 'example' => 'IPv4', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Success' => ['description' => 'Indicates whether the call is successful. Valid values:'."\n" ."\n" .'* **true**: yes'."\n" .'* **false**: no'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectBusinessStatus.FlowLog', 'errorMessage' => 'The business status of flowLog is incorrect.', 'description' => 'The error message returned because you cannot create flow logs in the current business state.'], ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Instance does not exist.', 'description' => 'The error message returned because the specified instance does not exist.'], ['errorCode' => 'ProjectOrLogstoreNotExist', 'errorMessage' => 'The specified project or logstore does not exist.', 'description' => 'The error message returned because the specified project or Logstore does not exist.'], ['errorCode' => 'SourceProjectNotExist', 'errorMessage' => 'The Source Project or logstore does not exist.', 'description' => 'The error message returned because the source project or Logstore does not exist.'], ['errorCode' => 'Unauthorized', 'errorMessage' => 'This api does not support sub user or role.', 'description' => 'The error message returned because you cannot call this operation as a RAM user.'], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The specfied instance is not existed.', 'description' => ''], ['errorCode' => 'RuleExist', 'errorMessage' => 'The rule has already existed.', 'description' => ''], ['errorCode' => 'InvalidHdMonitorStatus', 'errorMessage' => 'Current instance status is not valid for this action.', 'description' => ''], ['errorCode' => 'FlowLogNumberOverLimit', 'errorMessage' => 'This user has reached the maximum instance number of flowlog.', 'description' => ''], ['errorCode' => 'InvalidTrafficType.NotFound', 'errorMessage' => 'Invalid traffic type.', 'description' => ''], ['errorCode' => 'IncorrectStatus.flowlog', 'errorMessage' => 'Invalid flowlog status.', 'description' => 'The flow log cannot be disabled because it is in an invalid state.'], ['errorCode' => 'InvalidName.Malformed', 'errorMessage' => 'The specified name is not valid.', 'description' => ''], ['errorCode' => 'IllegalParam.AggregationInterval', 'errorMessage' => 'The param of aggregationInterval is illegal.', 'description' => ''], ['errorCode' => 'Forbidden.OperateManagedFlowLog', 'errorMessage' => 'Authentication is failed for operate managed flowlog.', 'description' => 'Authentication failed when operating the managed flow log.'], ['errorCode' => 'UnsupportedFeature.IpVersion', 'errorMessage' => 'The ipversion type is not supported.', 'description' => ''], ['errorCode' => 'IllegalParam.IpVersion', 'errorMessage' => 'The parameter of IpVersion is illegal.', 'description' => ''], ['errorCode' => 'OperationDenied.NisTrafficAnalyzerAggregationIntervalMismatch', 'errorMessage' => 'The sampling interval of the FlowLog is greater than the sampling interval of the NIS Traffic Analyzer.', 'description' => '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.', 'description' => 'The specified NIS Traffic Analyzer is not enabled.'], ['errorCode' => 'OperationDenied.NisTrafficAnalyzerNotFound', 'errorMessage' => 'The specified NIS Traffic Analyzer does not exist.', 'description' => 'The specified NIS Traffic Analyzer does not exist.'], ['errorCode' => 'OperationFailed.InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error. Please retry the operation. The error still exists. Please submit the work order for processing.'], ['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.', 'description' => '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], 'title' => 'ModifyFlowLogAttribute', 'description' => '- **ModifyFlowLogAttribute**接口属于异步接口,即系统会返回一个请求ID,但该流日志尚未修改成功,系统后台的修改任务仍在进行。您可以调用[DescribeFlowLogs](~~87923~~)查询流日志的修改状态:'."\n" .' - 当流日志处于**Modifying**状态时,表示流日志正在修改中。'."\n" .' - 当流日志处于**Active**或者**Inactive**状态时,表示流日志修改成功。'."\n" .'- **ModifyFlowLogAttribute**接口不支持并发修改同一个流日志的属性。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-02-26T11:03:27.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2025-02-26T03:10:32.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-02-21T05:35:50.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2024-11-20T03:14:12.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-09-25T15:16:14.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2022-12-16T05:09:24.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-17T02:41:21.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyFlowLogAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'FlowLog', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:flowlog/{#FlowLogId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\"\\n}","type":"json"}]', ], 'ModifyForwardEntry' => [ 'summary' => 'Modifies a specified DNAT entry.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'ForwardTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the DNAT table to which the DNAT entry belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ftb-8vbx8xu2lqj9qb334****', 'title' => ''], ], [ 'name' => 'ForwardEntryId', 'in' => 'query', 'schema' => ['description' => 'The ID of the DNAT entry to be modified.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'fwd-8vbn3bc8roygjp0gy****', 'title' => ''], ], [ 'name' => 'ExternalIp', 'in' => 'query', 'schema' => ['description' => '- If you modify a DNAT entry of an Internet NAT gateway, this parameter specifies the public IP address used to provide public network access.'."\n" ."\n" .'- If you modify a DNAT entry of a VPC NAT gateway, this parameter specifies the NAT IP address accessed by the external network.', 'type' => 'string', 'required' => false, 'example' => '116.85.XX.XX', 'title' => ''], ], [ 'name' => 'ExternalPort', 'in' => 'query', 'schema' => ['description' => '- If you modify a DNAT entry of an Internet NAT gateway, this parameter specifies the external port or port range used for port forwarding in the DNAT entry.'."\n" .' - The port range must be within **1** to **65535**.'."\n" .' - To specify a port range, separate the start and end ports with a forward slash (/), such as `10/20`.'."\n" .' - If you modify both **ExternalPort** and **InternalPort**, and **ExternalPort** is set to a port range, **InternalPort** must also be set to a port range with the same number of ports. For example, if **ExternalPort** is set to `10/20`, **InternalPort** must be set to `80/90`.'."\n" ."\n" .'- If you modify a DNAT entry of a VPC NAT gateway, this parameter specifies the port accessed by the external network. Valid values: **1** to **65535**.', 'type' => 'string', 'required' => false, 'example' => '80', 'title' => ''], ], [ 'name' => 'InternalIp', 'in' => 'query', 'schema' => ['description' => '- If you modify a DNAT entry of an Internet NAT gateway, this parameter specifies the private IP address of the ECS instance that communicates with the Internet through the DNAT entry.'."\n" ."\n" .'- If you modify a DNAT entry of a VPC NAT gateway, this parameter specifies the private IP address that needs to communicate through the DNAT rule.', 'type' => 'string', 'required' => false, 'example' => '10.0.0.78', 'title' => ''], ], [ 'name' => 'InternalPort', 'in' => 'query', 'schema' => ['description' => '- If you modify a DNAT entry of an Internet NAT gateway, this parameter specifies the internal port or port range used for port forwarding in the DNAT entry. Valid values: **1** to **65535**.'."\n" ."\n" .'- If you modify a DNAT entry of a VPC NAT gateway, this parameter specifies the port of the destination ECS instance to be mapped. Valid values: **1** to **65535**.', 'type' => 'string', 'required' => false, 'example' => '80', 'title' => ''], ], [ 'name' => 'IpProtocol', 'in' => 'query', 'schema' => ['description' => 'The protocol type. Valid values:'."\n" .' '."\n" .'- **TCP**: forwards TCP packets.'."\n" .' '."\n" .'- **UDP**: forwards UDP packets.'."\n" .' '."\n" .'- **Any**: forwards packets of all protocols.', 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''], ], [ 'name' => 'ForwardEntryName', 'in' => 'query', 'schema' => ['description' => 'The new name of the DNAT entry.'."\n" ."\n" .'The name must be 2 to 128 characters in length and must start with a letter or a Chinese character. It cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the NAT gateway.'."\n" ."\n" .'You can call [DescribeRegions](~~36063~~) to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => ' cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'PortBreak', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable port breaking. Valid values:'."\n" ."\n" .'- **true**: enables port breaking.'."\n" .'- **false**: does not enable port breaking. If a DNAT entry and an SNAT entry use the same public IP address and you want to configure a port number greater than `1024`, set `PortBreak` to `true`.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" .'- **true**: performs a dry run without modifying the DNAT entry. The system checks the required parameters, request format, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'- **false** (default): performs a dry run and sends the request. If the request passes the dry run, an HTTP 2xx status code is returned and the DNAT entry is modified.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2315DEB7-5E92-423A-91F7-4C1EC9AD97C3', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'UnsupportedFeature.PortSegment', 'errorMessage' => 'The feature of PortSegment is not supported.', 'description' => ''], ['errorCode' => 'ExclusiveParam.%sAnd%s', 'errorMessage' => 'The param of %s and %s are mutually exclusive.', 'description' => 'You cannot specify %s and %s at the same time.'], ['errorCode' => 'InvalidIp.NotInNatgw', 'errorMessage' => 'The specified Ip not belong to natgateway.', 'description' => ''], ['errorCode' => 'DuplicatedParam.InternalPort', 'errorMessage' => 'The param of %s is duplicated.', 'description' => 'Duplicate or occupied InternalPort parameter'], ['errorCode' => 'DuplicatedParam.ExternalPort', 'errorMessage' => 'The param of %s is duplicated.', 'description' => 'The DNAT public network port has been used repeatedly.'], ['errorCode' => 'OperationFailed.AnyPortConfig', 'errorMessage' => 'Operation failed because any port correspondence any protocol', 'description' => 'The operation failed. There is a conflict with another entry, any port or any protocol type.'], ['errorCode' => 'OperationUnsupported.ForwardEntry', 'errorMessage' => 'Duplicated destination ip port is unsupported.', 'description' => 'You cannot specify duplicate destination IP addresses or destination ports.'], ['errorCode' => 'IncorrectStatus.NatIp', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The status of NatIp is incorrect.'], ['errorCode' => 'Forbidden.IpHasBeenUsedInSnat', 'errorMessage' => 'The source ip can\'t be used. Because it has been used in snat.', 'description' => ''], ['errorCode' => 'IncorrectStatus.ForwardEntry', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The DNAT entry to be deleted is in an invalid state.'], ['errorCode' => 'InvalidExternalIp.Malformed', 'errorMessage' => 'The specified ExternalIp is not a valid IP address.', 'description' => ''], ['errorCode' => 'InvalidInternalIp.Malformed', 'errorMessage' => 'The specified InternalIp is not a valid IP address.', 'description' => ''], ['errorCode' => 'InvalidExternalPort.Malformed', 'errorMessage' => 'The specified ExternalPort is not a valid port.', 'description' => ''], ['errorCode' => 'InvalidInternalPort.Malformed', 'errorMessage' => 'The specified InternalPort is not a valid port.', 'description' => ''], ['errorCode' => 'Forbidden.DestnationIpOutOfVpcCIDR', 'errorMessage' => 'The specified Destination Ip is Out of VPC CIDR.', 'description' => ''], ['errorCode' => 'InvalidProtocal.ValueNotSupported', 'errorMessage' => 'The specified IpProtocol does not support.', 'description' => ''], ['errorCode' => 'IncorretForwardEntryStatus', 'errorMessage' => 'Some Forward entry status blocked this operation..', 'description' => ''], ['errorCode' => 'QuotaExceeded', 'errorMessage' => 'Forward entry quota exceeded in this route table.', 'description' => 'A route table can only have 200 custom route entries at most.'], ['errorCode' => 'ForwardEntry.Duplicated', 'errorMessage' => 'The specified ExternalIp, IpProtocol, ExternalPort,InternalIp, InternalPort is duplicated', 'description' => ''], ['errorCode' => 'Forbidden.ExternalIp.UsedInSnatTable', 'errorMessage' => 'The specified ExternalIp is already used in SnatTable', 'description' => ''], ['errorCode' => 'Forbidden.Already.Bounded', 'errorMessage' => 'The specified instance already bounded', 'description' => ''], ['errorCode' => 'InvalidIp.NotFound', 'errorMessage' => 'The specified ip does not exist.', 'description' => ''], ['errorCode' => 'InvalidParameter.Name.Malformed', 'errorMessage' => 'The specified Name is not valid.', 'description' => ''], ['errorCode' => 'IncorretStatus.ForwardEntry', 'errorMessage' => 'The Specified forwardEntry is not stable status, can not operation', 'description' => ''], ['errorCode' => 'IllegalParam.AnyPortNotZero', 'errorMessage' => 'Any port port must be zero.', 'description' => 'You must set the destination port and source port to 0 when IpProtocol is set to Any.'], ['errorCode' => 'Duplicated.DestinationPort', 'errorMessage' => 'The specified param DestinationPort is duplicated.', 'description' => ''], ['errorCode' => 'InvalidForwardEntryId.NotFound', 'errorMessage' => 'Specified forward entry ID does not exist', 'description' => ''], ['errorCode' => 'OperationUnsupported.EipInBinding', 'errorMessage' => 'Create snat entry with eip in associating status is unsupported.', 'description' => 'You cannot use an associated EIP when you create an SNAT entry.'], ['errorCode' => 'QuotaExceeded.ForwardEntrySessionManytoOne', 'errorMessage' => 'The dnat session quota is exceed.', 'description' => 'The number of DNAT sessions exceeds the upper limit.'], ['errorCode' => 'OperationFailed.ForwardEntryNotAllowSrcIpEqualDstIp', 'errorMessage' => 'The source IP of forward entry is not allowed to equal destination IP.', 'description' => 'The public IP address of the DNAT entry is not allowed to be equal to the private IP address.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.NatIp', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => ''], ['errorCode' => 'ResourceNotFound.ForwardEntry', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The specified %s resource does not exist.'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidForwardEntryId.NotFound', 'errorMessage' => 'Specified forward entry ID does not exist', 'description' => ''], ['errorCode' => 'InvalidExternalIp.NotFound', 'errorMessage' => 'Specified External Ip address does not found on the VRouter', 'description' => ''], ['errorCode' => 'InvalidForwardTableId.NotFound', 'errorMessage' => 'Specified forward table does not exist.', 'description' => ''], ], ], 'title' => 'Modify a specified DNAT entry', 'description' => '- **ModifyForwardEntry** is an asynchronous operation. After you send a request, the system returns a request ID, but the DNAT entry has not been modified yet. The modification task runs in the background. You can call [DescribeForwardTableEntries](~~36053~~) to query the status of the DNAT entry:'."\n" ."\n" .' - If the DNAT entry is in the **Pending** state, the DNAT entry is being modified. In this state, you can only perform query operations.'."\n" ."\n" .' - If the DNAT entry is in the **Available** state, the DNAT entry is modified.'."\n" ."\n" .'- **ModifyForwardEntry** does not support concurrent modifications of a DNAT entry within the same DNAT table.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-12-30T03:59:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-12-03T02:23:00.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2024-10-23T06:17:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-01T06:45:49.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-12-02T02:41:29.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-07T11:48:27.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyForwardEntry'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyForwardEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'ForwardTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:forwardtable/{#ForwardTableId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2315DEB7-5E92-423A-91F7-4C1EC9AD97C3\\"\\n}","type":"json"}]', ], 'ModifyFullNatEntryAttribute' => [ 'summary' => 'Modifies a FULLNAT entry.', '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' => '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' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', 'title' => ''], ], [ 'name' => 'FullNatTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the FULLNAT table to be modified.'."\n", 'type' => 'string', 'required' => true, 'example' => 'fulltb-gw88z7hhlv43rmb26****', 'title' => ''], ], [ 'name' => 'FullNatEntryId', 'in' => 'query', 'schema' => ['description' => 'The ID of the FULLNAT entry to be modified.'."\n", 'type' => 'string', 'required' => true, 'example' => 'fullnat-gw8fz23jezpbblf1j****', 'title' => ''], ], [ 'name' => 'NetworkInterfaceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the elastic network interface (ENI) to be modified.'."\n", 'type' => 'string', 'required' => false, 'example' => 'eni-gw8g131ef2dnbu3k****', 'title' => ''], ], [ 'name' => 'NatIp', 'in' => 'query', 'schema' => ['description' => 'The NAT IP address to be modified.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''], ], [ 'name' => 'NatIpPort', 'in' => 'query', 'schema' => ['description' => 'The frontend port to be modified in FULLNAT port mapping. Valid values: **1** to **65535**.'."\n", 'type' => 'string', 'required' => false, 'example' => '80', 'title' => ''], ], [ 'name' => 'AccessIp', 'in' => 'query', 'schema' => ['description' => 'The backend IP address to be modified in FULLNAT address translation.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''], ], [ 'name' => 'AccessPort', 'in' => 'query', 'schema' => ['description' => 'The backend port to be modified in FULLNAT port mapping. Valid values: **1** to **65535**.'."\n", 'type' => 'string', 'required' => false, 'example' => '80', 'title' => ''], ], [ 'name' => 'IpProtocol', 'in' => 'query', 'schema' => ['description' => 'The protocol of the packets that are forwarded by the port. Valid values:'."\n" ."\n" .'* **TCP**: TCP'."\n" .'* **UDP**'."\n", 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''], ], [ 'name' => 'FullNatEntryName', 'in' => 'query', 'schema' => ['description' => 'The new name of the FULLNAT entry.'."\n" ."\n" .'The name must be 2 to 128 characters in length. It must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'modify', 'title' => ''], ], [ 'name' => 'FullNatEntryDescription', 'in' => 'query', 'schema' => ['description' => 'The new description of the FULLNAT entry.'."\n" ."\n" .'You can leave this parameter empty or enter a description. If you enter a description, the description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'abcd', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false**: performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the Virtual Private Cloud (VPC) NAT gateway to which the FULLNAT entry to be modified belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'eu-central-1', 'title' => ''], ], [ 'name' => 'AccessDomain', 'in' => 'query', 'schema' => ['description' => 'The backend domain name of the FULLNAT address translation that needs to be modified.', 'type' => 'string', 'required' => false, 'example' => 'xxx.com', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '2315DEB7-5E92-423A-91F7-4C1EC9AD97C3'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.NetworkInterfaceId', 'errorMessage' => 'The specified resource is not found.', 'description' => 'The specified resource is not found.'], ['errorCode' => 'ResourceAlreadyExist.FullNatEntry', 'errorMessage' => 'The specified resource of %s is already exist.', 'description' => 'The FULLNAT rule already exists.'], ['errorCode' => 'IncorrectStatus.NatIp', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The status of NatIp is incorrect.'], ['errorCode' => 'UnsupportedFeature.PrivateLinkMode', 'errorMessage' => 'The feature of %s is not supported.', 'description' => 'The feature of reverse access is not supported.'], ['errorCode' => 'DependencyViolation.PrivateLinkMode', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => 'The %s resource depends on %s.'], ['errorCode' => 'IllegalParam.AccessDomain', 'errorMessage' => 'The request parameter AccessDomain is illegal.', 'description' => 'The AccessDomain parameter in the request parameter is invalid.'], ['errorCode' => 'ExclusiveParam.AccessIpAndAccessDomain', 'errorMessage' => 'The specified AccessIp and AccessDomain are mutually exclusive.', 'description' => 'The specified input AccessIp conflicts with the AccessDomain.'], ['errorCode' => 'InstanceUnsupported.FullNatDomain', 'errorMessage' => 'The current instance does not support the configuration of the FullNat rule domain name.', 'description' => '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.', 'description' => 'The current zone does not support the configuration of the FullNat rule domain name.'], ], ], 'title' => 'ModifyFullNatEntryAttribute', 'description' => '## [](#)'."\n" ."\n" .'* **ModifyFullNatEntryAttribute** 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 [ListFullNatEntries](~~348779~~) operation to query the status of a FULLNAT entry.'."\n" ."\n" .' * **Modifying**: indicates that the system is modifying the FULLNAT entry. You can query the FULLNAT entry, but cannot perform other operations.'."\n" .' * **Available**: indicates that the FULLNAT entry is modified.'."\n" ."\n" .'* You cannot repeatedly call the **ModifyFullNatEntryAttribute** operation to modify a FULLNAT entry within the specified period of time.'."\n", 'changeSet' => [ ['createdAt' => '2024-07-23T06:52:35.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-01-04T09:37:44.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-10-15T06:08:26.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2315DEB7-5E92-423A-91F7-4C1EC9AD97C3\\"\\n}","type":"json"}]', 'translator' => 'manual', ], 'ModifyGlobalAccelerationInstanceAttributes' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the GA instance.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'GlobalAccelerationInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-14fdsf3****'], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the GA instance.'."\n" ."\n" .'The name must be 2 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'GA-1'], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the GA instance.'."\n" ."\n" .'The description must be 2 to 256 characters in length. It must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'My GA'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BD5BCEE8-F62C-40C2-9AC3-89XXXXXXXXX'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidBandwidth.ValueNotSupported', 'errorMessage' => 'The specified Bandwidth is not supported.', 'description' => ''], ['errorCode' => 'InvalidGlobalAccelerationInstanceId.NotFound', 'errorMessage' => 'The specified GlobalAccelerationInstanceId is not found.', 'description' => ''], ['errorCode' => 'Forbidden.ChargeTypeIsPrepaid', 'errorMessage' => 'It?s forbidden to change prepaid EIP?s bandwidth by API. It can be changed on Aliyun web console.', 'description' => ''], ['errorCode' => 'InvalidGlobalAccelerationInstanceName.Malformed', 'errorMessage' => 'The specified Name is not valid.', 'description' => ''], ['errorCode' => 'InvalidGlobalAccelerationInstanceDescription.Malformed', 'errorMessage' => 'The specified Description is not valid.', 'description' => ''], ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The parameter is invalid.', 'description' => ''], ['errorCode' => 'InvalidGlobalAccelerationInstance.NotFound', 'errorMessage' => 'The specified global acceleration instance is not found.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not supported.', 'description' => ''], ], ], 'title' => 'ModifyGlobalAccelerationInstanceAttributes', 'summary' => 'Modifies the name and description of a Global Accelerator (GA) instance.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'ModifyGlobalAccelerationInstanceSpec' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the GA instance.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'GlobalAccelerationInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-32s33s****'], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The maximum bandwidth of the GA instance. Unit: Mbit/s. Set the value to **10**.'."\n", 'type' => 'string', 'required' => true, 'example' => '10'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BD5BCEE8-F62C-40C2-9AC3-89XXXXXXXXX'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidBandwidth.ValueNotSupported', 'errorMessage' => 'The specified Bandwidth is not supported.', 'description' => ''], ['errorCode' => 'InvalidGlobalAccelerationInstanceId.NotFound', 'errorMessage' => 'The specified GlobalAccelerationInstanceId is not found.', 'description' => ''], ['errorCode' => 'Forbidden.ChargeTypeIsPrepaid', 'errorMessage' => 'It?s forbidden to change prepaid GlobalAcceleration?s bandwidth by API. It can be changed on Aliyun web console.', 'description' => ''], ['errorCode' => 'InvalidGlobalAccelerationInstanceName.Malformed', 'errorMessage' => 'The specified Name is not valid.', 'description' => ''], ['errorCode' => 'InvalidGlobalAccelerationInstanceDescription.Malformed', 'errorMessage' => 'The specified Description is not valid.', 'description' => ''], ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The parameter is invalid.', 'description' => ''], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'Specified GA allocation ID is not found.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not supported.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'title' => 'ModifyGlobalAccelerationInstanceSpec', 'summary' => 'Modifies the maximum bandwidth of a Global Accelerator (GA) instance.', 'description' => '## Usage notes'."\n" ."\n" .'You cannot call this operation to modify the maximum bandwidth of a subscription GA instance.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'ModifyHaVipAttribute' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among all requests. ClientToken can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request may be different.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e0****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region to which the HaVip belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'HaVipId', 'in' => 'query', 'schema' => ['description' => 'The ID of the HaVip.', 'type' => 'string', 'required' => true, 'example' => 'havip-2zeo05qre24nhrqp****', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the HaVip.'."\n" ."\n" .'The description must be 1 to 255 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'This is my HaVip.', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the HaVip.'."\n" ."\n" .'The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus', 'errorMessage' => 'HaVip can be deleted only when it\'s status is Available or InUse.', 'description' => ''], ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'The specified Description is wrongly formed.', 'description' => 'The error message returned because the Description parameter is set to an invalid value.'], ['errorCode' => 'Abs.Vpc.InvalidName.Malformed', 'errorMessage' => 'The specified Name is not valid.', 'description' => ''], ['errorCode' => 'Forbidden.HaVip', 'errorMessage' => 'No permissions to perform operations on HAVIPs. Please apply for privilege--vpc_privilege_allow_buy_havip_instance.', 'description' => 'The error message returned because you do not have the permissions to manage the HAVIP. Go to the Quota Center page to acquire the permissions.'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidHaVipId.NotFound', 'errorMessage' => 'The specified HaVip does not exist in the specified region.', 'description' => 'The specified HAVIP does not exist in the specified region. Check whether the specified region is correct.'], ], ], 'title' => 'ModifyHaVipAttribute', 'summary' => 'Modifies the name and description of a high-availability virtual IP address (HaVip).', 'description' => '**ModifyHaVipAttribute**不支持并发修改同一个HaVip的名称和描述。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-01-11T06:07:05.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-01-10T15:26:10.000Z', 'description' => 'Error codes changed, Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyHaVipAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'HaVip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/{#HaVipId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\"\\n}","type":"json"}]', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyHaVipAttribute'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'ModifyIPv6TranslatorAclAttribute' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => true, 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region of the IPv6 Translation Service instance. You can call the DescribeRegions operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'AclId', 'in' => 'query', 'schema' => ['description' => 'The ID of the ACL that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ipv6transacl-bp1de2****', 'title' => ''], ], [ 'name' => 'AclName', 'in' => 'query', 'schema' => ['description' => 'The name of the ACL.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'acl1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidName', 'errorMessage' => 'The specified name is not valid', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidIPv6TranslatorACLId.NotFound', 'errorMessage' => 'The specified ipv6 translator acl instance id does not exist.', 'description' => ''], ], ], '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' => 'ModifyIPv6TranslatorAclAttribute', 'summary' => 'Modifies the name of an access control list (ACL).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyIPv6TranslatorAclAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#Ipv6TranslatorId}'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyIPv6TranslatorAclAttribute'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'ModifyIPv6TranslatorAclListEntry' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region of the ACL.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'AclId', 'in' => 'query', 'schema' => ['description' => 'The ID of the ACL to which the IP entry belongs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ipv6transacl-bp1b4z3tleyhq1s50****', 'title' => ''], ], [ 'name' => 'AclEntryId', 'in' => 'query', 'schema' => ['description' => 'The ID of the ACL rule to which the IP entry belongs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ipv6transaclentry-bp1jzyn7ra8pyxehd****', 'title' => ''], ], [ 'name' => 'AclEntryComment', 'in' => 'query', 'schema' => ['description' => 'The remarks of the ACL rule.'."\n" ."\n" .'It must be 2 to 100 characters in length, and can contain digits, underscores (\\_), and hyphens (-). It must start with a letter.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'client IP', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidIPv6TranslatorAclId.NotFound', 'errorMessage' => 'The specified ipv6 translator acl instance id does not exist.', 'description' => ''], ['errorCode' => 'InvalidIPv6TranslatorAclEntryId.NotFound', 'errorMessage' => 'The specified ipv6 translator acl entry id does not exist.', 'description' => ''], ['errorCode' => 'InvalidEntryComment', 'errorMessage' => 'The specified value of comment not supported.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], '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' => 'ModifyIPv6TranslatorAclListEntry', 'summary' => 'Modifies an IP entry in an access control list (ACL).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyIPv6TranslatorAclListEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#Ipv6TranslatorId}'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyIPv6TranslatorAclListEntry'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'ModifyIPv6TranslatorAttribute' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region of the IPv6 Translation Service instance. You can call the **DescribeRegions** operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sha1111', 'title' => ''], ], [ 'name' => 'Ipv6TranslatorId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ipv6trans-bp1858ys****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the IPv6 Translation Service instance. The default name is the instance ID. It must be 2 to 100 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It cannot start with http:// or [https://](https://。).'."\n", 'type' => 'string', 'required' => false, 'example' => 'instancename', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of IPv6 Translation Service. This parameter is empty by default. It must be 2 to 100 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It cannot start with http:// or [https://](https://。).'."\n", 'type' => 'string', 'required' => false, 'example' => 'instancedescription', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '8B2F5262-6B57-43F2-xxxxx', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidName', 'errorMessage' => 'The specified name is not valid', 'description' => ''], ['errorCode' => 'InvalidDescription', 'errorMessage' => 'The specified description is not valid', 'description' => ''], ['errorCode' => ' IPv6Translator.Configuring', 'errorMessage' => 'The specified ipv6 translator is configuring.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidIPv6TranslatorId.NotFound', 'errorMessage' => 'The specified ipv6 translator instance id does not exist.', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8B2F5262-6B57-43F2-xxxxx\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 8B2F5262-6B57-43F2-xxxxx\\n","errorExample":""}]', 'title' => 'ModifyIPv6TranslatorAttribute', 'summary' => 'Modifies the name and description of an IPv6 Translation Service instance.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyIPv6TranslatorAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#Ipv6TranslatorId}'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyIPv6TranslatorAttribute'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'ModifyIPv6TranslatorBandwidth' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region of the IPv6 Translation Service instance. You can call the **DescribeRegions** operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'Ipv6TranslatorId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 Translation Service instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ipv6trans-bp1858ys****', 'title' => ''], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The maximum bandwidth of the IPv6 Translation Service instance. Valid values: **1** to **200**. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '2', 'title' => ''], ], [ 'name' => 'AutoPay', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable auto-payment for the instance. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false** (default)'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'OrderId' => ['description' => 'The order ID.'."\n", 'type' => 'string', 'example' => '202304500950739', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'EF8198EE-8FC9-49C2-A22E-xxxx', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidIPv6TranslatorId.NotFound', 'errorMessage' => 'The specified ipv6 translator instance id does not exist.', 'description' => ''], ['errorCode' => 'InvalidBandwidth.NotSupport', 'errorMessage' => 'The specified bandwidth is not support.', 'description' => ''], ['errorCode' => 'IPv6Translator.Configuring', 'errorMessage' => 'The specified ipv6 translator is configuring.', 'description' => ''], ['errorCode' => 'InvalidBandwidth.DowngradeForbidden', 'errorMessage' => 'The bandwidth downgrade is forbidden.', 'description' => ''], ['errorCode' => 'InvalidBandwidth.NotEnough', 'errorMessage' => 'The specified bandwidth is not enough.', 'description' => ''], ['errorCode' => 'InvalidBandwidth.NotChange', 'errorMessage' => 'The specified bandwidth does not change.', 'description' => ''], ['errorCode' => 'IPv6Translator.FinancialLocked', 'errorMessage' => 'The specified ipv6 translator is financial locked.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'Internal Error', 'description' => ''], ], ], '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' => 'ModifyIPv6TranslatorBandwidth', 'summary' => 'Modifies the maximum bandwidth of an IPv6 Translation Service instance.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyIPv6TranslatorBandwidth', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#Ipv6TranslatorId}'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyIPv6TranslatorBandwidth'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'ModifyIPv6TranslatorEntry' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => true, 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region of the IPv6 Translation Service instance. You can call the DescribeRegions operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Ipv6TranslatorEntryId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 mapping entry.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ipv6trans-bp1858ys****'], ], [ 'name' => 'EntryName', 'in' => 'query', 'schema' => ['description' => 'The name of the IPv6 mapping entry. It must be 2 to 100 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter. It cannot start with http:// or [https://](https://。).'."\n", 'type' => 'string', 'required' => false, 'example' => 'entry1'], ], [ 'name' => 'EntryDescription', 'in' => 'query', 'schema' => ['description' => 'The description of the IPv6 mapping entry. It must be 2 to 100 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter. It cannot start with http:// or [https://](https://。).'."\n", 'type' => 'string', 'required' => false, 'example' => 'entrydescription'], ], [ 'name' => 'AllocateIpv6Port', 'in' => 'query', 'schema' => ['description' => 'The port that is used by the IPv6 address allocated to the IPv6 Translation Service instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80'], ], [ 'name' => 'BackendIpv4Addr', 'in' => 'query', 'schema' => ['description' => 'The public IPv4 address that needs to provide IPv6 services.'."\n", 'type' => 'string', 'required' => false, 'example' => '47.11.XX.XX'], ], [ 'name' => 'BackendIpv4Port', 'in' => 'query', 'schema' => ['description' => 'The port of the public IPv4 address that needs to provide IPv6 services.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80'], ], [ 'name' => 'TransProtocol', 'in' => 'query', 'schema' => ['description' => 'The protocol. Valid values:'."\n" ."\n" .'* **tcp**'."\n" .'* **udp**'."\n", 'type' => 'string', 'required' => false, 'example' => 'tcp'], ], [ 'name' => 'EntryBandwidth', 'in' => 'query', 'schema' => ['description' => 'The maximum bandwidth specified in the IPv6 mapping entry. Unit: Mbit/s. Valid values:'."\n" ."\n" .'* **-1** (default): does not limit the maximum bandwidth specified in the IPv6 mapping entry.'."\n" .'* **1** to **200**: changes the maximum bandwidth specified in the IPv6 mapping entry.'."\n" ."\n" .'> The sum of maximum bandwidth values specified in all IPv6 entries cannot exceed the maximum bandwidth supported by the instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], [ 'name' => 'AclStatus', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable access control lists (ACLs). Valid values:'."\n" ."\n" .'* **on**'."\n" .'* **off**'."\n", 'type' => 'string', 'required' => false, 'example' => 'off'], ], [ 'name' => 'AclType', 'in' => 'query', 'schema' => ['description' => 'The ACL type. Valid values:'."\n" ."\n" .'* **white**: a whitelist. IPv6 addresses in the ACL are allowed to access backend services.'."\n" .'* **black**: a blacklist. IPv6 addresses in the ACL are not allowed to access backend services.'."\n", 'type' => 'string', 'required' => false, 'example' => 'white'], ], [ 'name' => 'AclId', 'in' => 'query', 'schema' => ['description' => 'The ID of the associated ACL.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ipv6transacl-bp1de27sou71g0lf****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidName', 'errorMessage' => 'The specified value of name not supported.', 'description' => ''], ['errorCode' => 'InvalidDescription', 'errorMessage' => 'The specified value of description not supported.', 'description' => ''], ['errorCode' => 'InvalidIpAddress.AlreadyExist', 'errorMessage' => 'The specified ip address is already exist.', 'description' => ''], ['errorCode' => 'InvalidIpAddress.WrongFormat', 'errorMessage' => 'The specified ip address is invalid.', 'description' => ''], ['errorCode' => 'InvalidIpAddress.PrivateAddress', 'errorMessage' => 'The specified private ip address is invalid.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.InvalidPort', 'errorMessage' => 'The specified port is invalid.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.InvalidProtocol', 'errorMessage' => 'The specified transProtocol is invalid.', 'description' => ''], ['errorCode' => 'IPv6Translator.Configuring', 'errorMessage' => 'The specified ipv6 translator is configuring.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.IPv6Conflict', 'errorMessage' => 'The specified ipv6 port conflict.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.IPv4Conflict', 'errorMessage' => 'The specified ipv4 port and address conflict.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.InvalidParameter', 'errorMessage' => 'The specified parameter is not valid.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.AclIdNull', 'errorMessage' => 'The acl id must not be null.', 'description' => ''], ['errorCode' => 'InvalidIPv6TranslatorAclId.NotFound', 'errorMessage' => 'The specified ipv6 translator acl id does not exist.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.InvalidAclType', 'errorMessage' => 'The specified acl type is invalid.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.InvalidAclStatus', 'errorMessage' => 'The specified acl status is invalid.', 'description' => ''], ['errorCode' => 'IPv6TranslatorEntry.InvalidBandwidth', 'errorMessage' => 'The specified bandwidth is invalid.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidIPv6TranslatorEntryId.NotFound', 'errorMessage' => 'The specified ipv6 translator entry id does not exist.', 'description' => ''], ], ], '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' => 'ModifyIPv6TranslatorEntry', 'summary' => 'Modifies an IPv6 mapping entry.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'ModifyIpv6AddressAttribute' => [ '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' => 'The region ID of the IPv6 address. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPv6 address. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote'], ], [ 'name' => 'Ipv6AddressId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 address.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ipv6-hp32vv2klzw4yerdf****'], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the IPv6 address.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the IPv6 address.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => 'd7d24a21-f4ba-4454-9173-b3828dae492b'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'D560AF68-4CE8-4A5C-B3FE-469F558094D0'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidIpv6AddressId.NotFound', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The IPv6 address is not found.'], ['errorCode' => 'IllegalParam.Name', 'errorMessage' => 'The param of Name [%s] is illegal.', 'description' => 'The error message returned because the Name parameter is set to an invalid value. Specify a valid value and try again.'], ['errorCode' => 'IllegalParam.Description', 'errorMessage' => 'The param of Description [%s] is illegal.', 'description' => 'The error message returned because the Description parameter is set to an invalid value. Specify a valid values and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ModifyIpv6AddressAttribute', 'summary' => 'Modifies the name and description of an IPv6 address.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-07-24T09:40:24.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-08-15T05:56:35.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyIpv6AddressAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], ], ], 'ModifyIpv6GatewayAttribute' => [ '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' => 'The region ID of the IPv6 gateway. You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''], ], [ 'name' => 'Ipv6GatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 gateway to modify.', 'type' => 'string', 'required' => true, 'example' => 'ipv6gw-hp39kh1ya51yzp2lu****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the IPv6 gateway.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'ipv6name', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the IPv6 gateway.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'ipv6description', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run. The system does not associate a routing table. The system checks the AccessKey pair, the authorization of the Resource Access Management (RAM) user, and the required parameters. If the check fails, the corresponding error is returned. If the check succeeds, the error code `DryRunOperation` is returned.'."\n" ."\n" .'- **false** (default): sends a normal request. After the check succeeds, a 2xx HTTP status code is returned and the system associates the routing table.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9DFEDBEE-E5AB-49E8-A2DC-CC114C67AF75', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidIpv6GatewayId.NotFound', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.Name', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.Description', 'errorMessage' => '%s', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Modify iPv6 gateway information', 'summary' => 'Modifies the information of an IPv6 gateway.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-07-24T09:40:24.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-08-15T05:56:35.000Z', 'description' => 'Request parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyIpv6GatewayAttribute'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyIpv6GatewayAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/{#Ipv6GatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9DFEDBEE-E5AB-49E8-A2DC-CC114C67AF75\\"\\n}","type":"json"}]', ], 'ModifyIpv6InternetBandwidth' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPv6 gateway. You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-huhehaote', 'title' => ''], ], [ 'name' => 'Ipv6AddressId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 address.'."\n" ."\n" .'> You must specify either **Ipv6AddressId** or **Ipv6InternetBandwidthId**.', 'type' => 'string', 'required' => false, 'example' => 'ipv6-2zen5j4axcp5l5qyy****', 'title' => ''], ], [ 'name' => 'Ipv6InternetBandwidthId', 'in' => 'query', 'schema' => ['description' => 'The Internet bandwidth instance ID of the IPv6 address.', 'type' => 'string', 'required' => false, 'example' => 'ipv6bw-uf6hcyzu65v98v3du****', 'title' => ''], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The Internet bandwidth of the IPv6 address. Unit: Mbit/s.'."\n" ."\n" .''."\n" ."\n" .'- If the billing method is pay-by-data-transfer, the valid values of Internet bandwidth are **1** to **1000**.'."\n" .'- If the billing method is pay-by-bandwidth, the valid values of Internet bandwidth are **1** to **2000**.'."\n" .'- If the billing method is monthly 95th percentile bandwidth, the valid values of Internet bandwidth are **1** to **2000**.'."\n" ."\n" .''."\n" ."\n" .''."\n" ."\n" .'- If the billing method is pay-by-data-transfer, the valid values of Internet bandwidth are **1** to **1000**.'."\n" .'- If the billing method is pay-by-bandwidth, the valid values of Internet bandwidth are **1** to **2000**.'."\n" .'', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '200', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" .'- **true**: performs a dry run. The IPv4 gateway is not created. The system checks the required parameters, request syntax, and limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'- **false** (default): performs a dry run and sends the request. If the request passes the dry run, an HTTP 2xx status code is returned and the IPv4 gateway is created.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D560AF68-4CE8-4A5C-B3FE-469F558094D0', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParam.Ipv6InstanceId', 'errorMessage' => 'The param of Ipv6InstanceId is missing.', 'description' => 'The error message returned because Ipv6InstanceId is not set.'], ['errorCode' => 'InvalidIpv6Instance.NotFound', 'errorMessage' => 'The specified Ipv6AddressId or Ipv6InternetBandwidthId is not found.', 'description' => ''], ['errorCode' => 'IllegalParam.Bandwidth', 'errorMessage' => 'The param of bandwidth is illegal.', 'description' => 'The Bandwidth parameter is set to an invalid value.'], ['errorCode' => 'OperationUnsupported.FinancialLocked', 'errorMessage' => 'The operation is forbidden because of financialLocked.', 'description' => 'The error message returned because the resource is locked due to overdue payments and the operation is denied.'], ['errorCode' => 'OperationFailed.InternetBandwidthNonExist', 'errorMessage' => 'The operation is forbidden because of InternetBandwidthNonExist.', 'description' => 'The error message returned because the specified bandwidth is invalid and the operation is denied.'], ['errorCode' => 'OperationFailed.InternetBandwidthUnstable', 'errorMessage' => 'The operation is forbidden because of InternetBandwidthUnstable.', 'description' => 'The operation is prohibited because the bandwidth instance is not in a stable state.'], ['errorCode' => 'OperationFailed.BandwidthExceedLimit', 'errorMessage' => 'The operation is forbidden because of BandwidthExceedLimit.', 'description' => 'The error message returned because the specified bandwidth exceeds the upper limit and the operation is denied.'], ['errorCode' => 'ParamExclusive.Ipv6AddressIdAndIpv6InternetBandwidthId', 'errorMessage' => 'Ipv6AddressId and Ipv6InternetBandwidthId is mutually exclusive.', 'description' => 'The error message returned because Ipv6AddressId and Ipv6InternetBandwidthId are not set for the same instance.'], ], 404 => [ ['errorCode' => 'InvalidIpv6Instance.NotFound', 'errorMessage' => 'The specified Ipv6AddressId or Ipv6InternetBandwidthId is not found.', 'description' => 'The error message returned because Ipv6AddressId or Ipv6InternetBandwidthId is not set.'], ], 500 => [ ['errorCode' => 'OperationFailed.QueryAccountInfo', 'errorMessage' => 'Query account info failed when create order.', 'description' => 'Failed to query the account information when the order is placed.'], ], ], 'title' => 'Modify the internet bandwidth of an iPv6 address', 'summary' => 'Modifies the Internet bandwidth of an IPv6 address.', 'description' => 'The **ModifyIpv6InternetBandwidth** operation does not support concurrent modifications to the same IPv6 Internet bandwidth.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-07-24T09:40:23.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2023-08-14T08:48:43.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-03T05:30:57.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-23T02:20:37.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyIpv6InternetBandwidth'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyIpv6InternetBandwidth', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6InternetBandwidth', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6bandwidth/{#Ipv6InternetBandwidthId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D560AF68-4CE8-4A5C-B3FE-469F558094D0\\"\\n}","type":"json"}]', ], 'ModifyNatGatewayAttribute' => [ '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' => 'The region ID of the NAT gateway.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'NatGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the NAT gateway.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ngw-2ze0dcn4mq31qx2jc****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the NAT gateway.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nat123', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the NAT gateway.'."\n" ."\n" .'The description must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Description', 'title' => ''], ], [ 'name' => 'IcmpReplyEnabled', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable the Internet Control Message Protocol (ICMP) non-retrieval feature. Valid values:'."\n" ."\n" .'* **false** (default)'."\n" .'* **true**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'EipBindMode', 'in' => 'query', 'schema' => [ 'description' => 'Modifies the mode in which the EIP is associated with the NAT gateway. The value can be empty or **NAT**, which specifies the NAT mode.'."\n" ."\n" .'> '."\n" ."\n" .'* You can only change **MULTI_BINDED** to **NAT**. You cannot change **NAT** to **MULTI_BINDED**. For more information about the **MULTI_BINDED** mode, see [CreateNatGateway](~~120219~~).'."\n" ."\n" .'* When you change the association mode, your network may be interrupted for seconds. The duration increases with the number of EIPs. You can change the association mode for at most 5 EIPs at the same time. We recommend changing the association mode during off-peak hours.'."\n" .'* After the association mode is changed to **NAT**, the Internet NAT gateway is compatible with an IPv4 gateway. If an EIP is associated with a NAT gateway in NAT mode, the EIP occupies a private IP address of the vSwitch to which the NAT gateway belongs. Ensure the vSwitch has sufficient private IP addresses for EIPs to be associated with the NAT gateway.'."\n", 'type' => 'string', 'enum' => ['NAT'], 'required' => false, 'example' => 'NAT', 'title' => '', ], ], [ 'name' => 'EnableSessionLog', 'in' => 'query', 'schema' => ['description' => 'Whether to enable session logging, with values:'."\n" .'- **true**: Session logging is enabled. '."\n" .'- **false**: Session logging is disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'LogDelivery', 'in' => 'query', 'style' => 'json', 'schema' => [ 'description' => 'Session log configuration information.', 'type' => 'object', 'properties' => [ 'LogDeliveryType' => ['description' => 'Session log write type. Value: **sls**, Alibaba Cloud Log Service SLS.', 'type' => 'string', 'required' => false, 'example' => 'sls', 'title' => ''], 'LogDestination' => ['description' => 'Session log write address. Value: 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', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'AB5F62CF-2B60-4458-A756-42C9DFE108D1', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'UnsupportedFeature.PrivateLinkMode', 'errorMessage' => 'The feature of %s is not supported.', 'description' => 'The feature of reverse access is not supported.'], ['errorCode' => 'IncorrectStatus.NATGW', 'errorMessage' => 'NATGW status is invalid.', 'description' => 'The NAT gateway is in an invalid state.'], ['errorCode' => 'ExclusiveParam.%sAnd%s', 'errorMessage' => 'The param of %s and %s are mutually exclusive.', 'description' => 'You cannot specify %s and %s at the same time.'], ['errorCode' => 'IncorrectStatus.NatGateway', 'errorMessage' => 'The status of natgateway is incorrect.', 'description' => 'The status of the NAT gateway is invalid.'], ['errorCode' => 'DependencyViolation.PrivateLinkMode', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => 'The %s resource depends on %s.'], ['errorCode' => 'UnsupportedFeature.IcmpReplyEnabled', 'errorMessage' => 'The feature of IcmpReplyEnabled is not supported.', 'description' => 'The value of IcmpReplyEnabled cannot be modified.'], ['errorCode' => 'InvalidParams.NotNull', 'errorMessage' => 'The parameter must not be null, name or description or icmpReplyEnabled', 'description' => 'The name, description, and ICMP proxy cannot be empty at the same time.'], ['errorCode' => 'InvalidParameter.Name.Malformed', 'errorMessage' => 'The specified Name is not valid.', 'description' => ''], ['errorCode' => 'InvalidParameter.Description.Malformed', 'errorMessage' => 'The specified Description is not valid.', 'description' => ''], ['errorCode' => 'UnsupportedFeature.IndirectConvertForVpcNat', 'errorMessage' => 'The VPC NAT gateway is not support to change EIP bond type.', 'description' => 'The error message returned because the value of the EipBindMode parameter cannot be modified for a VPC NAT gateway.'], ['errorCode' => 'UnsupportedFeature.NormalNatModifyEipBindMode', 'errorMessage' => 'The normal NAT gateway is not support to change EIP bond type.', 'description' => 'The value of EipBindMode cannot be modified for a standard NAT gateway.'], ['errorCode' => 'OperationDenied.EipBondTypeIsAlreadyNAT', 'errorMessage' => 'The EIP bond type is already NAT type.', 'description' => 'EipBindMode is already set to NAT.'], ['errorCode' => 'UnsupportedFeature.IndirectConvertForFwNat', 'errorMessage' => 'The security protection enabled NAT gateway is not support change EIP bond type.', 'description' => 'The value of EipBindMode cannot be modified for an Internet NAT gateway for which the security protection feature is enabled.'], ['errorCode' => 'QuotaExceeded.EipNumForModifyEipBondType', 'errorMessage' => 'The quota of %s is exceeded, binded: %s, quota: %s.', 'description' => 'The number of allowed EIPs reaches the upper limit when you modify the EIP association type.'], ['errorCode' => 'ResourceNotEnough.SwitchAvailableIps', 'errorMessage' => 'The available private Ip number is not enough in your subnet.', 'description' => 'The number of private IP addresses in the subnet is insufficient.'], ['errorCode' => 'UnsupportedFeature.VpcNatSecurityProtectionEnabled', 'errorMessage' => 'The VPC NAT gateway is not supported to enable security protection.', 'description' => 'You cannot enable security protection for the VPC NAT gateway.'], ['errorCode' => 'OperationDenied.NatGatewayStatusInvalid', 'errorMessage' => 'The NAT gateway status is invalid.', 'description' => 'The status of the NAT gateway does not support the operation.'], ['errorCode' => 'OperationDenied.EipStatusInvalid', 'errorMessage' => 'The NAT gateway has EIP in invalid status.', 'description' => 'The EIP associated with the NAT gateway is in an invalid state.'], ['errorCode' => 'OperationDenied.SnatEntryStatusInvalid', 'errorMessage' => 'The NAT gateway has SNAT entry in invalid status.', 'description' => 'The SNAT entry associated with the NAT gateway is in an invalid state.'], ['errorCode' => 'OperationDenied.DnatEntryStatusInvalid', 'errorMessage' => 'The NAT gateway has DNAT entry in invalid status.', 'description' => 'The DNAT entry associated with the NAT gateway is in an invalid state.'], ['errorCode' => 'UnsupportedFeature.MutilBindedTypeNatEnableFw', 'errorMessage' => 'The NAT with Mutil-Binded Eip bind type is not support enable firewall.', 'description' => 'You cannot enable firewall for the NAT gateway because EIPs are associated with the NAT gateway in Multi-Binded mode.'], ['errorCode' => 'Forbidden.FinancialLocked', 'errorMessage' => 'The instance is locked due to outstanding payments.', 'description' => 'The instance has overdue payments.'], ['errorCode' => 'OperationFailed.PrivateLinkMode', 'errorMessage' => 'The NAT gateway is not support to change PrivateLinkMode.', 'description' => 'The NAT gateway is not support to change PrivateLinkMode.'], ['errorCode' => 'IllegalParam.SessionLogDeliveryDestination', 'errorMessage' => 'The specified Delivery Destination is illegal.', 'description' => 'The specified Delivery Destination(SessionLogDeliveryDestination) is illegal.'], ['errorCode' => 'OperationFailed.LogDeliveryIsUnAuthorized', 'errorMessage' => 'Operation failed because the user is not authorized to deliver NAT session log.', 'description' => 'The operation failed because you did not grant the NAT session log delivery permission'], ['errorCode' => 'IllegalParam.SessionLogDeliveryType', 'errorMessage' => 'The specified Delivery Type is illegal.', 'description' => 'The specified delivery type parameter SessionLogDeliveryType is illegal.'], ['errorCode' => 'UnsupportedFeature.EnableSessionLog', 'errorMessage' => 'The feature of EnableSessionLog is not supported.', 'description' => 'This instance does not support opening NAT Gateway session logs.'], ], 403 => [ ['errorCode' => 'Forbidden.ModifyEipBondType', 'errorMessage' => 'Authentication is failed for modify EIP bond type.', 'description' => 'The value of EipBindMode cannot be modified.'], ], [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidNatGatewayId.NotFound', 'errorMessage' => 'The specified NatGatewayId does not exist in our records.', 'description' => ''], ], 500 => [ ['errorCode' => 'OperationFailed.ConfigSessionLog', 'errorMessage' => 'Failed to configure session log due to a temporary failure of the server.', 'description' => 'Failed to configure session log due to an internal service error.'], ], ], 'title' => 'ModifyNatGatewayAttribute', 'summary' => 'Modifies the name and description of a NAT gateway.', 'description' => '## [](#)Description'."\n" ."\n" .'You can call this operation to query an Internet NAT gateway or a virtual private cloud (VPC) NAT gateway. The term NAT gateway in this topic refers to both NAT gateway types.'."\n", 'changeSet' => [ ['createdAt' => '2024-05-17T02:34:51.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-05-07T06:31:14.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2024-01-18T07:07:56.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2023-03-01T06:45:55.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-10-13T02:17:38.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2021-07-14T02:52:33.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AB5F62CF-2B60-4458-A756-42C9DFE108D1\\"\\n}","type":"json"}]', 'translator' => 'manual', ], 'ModifyNatGatewaySpec' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the Internet NAT gateway is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'NatGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet NAT gateway that you want to upgrade.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ngw-bp1uewa15k4iy5770****', 'title' => ''], ], [ 'name' => 'Spec', 'in' => 'query', 'schema' => ['description' => 'The size of the Internet NAT gateway. Valid values:'."\n" ."\n" .'* **Small**: small'."\n" .'* **Middle**: medium'."\n" .'* **Large**: large'."\n", 'type' => 'string', 'required' => true, 'example' => 'Middle', 'title' => ''], ], [ 'name' => 'AutoPay', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to automatically complete the payment.'."\n" ."\n" .'* **true**: enables automatic payment. Payments are automatically completed.'."\n" .'* **false** (default): disables automatic payment. If you select this option, you must go to the Order Center to complete the payment after an order is generated.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'DBD4E4A2-786E-4BD2-8EB6-107FFC2B5B7D', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'NATGW_MODIFY_SPEC_SAME', 'errorMessage' => 'The specified Spec is same with now.', 'description' => ''], ['errorCode' => 'InvalidParameter.Spec.ValueNotSupported', 'errorMessage' => 'The specified Spec is not valid.', 'description' => ''], ['errorCode' => 'OperationFailed.SyncOrderToSub', 'errorMessage' => 'SyncOrderToSub error.', 'description' => 'The operation failed.'], ['errorCode' => 'OperationFailed.QueryPrice', 'errorMessage' => 'Query price failed when create order.', 'description' => 'Failed to query the price when creating the order.'], ['errorCode' => 'IncorrectStatus.NatGateway', 'errorMessage' => 'The status of NAT gateway is incorrect.', 'description' => 'The status of NAT gateway is incorrect.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidNatGatewayId.NotFound', 'errorMessage' => 'The specified NatGatewayId does not exist in our records.', 'description' => ''], ['errorCode' => 'OperationUnsupported.PayByLcuNatModifySpec', 'errorMessage' => 'The spec of payByLcu nat is unsupported to modify.', 'description' => 'Pay-as-you-go NAT gateways cannot be resized.'], ['errorCode' => 'Forbidden.ModifySpecToSpecialSpec', 'errorMessage' => 'You are not authorized to modify nat spec to special spec.', 'description' => ''], ['errorCode' => 'Forbidden.ModifySpecToSpecialSpecForNormalNat', 'errorMessage' => 'Normal NAT is not allowed to change to special spec, only enhanced nat allowed.', 'description' => ''], ], 500 => [ ['errorCode' => 'OperationFailed.NoAvailableResource', 'errorMessage' => 'The Zone have no available resource.', 'description' => ''], ], ], 'title' => 'ModifyNatGatewaySpec', 'summary' => 'Upgrades a subscription Internet NAT gateway.', 'description' => '- You cannot call this operation to downgrade a subscription Internet NAT gateway. You can downgrade a subscription Internet NAT gateway only in the console.'."\n" .'- When you call this operation to upgrade a subscription Internet NAT gateway, an order is generated. After you complete the payment in the order center, the Internet NAT gateway is upgraded.'."\n" ."\n" .'- **ModifyNatGatewaySpec** is an asynchronous operation. After you make a request, the ID of the request is returned but the Internet NAT gateway is not upgraded. The system upgrades the NAT gateway in the background. You can call the [DescribeNatGateways](/help/en/virtual-private-cloud/latest/describenatgateways) operation to query the status of an Internet NAT gateway. - If an Internet NAT gateway is in the **Modifying** state, the NAT gateway is being upgraded. In this case, you can only query the NAT gateway but cannot perform other operations.'."\n" .' - If an Internet NAT gateway is in the **Available** state, the Internet NAT gateway is upgraded.'."\n" .'- You cannot repeatedly call the **ModifyNatGatewaySpec** operation to resize a pay-by-specification NAT gateway.'."\n" ."\n" .'Internet NAT gateways are available in different sizes. The size of an Internet NAT gateway determines the SNAT performance, which includes the maximum number of connections and the number of new connections per second. However, the size of a NAT gateway does not affect the data throughput. The following table describes the correlations between different sizes of Internet NAT gateways and SNAT performance metrics. '."\n" ."\n" .'| Size | Maximum number of connections | Number of new connections per second |'."\n" .'| ---- | ----------------------------- | ------------------------------------ |'."\n" .'| Small | 10,000 | 1,000 |'."\n" .'| Medium | 50,000 | 5,000 |'."\n" .'| Large | 200,000 | 10,000 |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-03-01T06:45:55.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-07-22T07:54:11.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DBD4E4A2-786E-4BD2-8EB6-107FFC2B5B7D\\"\\n}","errorExample":""},{"type":"xml","example":"\\n DBD4E4A2-786E-4BD2-8EB6-107FFC2B5B7D\\n","errorExample":""}]', ], 'ModifyNatIpAttribute' => [ 'summary' => 'Modifies the name and description of a NAT IP address.', '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' => 'The region ID of the NAT gateway to which the NAT IP address that you want to modify belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-central-1', 'title' => ''], ], [ 'name' => 'NatIpId', 'in' => 'query', 'schema' => ['description' => 'The ID of the NAT IP address that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpcnatip-gw8e1n11f44wpg****', 'title' => ''], ], [ 'name' => 'NatIpName', 'in' => 'query', 'schema' => ['description' => 'The name of the NAT IP address that you want to modify.'."\n" ."\n" .'The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter. The name must start with a letter and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'newname', 'title' => ''], ], [ 'name' => 'NatIpDescription', 'in' => 'query', 'schema' => ['description' => 'The description of the NAT IP address that you want to modify.'."\n" ."\n" .'The description must be 2 to 256 characters in length and start with a letter. The description cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request.'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): sends the request. If the request passes the precheck, a 2xx HTTP status code is returned and the name and description of the NAT IP address are modified.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the NAT gateway to which the NAT IP address that you want to modify belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-central-1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6CC9456C-2E29-452A-9180-B6926E51B5CA', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'ResourceNotFound.NatIp', 'errorMessage' => 'The specified resource of NatIp is not found.', 'description' => ''], ], ], 'title' => 'ModifyNatIpAttribute', 'description' => '## [](#)Description'."\n" ."\n" .'You cannot repeatedly call the **ModifyNatIpAttribute** operation to modify the name and description of a NAT IP address within the specified period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-03-01T06:45:53.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6CC9456C-2E29-452A-9180-B6926E51B5CA\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 6CC9456C-2E29-452A-9180-B6926E51B5CA\\n","errorExample":""}]', ], 'ModifyNatIpCidrAttribute' => [ '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' => 'The region ID of the NAT gateway to which the NAT CIDR block belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-central-1', 'title' => ''], ], [ 'name' => 'NatIpCidrName', 'in' => 'query', 'schema' => ['description' => 'The new name of the NAT CIDR block.'."\n" ."\n" .'The name must be 2 to 128 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'newname', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', 'title' => ''], ], [ 'name' => 'NatIpCidrDescription', 'in' => 'query', 'schema' => ['description' => 'The new description of the NAT CIDR block.'."\n" ."\n" .'The description must be 2 to 256 characters in length. The description must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'newtest', 'title' => ''], ], [ 'name' => 'NatGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Virtual Private Cloud (VPC) NAT gateway to which the NAT CIDR block belongs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ngw-gw8v16wgvtq26vh59****', 'title' => ''], ], [ 'name' => 'NatIpCidr', 'in' => 'query', 'schema' => ['description' => 'The NAT CIDR block whose name and description you want to modify.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '172.16.0.0/24', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the NAT gateway to which the NAT CIDR block belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-central-1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParamFormat.NatIpCidr', 'errorMessage' => 'The param format of NatIpCidr is illegal.', 'description' => 'The param format of NatIpCidr is illegal.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.NatIpCidr', 'errorMessage' => 'The specified resource of NatIpCidr is not found.', 'description' => ''], ], ], 'title' => 'ModifyNatIpCidrAttribute', 'summary' => 'Modifies the name and description of a NAT CIDR block.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-03-25T16:25:59.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-10-23T06:17:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-01T06:45:53.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]', ], 'ModifyNetworkAclAttributes' => [ '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' => 'The ID of the network ACL.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'acl-bp1lhl0taikrxxxxxxxx'], ], [ 'name' => 'NetworkAclName', 'in' => 'query', 'schema' => ['description' => 'The name of the network ACL.'."\n" ."\n" .'The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acl-1'], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the network ACL.'."\n" ."\n" .'The description must be 1 to 256 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'This is my NetworkAcl.'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the network ACL.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false**: performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the network ACL.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8F76C3E4-B39F-465D-B8B3-50BAF03CA833'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ParameterMissing.AliUid', 'errorMessage' => 'ParameterMissing.AliUid', 'description' => ''], ['errorCode' => 'ParameterMissing.Bid', 'errorMessage' => 'ParameterMissing.Bid', 'description' => ''], ['errorCode' => 'ParameterMissing.RegionId', 'errorMessage' => 'ParameterMissing.RegionId', 'description' => ''], ['errorCode' => 'ParameterEmpty.RegionId', 'errorMessage' => 'ParameterEmpty.RegionId', 'description' => ''], ['errorCode' => 'ParameterMissing.NetworkAclId', 'errorMessage' => 'ParameterMissing.NetworkAclId', 'description' => ''], ['errorCode' => 'ParameterEmpty.NetworkAclId', 'errorMessage' => 'ParameterEmpty.NetworkAclId', 'description' => ''], ['errorCode' => 'ParameterLengthIllegal.Name', 'errorMessage' => 'ParameterLengthIllegal.Name', 'description' => 'The length of the rule name is invalid.'], ['errorCode' => 'ParameterIllegal.Name', 'errorMessage' => 'ParameterIllegal.Name', 'description' => 'The name of the entry is invalid.'], ['errorCode' => 'ParameterLengthIllegal.Description', 'errorMessage' => 'ParameterLengthIllegal.Description', 'description' => ''], ['errorCode' => 'ParameterIllegal.Description', 'errorMessage' => 'ParameterIllegal.Description', 'description' => ''], ['errorCode' => 'InvalidNetworkAcl.NotFound', 'errorMessage' => 'The special Network Acl is not found.', 'description' => 'The network ACL is not found.'], ['errorCode' => 'NotSupport.NetworkAcl', 'errorMessage' => 'Network acl is not support now.', 'description' => ''], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'The parameter mode is invalid.'], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ModifyNetworkAclAttributes', 'summary' => 'Modifies the attributes of a network access control list (ACL).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-11-24T05:37:30.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyNetworkAclAttributes', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NetworkAcl', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:networkacl/{#NetworkAclId}'], ], ], ], ], ], 'ModifyPhysicalConnectionAttribute' => [ 'summary' => 'Modifies the configurations of an Express Connect circuit.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the Express Connect circuit.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'PhysicalConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Express Connect circuit.'."\n", 'type' => 'string', 'required' => true, 'example' => 'pc-119mfjzm******', 'title' => ''], ], [ 'name' => 'LineOperator', 'in' => 'query', 'schema' => ['description' => 'The connectivity provider of the Express Connect circuit. Valid values:'."\n" ."\n" .'* **CT**: China Telecom'."\n" .'* **CU**: China Unicom'."\n" .'* **CM**: China Mobile'."\n" .'* **CO**: other connectivity providers in the Chinese mainland'."\n" .'* **Equinix**: Equinix'."\n" .'* **Other**: other connectivity providers outside the Chinese mainland'."\n", 'type' => 'string', 'required' => false, 'example' => 'CT', 'title' => ''], ], [ 'name' => 'bandwidth', 'in' => 'query', 'schema' => ['description' => 'The bandwidth value for the connection over the Express Connect circuit. Unit: Mbit/s. Valid values: 2 to 10240.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], ], [ 'name' => 'PeerLocation', 'in' => 'query', 'schema' => ['description' => 'The geographical location of the data center.'."\n", 'type' => 'string', 'required' => false, 'example' => '浙江省杭州市XX区XX街道XX号', 'title' => ''], ], [ 'name' => 'PortType', 'in' => 'query', 'schema' => ['description' => 'The port type of the Express Connect circuit. Valid values:'."\n" ."\n" .'* **100Base-T**: 100 Mbit/s copper Ethernet port'."\n" .'* **1000Base-T** (default): 1,000 Mbit/s copper Ethernet port'."\n" .'* **1000Base-LX**: 1,000 Mbit/s single-mode optical port (10 kilometers)'."\n" .'* **10GBase-T**: 10,000 Mbit/s copper Ethernet port'."\n" .'* **10GBase-LR**: 10,000 Mbit/s single-mode optical port (10 kilometers)'."\n" .'* **40GBase-LR**: 40,000 Mbit/s single-mode optical port'."\n" .'* **100GBase-LR**: 100,000 Mbit/s single-mode optical port'."\n" ."\n" .'> To use ports 40GBase-LR and 100GBase-LR, you must first contact your account manager.'."\n", 'type' => 'string', 'required' => false, 'example' => '1000Base-LX', 'title' => ''], ], [ 'name' => 'RedundantPhysicalConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the redundant Express Connect circuit. The redundant Express Connect circuit must be in the **Allocated**, **Confirmed**, or **Enabled** state.'."\n", 'type' => 'string', 'required' => false, 'example' => 'pc-119mfjzm7', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the Express Connect circuit.'."\n" ."\n" .'The description must be 2 to 256 characters in length. It must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => '物理专线的描述信息', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the Express Connect circuit.'."\n" ."\n" .'The name must be 2 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => '物理专线的名称', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => 'efefe566754h', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => 'efefe566754h', 'title' => ''], ], [ 'name' => 'CircuitCode', 'in' => 'query', 'schema' => ['description' => 'The circuit code of the Express Connect circuit. The circuit code is provided by the connectivity provider.'."\n", 'type' => 'string', 'required' => false, 'example' => 'longtel001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '013EE132-A109-4247-91B0-099A8FF49AD7', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidLineOperator.Malformd', 'errorMessage' => 'The LineOperator provided was invalid.', 'description' => ''], ['errorCode' => 'InvalidPeerLocation.Malformd', 'errorMessage' => 'The PeerLocation provided was invalid.', 'description' => ''], ['errorCode' => 'InvalidPortType.Malformd', 'errorMessage' => 'The PortType provided was invalid.', 'description' => ''], ['errorCode' => 'InvalidName.Malformed', 'errorMessage' => 'The specified ?Name? is not valid.', 'description' => ''], ['errorCode' => 'InvalidStatus', 'errorMessage' => 'invalid physical connection status.', 'description' => ''], ['errorCode' => 'InvalidBandwidth', 'errorMessage' => 'invalid physical connection banwidth.', 'description' => ''], ['errorCode' => 'InvalidRedundantPhysicalConnection', 'errorMessage' => 'redundant physical connection doesn\'t belong to current user.', 'description' => ''], ['errorCode' => 'InvalidRedundantPhysicalConnectionStatus', 'errorMessage' => 'invalid redundant physical connection status.', 'description' => ''], ['errorCode' => 'InvalidCircuitCode.Malformed', 'errorMessage' => 'circuitCode is illegal.', 'description' => ''], ['errorCode' => 'InvalidPhysicalConnectionOperator.Malformed', 'errorMessage' => 'Specified PhysicalConnection Operator is not valid.', 'description' => 'The operation on the Express Connect circuit is invalid.'], ['errorCode' => 'InvalidPhysicalConnectionBandwidth.Malformed', 'errorMessage' => 'Specified PhysicalConnection Bandwidth is not valid.', 'description' => 'The bandwidth of the Express Connect circuit is set to an invalid value.'], ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'The specified Description is not valid.', 'description' => 'Parameter Description value is illegal'], ['errorCode' => 'OperationDenied.VPconn', 'errorMessage' => 'The operation is not allowed because of VPconn.', 'description' => 'The operation failed because the hosted connection does not support the operation.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidPhysicalConnectionId.NotFound', 'errorMessage' => 'The PhysicalConnectionId provided does not exist in our records.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ModifyPhysicalConnectionAttribute', 'description' => 'When you call this operation, take note of the following limits:'."\n" ."\n" .'* If an Express Connect circuit is in the **Initial**, **Enabled**, or **Rejected** state, you can modify the specifications of the Express Connect circuit and the ID of the redundant circuit.'."\n" .'* If an Express Connect circuit is in the **Canceled**, **Allocating**, **AllocationFailed**, or **Terminated** state, you cannot modify the specifications of the Express Connect circuit.'."\n" .'* After you modify the specifications of an Express Connect circuit that is in the **Rejected** state, the Express Connect circuit enters the **Initial** state.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-06-13T08:13:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-02-28T09:00:12.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"013EE132-A109-4247-91B0-099A8FF49AD7\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 013EE132-A109-4247-91B0-099A8FF49AD7\\n","errorExample":""}]', ], 'ModifyRouteEntry' => [ 'summary' => 'Calls the ModifyRouteEntry operation to modify the name, description, and next hop of a custom route entry.', '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' => 'The region ID of the route entry.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RouteEntryName', 'in' => 'query', 'schema' => ['description' => 'The name of the route entry.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'EntryName', 'title' => ''], ], [ 'name' => 'RouteEntryId', 'in' => 'query', 'schema' => ['description' => 'The ID of the custom route entry.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'rte-acfvgfsghfdd****', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the route entry.'."\n" ."\n" .'The description must be 1 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'EntryDescription', 'title' => ''], ], [ 'name' => 'NewNextHopType', 'in' => 'query', 'schema' => [ 'title' => '', 'description' => 'The new next hop type of the route. Valid values:'."\n" ."\n" .'- **Instance**: ECS instance.'."\n" ."\n" .'- **HaVip**: high-availability virtual IP address. '."\n" ."\n" .'- **RouterInterface**: vRouter interface.'."\n" ."\n" .'- **NetworkInterface**: elastic network interface (ENI).'."\n" ."\n" .'- **VpnGateway**: VPN gateway.'."\n" ."\n" .'- **IPv6Gateway**: IPv6 gateway.'."\n" ."\n" .'- **NatGateway**: NAT gateway.'."\n" ."\n" .'- **Attachment**: transit router.'."\n" ."\n" .'- **VpcPeer**: VPC peering connection.'."\n" .'- **Ipv4Gateway**: IPv4 gateway.'."\n" .'- **GatewayEndpoint**: gateway endpoint.'."\n" .'- **Ecr**: Express Connect Router (ECR).'."\n" .'- **GatewayLoadBalancerEndpoint**: Gateway Load Balancer endpoint (GWLBe).', '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', ], 'type' => 'string', 'required' => false, 'example' => 'NetworkInterface', ], ], [ 'name' => 'NewNextHopId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The new next hop instance ID of the route.', 'type' => 'string', 'required' => false, 'example' => 'eni-bp17y37ytsenqyim****'], ], [ 'name' => 'RouteTableId', 'in' => 'query', 'schema' => ['description' => 'The route table ID.', 'type' => 'string', 'required' => false, 'example' => 'vtb-bp1nk7zk65du3pni8z9td', 'title' => ''], ], [ 'name' => 'DestinationCidrBlock', 'in' => 'query', 'schema' => ['description' => 'The IPv4 CIDR block of the route entry. IPv4 and IPv6 CIDR blocks are supported.'."\n" .'> If the **RouteEntryId** parameter is not specified, the **DestinationCidrBlock** and **RouteTableId** parameters are required.'."\n" .'> To change the IPv4 CIDR block of a route to a **prefix list**, specify the **RouteEntryId** parameter. The **DestinationCidrBlock** parameter does not support prefix list CIDR blocks or prefix list instance IDs.', 'type' => 'string', 'required' => false, 'example' => '192.168.0.0/24', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'**true**: sends the request without modifying the route. The system checks whether the AccessKey pair is valid, the authorization of the Resource Access Management (RAM) user, and whether the required parameters are specified. If the check fails, the corresponding error is returned. If the check succeeds, the `DryRunOperation` error code is returned.'."\n" ."\n" .'**false** (default): sends a Normal request. After the request passes the check, a 2xx HTTP status code is returned and the route is modified.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '861E6630-AEC0-4B2D-B214-6CB5E44B7F04', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidRouteEntryId.NotFound', 'errorMessage' => 'Specified RouteEntryId does not exist.', 'description' => 'The specified route is not found.'], ['errorCode' => 'InvalidRouteEntryName.Malformed', 'errorMessage' => 'Specified RouteEntry name is not valid.', 'description' => 'The new name of the route is invalid.'], ['errorCode' => 'OperationDenied.ModifyManagedRouteEntry', 'errorMessage' => 'The operation is not allowed because of route entry is managed.', 'description' => 'Hosted route cannot be modified.'], ['errorCode' => 'OperationDenied.RouteTableTypeNotPermitted', 'errorMessage' => 'The operation is not allowed because the type of route table is not permitted.', 'description' => 'You cannot create routes for route tables of the specified type.'], ['errorCode' => 'MissingParam.NewNextHopId', 'errorMessage' => 'The parameter NewNextHopId is mandatory.', 'description' => 'The next hop instance ID is not specified when you modify the next hop.'], ['errorCode' => 'IllegealParam.NextHopType', 'errorMessage' => 'The parameter NewNextHopType is illegal.', 'description' => 'The next hop type is invalid.'], ['errorCode' => 'UnsupportedFeature.NormalTypeNatGateway', 'errorMessage' => 'Normal nat gateways do not support modifying the next hop of the route.', 'description' => 'You cannot modify the next hop of a route that points to a standard NAT gateway.'], ['errorCode' => 'UnsupportedFeature.NextHopType', 'errorMessage' => 'The route type does not support modifying the next hop of the route.', 'description' => 'You cannot modify the next hop of the route.'], ['errorCode' => 'InvalidRouteTable.NotFound', 'errorMessage' => 'The specified routetable does not exist.', 'description' => 'The route table is not found.'], ['errorCode' => 'InvalidNetworkInterface.NotFound', 'errorMessage' => 'The specified network interface does not exist.', 'description' => 'The ID of the next hop ENI is not found.'], ['errorCode' => 'OperationDenied.NextHopExist', 'errorMessage' => 'The operation is not allowed because the nexthop already exists.', 'description' => 'The next hop of the destination-based route that you want to modify already exists.'], ['errorCode' => 'MissingParam.NewNextHopType', 'errorMessage' => 'The parameter NewNextHopType is mandatory.', 'description' => 'The next hop type is not specified when you modify the next hop.'], ['errorCode' => 'UnsupportedFeature.ModifyRouteEntryNextHop', 'errorMessage' => 'The current region does not support the function of modifying the route next hop.', 'description' => 'You cannot modify next hops in the current region.'], ['errorCode' => 'IncorrectRouteEntryStatus', 'errorMessage' => 'Some route entry status blocked this operation.', 'description' => ''], ['errorCode' => 'ResourceNotFound.VSwitch', 'errorMessage' => 'The vSwitch where the specified networkinterface is located does not exist.', 'description' => 'The switch where the ENI is located does not exist.'], ['errorCode' => 'MissingParam.RouteEntryId', 'errorMessage' => 'The param of %s is missing.', 'description' => 'Missing required parameters'], ['errorCode' => 'IllegalParam.RouteEntryName', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The specified route name is invalid.'], ['errorCode' => 'OperationDenied.LocalRouteEntryModified', 'errorMessage' => 'The next hop of a local route is modified.', 'description' => 'The next hop of the local type route has been 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.', 'description' => '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.', 'description' => 'The VPC does not support some advanced features. Please submit a ticket.'], ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'The feature is not supported in current region.', 'description' => 'The feature is not supported in the current region.'], ['errorCode' => 'OperationFailed.NotSupportIPV6', 'errorMessage' => 'The specified next hop does not support IPv6.', 'description' => '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.', 'description' => 'The operation failed because the current region does not support modifying the IPv6 route next hop.'], ['errorCode' => 'OperationDenied.NewNextHopNotSupportPublish', 'errorMessage' => 'New nexthop is not supported for published route entry.', 'description' => ''], ['errorCode' => 'IllegalParam.DestCidrBlock', 'errorMessage' => 'The destCidrBlock is invalid.', 'description' => 'The specified destination address is invalid.'], ['errorCode' => 'IllegalParamFormat.DstCidrBlock', 'errorMessage' => 'The format of the specified destination CIDR block is invalid.', 'description' => 'The error message returned because the format of the 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.', 'description' => 'The request is missing a required parameter. You must provide RouteEntryId, or both RouteTableId and DestinationCidrBlock.'], ['errorCode' => 'MissingParam.ParameterMustNotNull', 'errorMessage' => '%s, %s.', 'description' => 'Missing parameter that must be passed in.'], ['errorCode' => 'ResourceNotFound.RouteTable', 'errorMessage' => 'The specified resource gatewayRouteTable is not found.', 'description' => 'The gateway route table does not exist.'], ['errorCode' => 'OperationDenied.UpdateGatewayRouteEntry', 'errorMessage' => 'The operation is not allowed because of need switch to local first.', 'description' => 'The system failed to modify the route. You must first set the next hop to a local route before you can set a custom next hop.'], ['errorCode' => 'ResourceNotFound.RouteEntry', 'errorMessage' => 'The specified resource routeEntry is not found.', 'description' => 'The specified route entry does not exist'], ['errorCode' => 'IncorrectStatus.RouteEntry', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'Route entry is in non-steady state'], ['errorCode' => 'IncorrectStatus.Vswitch', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The status of the specified vSwitch is incorrect.'], ['errorCode' => 'ResourceNotFound.Instance', 'errorMessage' => 'The specified resource nextHop is not found.', 'description' => 'The next hop instance does not exist.'], ['errorCode' => 'IncorrectStatus.NextHop', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'Specified next hop resource'], ['errorCode' => 'OperationDenied.NextHopTypeNonsupport', 'errorMessage' => 'The operation is not allowed because of nextHopType is nonsupport.', 'description' => 'Specifying the next hop of the resource type is not supported.'], ['errorCode' => 'OperationDenied.LocalEntryCanOnlyModifyNextHop', 'errorMessage' => 'Only the nextHop parameter can be modified for a local route entry.', 'description' => 'You can modify only the next hop of a local route.'], ['errorCode' => 'ExclusiveParam.NextHopTypeAndNextHopId', 'errorMessage' => 'The param of nextHopType and nextHopId are mutually exclusive.', 'description' => 'The next hop type does not match the next hop instance.'], ['errorCode' => 'InvalidRouterInterfaceId.NotFound', 'errorMessage' => 'The specified RouterInterfaceId does not exist in our record.', 'description' => ''], ['errorCode' => 'OperationUnsupported.OnlySupportNormalNetworkInterface', 'errorMessage' => 'Next hop only supports binding normal network Interface.', 'description' => 'Next hop only supports binding to common ENIs'], ['errorCode' => 'UnsupportedFeature.Ipv6GatewayRouteTable', 'errorMessage' => 'The feature of %s is not supported.', 'description' => 'The border gateway route table cannot be associated with the gateway.'], ['errorCode' => 'OperationDenied.TrAttachmentIpv6Disabled', 'errorMessage' => 'The operation is not allowed because tr attachment Ipv6 is disabled.', 'description' => 'The operation is not allowed because tr attachment Ipv6 is disabled.'], ['errorCode' => 'InvalidAttachment.NotFound', 'errorMessage' => 'The attachment is not found.', 'description' => 'The specified transit router does not exist.'], ['errorCode' => 'OperationDenied.LocalRouteEntryInSystemRouteTable', 'errorMessage' => 'The Local Route Entry In System Route Table Can Not Be Modify.', 'description' => 'Modifying the Local route in the system routing table is prohibited.'], ['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.', 'description' => '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.', 'description' => ''], ['errorCode' => 'InvalidRouteEntry.NotFound', 'errorMessage' => 'vpc route entry not exist.', 'description' => 'the vpc routing table entry does not exist'], ['errorCode' => 'OperationDenied.IllegalRouteTargetGroupMemberType', 'errorMessage' => 'This operation does not support route target groups with NAT gateway members.', 'description' => 'The current operation does not support routing target groups with members of the NAT gateway type.'], ['errorCode' => 'OperationUnsupported.Ipv6EntryOnPrimaryNetworkInterface', 'errorMessage' => 'You cannot create IPv6 route entries on a primary network interface.', 'description' => 'You cannot create an IPv6 route whose next hop is a primary ENI.'], ], 403 => [ ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'User not authorized to operate on the specified resource.'], ], [ ['errorCode' => 'ResourceNotFound.NatGateway', 'errorMessage' => 'The specific NAT gateway is not found.', 'description' => 'The specific NAT gateway is not found.'], ['errorCode' => 'ResourceNotFound.GatewayLoadBalancerEndpoint', 'errorMessage' => 'GatewayLoadBalancerEndpoint instance not found.', 'description' => 'GatewayLoadBalancerEndpoint instance not found.'], ], ], 'title' => 'Modify the name, description, or next hop of a custom route entry', 'description' => '- The **ModifyRouteEntry** operation does not support concurrent modifications to the name and description of the same custom route entry.'."\n" .'- The **ModifyRouteEntry** operation may return the **TaskConflict** error code in concurrent scenarios. Retry as appropriate.', 'changeSet' => [ ['createdAt' => '2025-05-19T01:45:15.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2025-04-14T02:27:16.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-02-25T08:24:16.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-02-14T01:53:59.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-12-31T01:51:55.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-11-19T02:35:04.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-11-06T02:02:43.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-11-04T09:27:55.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-10-28T06:54:01.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-09-29T06:00:53.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-09-13T07:10:18.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-09-06T06:04:22.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-09-03T02:21:02.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-08-29T05:47:12.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2024-06-05T05:56:19.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-05-23T06:10:57.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-03-25T01:57:23.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-12-25T06:11:47.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-09-15T03:55:42.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-09-15T02:13:33.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2023-05-08T08:37:27.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyRouteEntry'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyRouteEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"861E6630-AEC0-4B2D-B214-6CB5E44B7F04\\"\\n}","type":"json"}]', ], 'ModifyRouteTableAttributes' => [ 'summary' => 'Modifies the name and description of a route table.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RouteTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the route table.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vtb-bp145q7glnuzdvzu2****', 'title' => ''], ], [ 'name' => 'RouteTableName', 'in' => 'query', 'schema' => ['description' => 'The name of the route table.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'doctest', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the route table.'."\n" ."\n" .'The description must be 1 to 256 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => '描述信息', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the virtual private cloud (VPC) to which the custom route table belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RoutePropagationEnable', 'in' => 'query', 'schema' => ['description' => 'Indicates whether to enable route propagation to receive dynamic routes. Valid values:'."\n" ."\n" .'- **true** (default): enables route propagation.'."\n" ."\n" .'- **false**: disables route propagation.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '62172DD5-6BAC-45DF-8D44', 'title' => ''], ], 'description' => 'The response.', 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Abs.InvaliTableName.Malformed', 'errorMessage' => 'Table name format is invalid.', 'description' => 'The new name of the route table is invalid.'], ['errorCode' => 'Abs.InvalidRouteTableId.NotExist', 'errorMessage' => 'The route table id is not exist.', 'description' => ''], ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'Description format is invalid.', 'description' => ''], ['errorCode' => 'Forbidden.DisableRoutePropagation', 'errorMessage' => 'The operation of disable route propagation is forbidden.', 'description' => 'Shutting down route propagation for this routing table is not allowed.'], ['errorCode' => 'ResourceNotFound.RouteTable', 'errorMessage' => 'The specified resource gatewayRouteTable is not found.', 'description' => 'The gateway route table does not exist.'], ['errorCode' => 'IncorrectStatus.RouteTable', 'errorMessage' => 'The route table is in an invalid state.', 'description' => 'The specified routing table is in the wrong state'], ['errorCode' => 'IncorrectStatus.RoutePropagationStatus', 'errorMessage' => 'Route table propagation status not stable. Please wait and try again.', 'description' => 'Route table propagation status not stable. Please wait and try again.'], ['errorCode' => 'IncorrectStatus.RouteEntry', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'Route entry is in non-steady state'], ['errorCode' => 'IncorrectStatus.Vpc', 'errorMessage' => 'Vpc status is invalid.', 'description' => 'The VPC is in an unstable state.'], ], 403 => [ ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'User not authorized to operate on the specified resource.'], ], ], 'title' => 'ModifyRouteTableAttributes', 'description' => '**ModifyRouteTableAttributes**接口不支持并发修改同一个路由表的属性,如名称、描述,或是否接收动态路由。'."\n" ."\n" .'当调用**ModifyRouteTableAttributes**接口开启或关闭传播路由时,请注意:'."\n" .'- 开启或者关闭传播路由操作是异步操作。'."\n" .'- 开启或者关闭传播路由操作的完成时间与传播路由数量相关。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-03-20T02:56:45.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-03-12T18:40:18.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-02-28T09:02:58.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-01-14T01:32:54.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-11-28T06:48:43.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-08-21T08:59:31.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-06-24T02:56:42.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyRouteTableAttributes', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:VRouter', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"62172DD5-6BAC-45DF-8D44\\"\\n}","type":"json"}]', ], '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' => 'The region ID of the router interface.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'RouterInterfaceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the router interface.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ri-2zeo3xzyf38r4urz****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the router interface.'."\n" ."\n" .'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TEST', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the router interface.'."\n" ."\n" .'The value must be 2 to 256 characters in length. It must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => '路由器接口', 'title' => ''], ], [ 'name' => 'OppositeInterfaceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the peer router interface.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ri-2zeo3xzyf38r4urz****', 'title' => ''], ], [ 'name' => 'OppositeRouterId', 'in' => 'query', 'schema' => ['description' => 'The ID of the peer router.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vrt-bp1jcg5cmxjbl9xgc****', 'title' => ''], ], [ 'name' => 'OppositeRouterType', 'in' => 'query', 'schema' => ['description' => 'The type of router to which the peer router interface belongs. Valid values:'."\n" ."\n" .'* **VRouter**'."\n" .'* **VBR** (default)'."\n", 'type' => 'string', 'required' => false, 'example' => 'VBR', 'title' => ''], ], [ 'name' => 'OppositeInterfaceOwnerId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the peer router interface belongs.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '28768383240243****', 'title' => ''], ], [ 'name' => 'HealthCheckSourceIp', 'in' => 'query', 'schema' => ['description' => 'The source IP address that is used to perform health checks. The source IP address must be an idle IP address of the local virtual private cloud (VPC).'."\n" ."\n" .'> You can set this parameter when an Express Connect circuit is used.'."\n", 'type' => 'string', 'required' => false, 'example' => '116.62.XX.XX', 'title' => ''], ], [ 'name' => 'HealthCheckTargetIp', 'in' => 'query', 'schema' => ['description' => 'The destination IP address that is used to perform health checks.'."\n" ."\n" .'> This parameter is required when **HealthCheckSourceIp** is specified.'."\n", 'type' => 'string', 'required' => false, 'example' => '116.62.XX.XX', 'title' => ''], ], [ 'name' => 'HcThreshold', 'in' => 'query', 'schema' => ['description' => 'The healthy threshold. Unit: packets. We recommend that you set the value to **8**. This value specifies the number of probe packets that are sent during a health check.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8', 'title' => ''], ], [ 'name' => 'HcRate', 'in' => 'query', 'schema' => ['description' => 'The rate of health checks. Unit: milliseconds. The recommended value is **2000**. This value specifies the interval at which probe packets are sent during a health check.'."\n" ."\n" .'In this example, **HcThreshold** is set to **8** and **HcRate** is set to **2000**. In this example, probe packets are sent from **HealthCheckSourceIp** (source address) to **HealthCheckTargetIp** (destination address) every 2,000 seconds. If no response is returned for eight consecutive times, the health check fails.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2000', 'title' => ''], ], [ 'name' => 'DeleteHealthCheckIp', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to delete the health check IP addresses configured on the router interface. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false** (default)'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Forbidden.FinancialLocked', 'errorMessage' => 'This RouterInterface is financiel locked because of bills outstanding.', 'description' => ''], ['errorCode' => 'InvalidName.Malformed', 'errorMessage' => 'The attribute name is illegal.', 'description' => ''], ['errorCode' => 'InvalidOppositeRouterType.ValueNotSupported', 'errorMessage' => 'The specified OppositeRouterType is not valid.', 'description' => 'The value of the OppositeRouterType parameter is invalid.'], ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'The Description is illegal.', 'description' => ''], ['errorCode' => 'Forbbiden', 'errorMessage' => 'The Router instance owner error', 'description' => ''], ['errorCode' => 'LinkRole.NotSupport', 'errorMessage' => 'This linkrole is not supported', 'description' => ''], ['errorCode' => 'Forbbiden.ModifyIdAndType', 'errorMessage' => 'Opposite is VBR, cannot modify the ID and type', 'description' => ''], ['errorCode' => 'InvalidParam.ModifyRouterInterface', 'errorMessage' => 'Modify routerinterface param invalid', 'description' => ''], ['errorCode' => 'INSTANCE_IN_PROCESSIONG', 'errorMessage' => 'Instance is in processing,please wait and try again', 'description' => ''], ['errorCode' => 'IllegalParam.HcThreshold', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IllegalParam.HcRate', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidHealthCheckIP.Malformd', 'errorMessage' => 'Healthcheck sourceip or targetip is not valid.', 'description' => ''], ['errorCode' => 'IllegalParam.HcSourceIp', 'errorMessage' => 'The specified healthCheck Ip is not valid.', 'description' => 'The IP address used for health checks is invalid.'], ['errorCode' => 'OperationFailed.OperationLocked', 'errorMessage' => 'Operation failed because OperationLocked.', 'description' => 'The operation failed because the instance is locked due to O&M.'], ['errorCode' => 'IncorrectStatus.RouterInterface', 'errorMessage' => 'This openeration would not be allowed because status of this RouterInterface is not correct.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidRouterInterfaceId.NotFound', 'errorMessage' => 'The specified RouterInterfaceId does not exist in our records.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ModifyRouterInterfaceAttribute', 'summary' => 'Modifies the configuration of a router interface.', 'changeSet' => [ ['createdAt' => '2024-06-13T08:13:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-17T02:41:21.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-17T02:41:21.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', ], 'ModifyRouterInterfaceSpec' => [ 'summary' => 'Modifies the specification of a router interface by calling the ModifyRouterInterfaceSpec operation.', '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' => 'The region where the router interface is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RouterInterfaceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the router interface.', 'type' => 'string', 'required' => true, 'example' => 'ri-2zeo3xzyf38r4urzd****', 'title' => ''], ], [ 'name' => 'Spec', 'in' => 'query', 'schema' => ['description' => 'The specification of the router interface. The following table describes the available specifications and the corresponding bandwidths:'."\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" .'> If **Role** is set to **AcceptingSide** (accepter), set **Spec** to **Negative**.', 'type' => 'string', 'required' => true, 'example' => 'Small.1', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The specification of the router interface.', 'type' => 'object', 'properties' => [ 'Spec' => ['description' => 'The specification of the router interface. Valid values:'."\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.', 'type' => 'string', 'example' => 'Small.1', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Forbidden.FinancialLocked', 'errorMessage' => 'RouterInterface can not be operated by this action when it?s FinancialLocked.', 'description' => ''], ['errorCode' => 'InvalidParam.NotFound', 'errorMessage' => 'Parameter must not be null,uid, bid,regionNo, remoteRegionNo or routerId', 'description' => ''], ['errorCode' => 'InvalidOppositeRegionId.NotFound', 'errorMessage' => 'The OppositeRegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidInstanceOwner.Error', 'errorMessage' => 'The router instance owner error.', 'description' => 'The instance owner information is invalid.'], ['errorCode' => 'InvalidRouterInterfaceSpec.Malformed', 'errorMessage' => 'Specified RouterInterface spec is not valid.', 'description' => 'The RouterInterface Spec parameter is set to an invalid value.'], ['errorCode' => 'IllegalParam.chargeType', 'errorMessage' => 'RouterInterface chargeType different.', 'description' => ''], ['errorCode' => 'ResourceQueryError', 'errorMessage' => 'The specified resource is queried error.', 'description' => 'An error occurred while querying the specified resource.'], ['errorCode' => ' InvalidSpec.ValueNotSupported', 'errorMessage' => 'The specified Spec is not supported.', 'description' => ''], ['errorCode' => 'InvalidSpec.ValueNotSupported', 'errorMessage' => 'The specified Spec is not supported.', 'description' => ''], ['errorCode' => 'InvalidInstance.StatusError', 'errorMessage' => 'The router instance status error.', 'description' => 'The status of the instance is invalid.'], ['errorCode' => 'InvalidOpposite.NotFound', 'errorMessage' => 'The opposite does not exist.', 'description' => 'The peer does not exist.'], ], 404 => [ ['errorCode' => 'InvalidRouterInterfaceId.NotFound', 'errorMessage' => 'The specified RouterInterfaceId does not exist in our record.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Modify the specification of a router interface', 'description' => 'After you call this operation, the router interface enters the **Activating** state. After the router interface is activated, it enters the **Active** state. '."\n" .' '."\n" .'> You cannot modify the specification of a router interface that has an overdue payment.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-12-21T05:47:23.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-05T07:58:08.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-17T02:41:21.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-17T02:41:21.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyRouterInterfaceSpec'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyRouterInterfaceSpec', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouterInterface', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routerinterface/{#RouterInterfaceId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Spec\\": \\"Small.1\\",\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","type":"json"}]', ], 'ModifySnatEntry' => [ 'summary' => 'Modifies a specified SNAT entry.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the NAT gateway.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'SnatTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the SNAT table to which the SNAT entry belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'stb-8vbczigrhop8x5u3t****', 'title' => ''], ], [ 'name' => 'SnatEntryId', 'in' => 'query', 'schema' => ['description' => 'The ID of the SNAT entry that you want to modify.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'snat-bp1vcgcf8tm0plqcg****', 'title' => ''], ], [ 'name' => 'SnatIp', 'in' => 'query', 'schema' => ['description' => '- When you modify an SNAT entry for an Internet NAT gateway, this parameter specifies the EIPs in the SNAT entry. Separate multiple EIPs with commas (,).'."\n" .' '."\n" .'> When you specify multiple EIPs to allocate an SNAT IP IPAM pool, service traffic is distributed across the EIPs by using a hash algorithm. Because traffic varies across connections, service traffic may be unevenly distributed across the EIPs. Add all EIPs to the same Internet Shared Bandwidth instance to prevent service interruptions caused by bandwidth throttling on a single EIP.'."\n" ."\n" .'- When you modify an SNAT entry for a VPC NAT gateway, this parameter specifies the NAT IP addresses in the SNAT entry. Separate multiple NAT IP addresses with commas (,).'."\n" ."\n" .'- The SnatIp and NetworkInterfaceId parameters cannot be specified at the same time.', 'type' => 'string', 'required' => false, 'example' => '47.98.XX.XX', 'title' => ''], ], [ 'name' => 'SnatEntryName', 'in' => 'query', 'schema' => ['description' => 'The name of the SNAT entry.'."\n" ."\n" .'The name must be 2 to 128 characters in length and must start with a letter or a Chinese character. It cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'SnatEntry-1', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''], ], [ 'name' => 'EipAffinity', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'Specifies whether to enable EIP affinity. Valid values:'."\n" ."\n" .'- **0**: disables EIP affinity.'."\n" ."\n" .'- **1**: enables EIP affinity.'."\n" ."\n" .'> After you enable EIP affinity, if the SNAT entry is associated with multiple EIPs or NAT IP addresses, the same client uses the same EIP or NAT IP address for access. Otherwise, the client randomly selects an EIP or NAT IP address from the associated ones for access.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'NetworkInterfaceId', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'The ID of the elastic network interfaces (ENIs).'."\n" ."\n" .'> The IPv4 addresses of the network interface controller (NIC) are used as the SNAT addresses.', 'type' => 'string', 'required' => false, 'example' => 'eni-gw8g131ef2dnbu3k****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run without modifying the SNAT entry. The system checks the required parameters, request format, and service limits. If the check fails, the corresponding error is returned. If the check succeeds, the `DryRunOperation` error code is returned.'."\n" ."\n" .'- **false** (default): performs a dry run and sends the request. After the check succeeds, a 2xx HTTP status code is returned and the SNAT entry is modified.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response body.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2315DEB7-5E92-423A-91F7-4C1EC9AD****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidSnatIp.Malformed', 'errorMessage' => 'The specified SnatIp is not a valid IP address.', 'description' => ''], ['errorCode' => 'Forbidden.SourceVSwitchId.Duplicated', 'errorMessage' => 'The specified SourceCIDRis duplicated.', 'description' => ''], ['errorCode' => 'Forbidden.IpUsedInForwardTable', 'errorMessage' => 'The specified SnatIp already used in forward table', 'description' => ''], ['errorCode' => 'OperationUnsupported.EipForSnatPool', 'errorMessage' => 'The Eip cannot support snat pool', 'description' => ''], ['errorCode' => 'InvalidParameter.Name.Malformed', 'errorMessage' => 'The specified Name is not valid.', 'description' => ''], ['errorCode' => 'IncorretSnatEntryStatus', 'errorMessage' => 'The Specified SnatEntry is not stable status, can not operation', 'description' => ''], ['errorCode' => 'EIP_NOT_IN_GATEWAY', 'errorMessage' => 'The Eip not in nat gateway', 'description' => ''], ['errorCode' => 'InvalidParameter.SnatIp', 'errorMessage' => 'Error public ip must in same bandwidth package.', 'description' => ''], ['errorCode' => 'QuotaExceeded.SnatIp', 'errorMessage' => 'Public ip number exceeds quota.', 'description' => ''], ['errorCode' => 'InvalidSnatEntryId.NotFound', 'errorMessage' => 'Specified SNAT entry does not exist.', 'description' => ''], ['errorCode' => 'IncorrectStatus.SnatEntry', 'errorMessage' => 'The Specified SnatEntry is not stable status, can not operation', 'description' => 'The specified SNAT entries are not in a stable state and cannot be operated.'], ['errorCode' => 'OperationFailed.CanNotUseEipInDnat', 'errorMessage' => 'Operation failed because the eip can not used by forward entry.', 'description' => ''], ['errorCode' => 'OperationUnsupported.EipNatGWCheck', 'errorMessage' => 'Operation unsupported because the relation check of eip and nat gateway is failed.', 'description' => ''], ['errorCode' => 'ResourceNotFound.SnatEntry', 'errorMessage' => 'Specified SNAT entry does not exist.', 'description' => ''], ['errorCode' => 'IncorrectStatus.NatIp', 'errorMessage' => 'Specified NatIp does not exist.', 'description' => ''], ['errorCode' => 'OperationFailed.CanNotUseNatIpInDnat', 'errorMessage' => 'Operation failed because the NatIp can not used by forward entry.', 'description' => ''], ['errorCode' => 'IncorrectStatus.NATGW', 'errorMessage' => 'NATGW status is invalid.', 'description' => 'The NAT gateway is in an invalid state.'], ['errorCode' => 'OperationUnsupported.EipInBinding', 'errorMessage' => 'Create snat entry with eip in associating status is unsupported.', 'description' => 'You cannot use an associated EIP when you create an SNAT entry.'], ['errorCode' => 'OperationUnsupported.EipNatBWPCheck', 'errorMessage' => 'The EIP is not associated with a NAT service plan.', 'description' => 'The EIP is not associated with a NAT service plan.'], ['errorCode' => 'IllegalParam.NetworkInterfaceId', 'errorMessage' => 'The param of NetworkInterfaceId is illegal.', 'description' => 'Invalid NetworkInterfaceId value.'], ['errorCode' => 'OperationFailed.SnatIpPoolBwpRules', 'errorMessage' => 'The operation failed because the IP in Snat entryl was added to multiple NAT bandwidth packets.', 'description' => 'The operation failed because the IP in the SNAT rule IP address pool 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.', 'description' => 'The operation failed because the SNAT rule IP address pool was added to multiple bandwidth packages.'], ['errorCode' => 'OperationFailed.SnatIpsTooMany', 'errorMessage' => 'The maximum number of IP addresses is exceeded in the SNAT pool.', 'description' => '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.', 'description' => 'The operation fails because the IP address in the Snat rule IP address pool is not added to the shared bandwidth packet.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidSnatTableId.NotFound', 'errorMessage' => 'Specified SNAT table does not exist.', 'description' => ''], ['errorCode' => 'InvalidSnatEntryId.NotFound', 'errorMessage' => 'Specified SNAT entry does not exist.', 'description' => ''], ['errorCode' => 'InvalidSnatIp.NotFound', 'errorMessage' => 'Specified SnatIp does not found on the NAT Gateway', 'description' => ''], ['errorCode' => 'ResourceNotFound.NatIp', 'errorMessage' => 'Specified NatIp does not found on the NAT Gateway', 'description' => ''], ], ], 'title' => 'Modify a specified SNAT entry', 'description' => '**ModifySnatEntry** is an asynchronous operation. After you send a request, the system returns a request ID, but the SNAT entry has not been modified yet. The modification task is still running in the background. You can call [DescribeSnatTableEntries](~~42677~~) to query the status of the SNAT entry:'."\n" ."\n" .'- If the SNAT entry is in the **Pending** state, the SNAT entry is being modified. In this state, you can only perform query operations and cannot perform other operations.'."\n" ."\n" .'- If the SNAT entry is in the **Available** state, the SNAT entry has been modified.'."\n" ."\n" .'> If any SNAT entry in an SNAT table is in the **Pending** state, you cannot modify SNAT entries in the SNAT table.'."\n" ."\n\n" .'The **ModifySnatEntry** operation does not support concurrent modifications of a specified SNAT entry within the same SNAT entry instance.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-12-03T02:23:00.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-08-09T10:09:59.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2024-05-06T03:02:14.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2024-01-18T07:07:57.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2023-03-01T06:45:54.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-11-07T11:48:28.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifySnatEntry'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifySnatEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SnatTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:snattable/{#SnatTableId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2315DEB7-5E92-423A-91F7-4C1EC9AD****\\"\\n}","type":"json"}]', ], 'ModifySslVpnClientCert' => [ 'summary' => 'Modifies the name of an SSL-VPN client certificate.', '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' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" ."\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', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the SSL client certificate is created.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'SslVpnClientCertId', 'in' => 'query', 'schema' => ['description' => 'The ID of the SSL client certificate.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vsc-bp1n8wcf134yl0osrc****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The new name of the SSL client certificate. This parameter cannot be left empty.'."\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' => 'cert2', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '606998F0-B94D-48FE-8316-ACA81BB230DA', 'title' => ''], 'Name' => ['description' => 'The name of the SSL client certificate.'."\n", 'type' => 'string', 'example' => 'cert2', 'title' => ''], 'SslVpnClientCertId' => ['description' => 'The ID of the SSL client certificate.'."\n", 'type' => 'string', 'example' => 'vsc-bp1n8wcf134yl0osr****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidName', 'errorMessage' => 'The name is not valid', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not found during access authentication.', 'description' => 'The specified area is not found during authentication.'], ['errorCode' => 'InvalidSslVpnClientCertId.NotFound', 'errorMessage' => 'The specified SSL VPN client cert id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ModifySslVpnClientCert', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], '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"}]', ], 'ModifySslVpnServer' => [ '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' => 'The client token that is used to ensure the idempotency of the request.'."\n" ."\n" .'Generate a parameter value from your client to ensure uniqueness across different requests. ClientToken supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request is different.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPN gateway.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'SslVpnServerId', 'in' => 'query', 'schema' => ['description' => 'The ID of the SSL-VPN server instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vss-bp18q7hzj6largv4v****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the SSL-VPN server.'."\n" ."\n" .'The name must be 1 to 100 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'ClientIpPool', 'in' => 'query', 'schema' => ['description' => 'The client CIDR block.'."\n" ."\n" .'This is the CIDR block used to allocate IP addresses to the virtual network interface of the client, not the existing internal CIDR block of the client.'."\n" ."\n" .'When the client accesses the local end through an SSL-VPN connection, the VPN gateway allocates an IP address from the specified client CIDR block to the client. The client uses the allocated IP address to access cloud resources.'."\n" ."\n" .'When you specify the client CIDR block, make sure that the number of IP addresses in the client CIDR block is at least four times the number of SSL connections of the current VPN gateway.'."\n" .'
'."\n" .'Click to view the reason.'."\n" .'For example, if the client CIDR block you specify is 192.168.0.0/24, when the system allocates IP addresses to the client, it first divides a subnet with a 30-bit subnet mask from the 192.168.0.0/24 CIDR block, such as 192.168.0.4/30, and then allocates one IP address from 192.168.0.4/30 for the client to use. The remaining three IP addresses are occupied by the system to ensure network communication. In this case, one client consumes 4 IP addresses. Therefore, to ensure that all your clients can be allocated IP addresses, make sure that the number of IP addresses in the client CIDR block you specify is at least four times the number of SSL connections of the VPN gateway.'."\n" .'
'."\n" ."\n" .'
'."\n" .'Click to view unsupported CIDR blocks.'."\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" .'Click to view recommended client CIDR blocks for each SSL connection count.'."\n" ."\n" .'- If the number of SSL connections is 5, the subnet mask of the client CIDR block should be less than or equal to 27 bits. For example: 10.0.0.0/27 or 10.0.0.0/26.'."\n" .'- If the number of SSL connections is 10, the subnet mask of the client CIDR block should be less than or equal to 26 bits. For example: 10.0.0.0/26 or 10.0.0.0/25.'."\n" .'- If the number of SSL connections is 20, the subnet mask of the client CIDR block should be less than or equal to 25 bits. For example: 10.0.0.0/25 or 10.0.0.0/24.'."\n" .'- If the number of SSL connections is 50, the subnet mask of the client CIDR block should be less than or equal to 24 bits. For example: 10.0.0.0/24 or 10.0.0.0/23.'."\n" .'- If the number of SSL connections is 100, the subnet mask of the client CIDR block should be less than or equal to 23 bits. For example: 10.0.0.0/23 or 10.0.0.0/22.'."\n" .'- If the number of SSL connections is 200, the subnet mask of the client CIDR block should be less than or equal to 22 bits. For example: 10.0.0.0/22 or 10.0.0.0/21.'."\n" .'- If the number of SSL connections is 500, the subnet mask of the client CIDR block should be less than or equal to 21 bits. For example: 10.0.0.0/21 or 10.0.0.0/20.'."\n" .'- If the number of SSL connections is 1000, the subnet mask of the client CIDR block should be less than or equal to 20 bits. For example: 10.0.0.0/20 or 10.0.0.0/19.'."\n" ."\n" .'
'."\n" ."\n" .'> - The subnet mask of the client CIDR block must be between 16 and 29 bits.'."\n" .'> - Make sure that the client CIDR block does not overlap with the local subnet, VPC CIDR block, or any route CIDR blocks associated with the client terminal.'."\n" .'> - When specifying the client CIDR block, we recommend that you use the 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 CIDR blocks and their subnets. If you need to specify a public CIDR block as the client CIDR block, you must set the public CIDR block as a user CIDR block of the VPC to ensure that the VPC can access the public CIDR block. For more information about user CIDR blocks, see [VPC FAQ](~~185311~~).'."\n" .'> - After the SSL server is created, the system automatically adds routes for the client CIDR block to the route table of the VPC instance. Do not manually add routes for the client CIDR block to the route table of the VPC instance. Otherwise, SSL-VPN connection traffic transmission will be abnormal.', 'type' => 'string', 'required' => false, 'example' => '10.30.30.0/24', 'title' => ''], ], [ 'name' => 'LocalSubnet', 'in' => 'query', 'schema' => ['description' => 'The local subnet.'."\n" ."\n" .'The CIDR block that the client needs to access through the SSL-VPN connection.'."\n" ."\n" .'The local subnet can be the CIDR block of a VPC, a vSwitch, an IDC interconnected with the VPC through Express Connect, or a cloud service such as Object Storage Service (OSS).'."\n" ."\n" .'The subnet mask of the local subnet must be between 8 and 32 bits. The following CIDR blocks cannot be specified as local subnets:'."\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', 'title' => ''], ], [ 'name' => 'Proto', 'in' => 'query', 'schema' => ['description' => 'The protocol used by the SSL-VPN server. Valid values:'."\n" ."\n" .'- **TCP** (default): TCP protocol.'."\n" ."\n" .'- **UDP**: UDP protocol.', 'type' => 'string', 'required' => false, 'example' => 'UDP', 'title' => ''], ], [ 'name' => 'Cipher', 'in' => 'query', 'schema' => ['description' => 'The encryption algorithm used by SSL-VPN. Valid values:'."\n" ."\n" .'- **AES-128-CBC** (default): AES-128-CBC algorithm.'."\n" ."\n" .'- **AES-192-CBC**: AES-192-CBC algorithm.'."\n" ."\n" .'- **AES-256-CBC**: AES-256-CBC algorithm.'."\n" ."\n" .'- **none**: No encryption algorithm is used.', 'type' => 'string', 'required' => false, 'example' => 'AES-128-CBC', 'title' => ''], ], [ 'name' => 'Port', 'in' => 'query', 'schema' => ['description' => 'The port used by the SSL-VPN server. Valid values: **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**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1194', 'title' => ''], ], [ 'name' => 'Compress', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to compress the communication. Valid values:'."\n" ."\n" .'- **true** (default): Compresses the communication.'."\n" ."\n" .'- **false**: Does not compress the communication.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'EnableMultiFactorAuth', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable two-factor authentication. If you choose to enable two-factor authentication, you also need to configure **IDaaSInstanceId**, **IDaaSRegionId**, and **IDaaSApplicationId**. Valid values:'."\n" ."\n" .'- **true**: Enabled.'."\n" ."\n" .'- **false**: Not enabled.'."\n" ."\n" .'>- If you are using the two-factor authentication feature for the first time, complete the [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) before creating the SSL server.'."\n" .'>- When creating an SSL server in the UAE (Dubai) region, we recommend that you bind an IDaaS EIAM 2.0 instance in the Singapore region to reduce cross-region latency.'."\n" .'>- IDaaS EIAM 1.0 instances are no longer available for purchase. If your Alibaba Cloud account has existing IDaaS EIAM 1.0 instances, you can still bind them after enabling two-factor authentication. If your Alibaba Cloud account does not have IDaaS EIAM 1.0 instances, only IDaaS EIAM 2.0 instances can be bound after enabling two-factor authentication.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'IDaaSInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IDaaS EIAM instance.', 'type' => 'string', 'required' => false, 'example' => 'idaas-cn-hangzhou-****', 'title' => ''], ], [ 'name' => 'IDaaSRegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IDaaS EIAM instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'IDaaSApplicationId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IDaaS application.'."\n" ."\n" .'- If you bind an IDaaS EIAM 2.0 instance, you must enter the IDaaS application ID.'."\n" .'- If you bind an IDaaS EIAM 1.0 instance, you do not need to enter the IDaaS application ID.', 'type' => 'string', 'required' => false, 'example' => 'app_my6g4qmvnwxzj2f****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without actually modifying the configuration. Valid values:'."\n" .'- **true**: Sends a check request without modifying the SSL server configuration. The check items include whether all required parameters are specified, request format, and service limits. If the check fails, the corresponding error is returned. If the check passes, the error code `DryRunOperation` is returned.'."\n" .'- **false** (default): Sends a normal request. After the check passes, an HTTP 2xx status code is returned, and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'DnsServers', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'InternetIp' => ['description' => 'The public IP address.', 'type' => 'string', 'example' => '47.98.XX.XX', 'title' => ''], 'IDaaSInstanceId' => ['description' => 'The ID of the IDaaS EIAM instance.', 'type' => 'string', 'example' => 'idaas-cn-hangzhou-****', 'title' => ''], 'CreateTime' => ['description' => 'The creation time of the SSL-VPN server.', 'type' => 'integer', 'format' => 'int64', 'example' => '1492753580000', 'title' => ''], 'VpnGatewayId' => ['description' => 'The ID of the VPN gateway instance.', 'type' => 'string', 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', 'title' => ''], 'Compress' => ['description' => 'Indicates whether communication is compressed.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'Port' => ['description' => 'The port of the SSL-VPN server.', 'type' => 'integer', 'format' => 'int32', 'example' => '1194', 'title' => ''], 'LocalSubnet' => ['description' => 'The local subnet.', 'type' => 'string', 'example' => '10.20.20.0/24', 'title' => ''], 'RegionId' => ['description' => 'The region ID of the SSL-VPN server.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'Cipher' => ['description' => 'The encryption algorithm used.', 'type' => 'string', 'example' => 'AES-128-CBC', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'DF11D6F6-E35A-41C3-9B20-6FC8A901FE65', 'title' => ''], 'Connections' => ['description' => 'The current number of connections.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'SslVpnServerId' => ['description' => 'The ID of the SSL-VPN server.', 'type' => 'string', 'example' => 'vss-bp18q7hzj6largv4v****', 'title' => ''], 'MaxConnections' => ['description' => 'The maximum number of connections.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'Name' => ['description' => 'The name of the SSL-VPN server.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'EnableMultiFactorAuth' => ['description' => 'Indicates whether two-factor authentication is enabled.'."\n" ."\n" .'- **true**: Enabled.'."\n" ."\n" .'- **false** (default): Not enabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'ClientIpPool' => ['description' => 'The client CIDR block.', 'type' => 'string', 'example' => '10.30.30.0/24', 'title' => ''], 'Proto' => ['description' => 'The protocol used by the SSL-VPN server.', 'type' => 'string', 'example' => 'UDP', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the SSL-VPN server belongs.'."\n" ."\n" .'The resource group of the SSL-VPN server is the same as that of the associated VPN gateway instance. You can call the [ListResourceGroups](~~158855~~) operation to query resource group information.', 'type' => 'string', 'example' => 'rg-acfmzs372yg****', 'title' => ''], 'IDaaSApplicationId' => ['description' => 'The ID of the IDaaS application.', 'type' => 'string', 'example' => 'app_my6g4qmvnwxzj2f****', 'title' => ''], 'IDaaSInstanceVersion' => ['description' => 'The version of the IDaaS EIAM instance.'."\n" ."\n" .'- This parameter is returned only when the SSL server is bound to an IDaaS EIAM 2.0 instance. The only valid value is **EIAM 2.0**.'."\n" .'- If the SSL server is bound to an IDaaS EIAM 1.0 instance, this parameter is not returned.', 'type' => 'string', 'example' => 'EIAM 2.0', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidName', 'errorMessage' => 'The name is not valid', 'description' => ''], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'VpnGateway.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => ''], ['errorCode' => 'IpConflict', 'errorMessage' => 'Client IP pool conflict with local IP range.', 'description' => 'The client IP pool conflicts with the local IP range.'], ['errorCode' => 'SslVpnServer.AddRouteError', 'errorMessage' => 'Add route error whose destination is client IP pool, please check vpc route entry and relevant quota.', 'description' => 'The system failed to add the route that points to the client CIDR block. View the VPC route and 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.', 'description' => 'The subnet mask of the client IP pool must range from 16 to 29.'], ['errorCode' => 'ClientIpPool.SubnetInvalid', 'errorMessage' => 'The specified client IP pool cannot be used.', 'description' => 'The client CIDR block is unavailable.'], ['errorCode' => 'MissingParameter.IDaaSInstanceId', 'errorMessage' => 'The input parameter IDaaSInstanceId is mandatory when enable multi-factor authentication.', 'description' => 'You must set the IDaaSInstanceId parameter when you enable two-factor authentication.'], ['errorCode' => 'OperationFailed.GetIDaaSInfo', 'errorMessage' => 'Failed to get secret key from your IDaaS instance.', 'description' => ''], ['errorCode' => 'OperationFailed.NoRamPermission', 'errorMessage' => 'Vpn Service has no permission to operate your IDaaS instances.', 'description' => 'The VPN service does not have the permissions to manage your IDaaS instance.'], ['errorCode' => 'OperationUnsupported.NotSupportMultiFactorAuth', 'errorMessage' => 'Current version of the VPN does not support multi-factor authentication.', 'description' => ''], ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy. Please try again later.', 'description' => ''], ['errorCode' => 'SslVpnServerPort.Illegal', 'errorMessage' => 'The server port is not in the range of [1-65535].', 'description' => 'The port of the SSL-VPN server must be from 1 to 65535.'], ['errorCode' => 'EnableHaCheck.SslVpnServerClientCidrContainsVpcRouteDest', 'errorMessage' => 'Ssl vpn client cidr contains vpc route prefix. The vpc route prefix is %s.', 'description' => 'The prefix %s in the VPC route table falls within the CIDR block of the SSL client.'], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'InstanceId is not found.', 'description' => 'The Express Connect circuit ID is invalid.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified route entry has conflict.', 'description' => 'Route conflicts exist.'], ['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.', 'description' => 'The specified IDaaS application instance ID is invalid. The application instance must be created based on the dedicated SSL VPN template.'], ['errorCode' => 'MissingParam.IDaaSApplicationId', 'errorMessage' => 'The input parameter IDaaSApplicationId is mandatory when enable multi-factor authentication.', 'description' => 'Enter the IDaaSApplicationId parameters when starting two-factor authentication.'], ['errorCode' => 'SslVpnIDaaS2.NotSupport', 'errorMessage' => 'Current version of the VPN does not support IDaaS2.0.', 'description' => 'The current version of the VPN instance does not support IDaaS2.0.'], ['errorCode' => 'MissingParam.IDaaSRegionId', 'errorMessage' => 'The input parameter IDaaSRegionId is mandatory when enable multi-factor authentication.', 'description' => 'Enter the IDaaSRegionId parameters when starting two-factor authentication.'], ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The request passed the dry run.'], ['errorCode' => 'IllegalParam.LocalSubnet', 'errorMessage' => 'The specified "LocalSubnet" (%s) is invalid.', 'description' => '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.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not found during access authentication.', 'description' => 'The specified area is not found during authentication.'], ['errorCode' => 'InvalidIDaaSInstanceId.NotFound', 'errorMessage' => 'The specified IDaaS instance ID does not exist.', 'description' => 'The specified IDaaS instance does not exist.'], ['errorCode' => 'InvalidIDaaSApplicationId.NotFound', 'errorMessage' => 'The specified IDaaS application Id does not exist.', 'description' => 'The ID of the specified IDaaS application instance does not exist.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 2000, 'maxCallbackTimes' => 60], 'title' => 'Modify the configuration of an SSL-VPN server', 'summary' => 'Calls the ModifySslVpnServer operation to modify the configuration of an SSL-VPN server.', 'description' => '- If you want to enable two-factor authentication for the SSL server, first make sure the VPN gateway instance supports this feature. You may need to upgrade the VPN gateway instance. For more information, see [SSL-VPN two-factor authentication supports IDaaS EIAM 2.0](~~2785320~~).'."\n" .'- When only the **Name** of the SSL-VPN server is modified, this operation is synchronous. If configurations other than **Name** are also modified, this operation is asynchronous.'."\n" .'- When the **ModifySslVpnServer** operation is asynchronous, the system first returns a request ID, but the configuration of the SSL-VPN server has not been modified yet, and the modification task is still in progress in the background. You can call the [DescribeVpnGateway](~~2794055~~) operation to query the status of the VPN gateway instance associated with the SSL-VPN server to confirm the modification status of the SSL-VPN server configuration:'."\n" .' - When the VPN gateway instance is in the **updating** state, the configuration of the SSL-VPN server is being modified.'."\n" .' - When the VPN gateway instance is in the **active** state, the configuration of the SSL-VPN server has been modified successfully.'."\n" ."\n" .'- The **ModifySslVpnServer** operation does not support concurrent modification of SSL-VPN server configurations under the same VPN gateway.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-05-23T06:50:35.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2024-05-10T02:03:16.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'], ['createdAt' => '2024-01-04T07:17:09.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-10-19T07:04:02.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2023-05-30T06:58:57.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifySslVpnServer'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifySslVpnServer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SslVpnServer', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnserver/{#SslVpnServerId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'ModifyTunnelAttribute' => [ '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' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** as the **ClientToken**. The **RequestId** may be different for each request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], [ 'name' => 'TunnelOptionsSpecification', 'in' => 'query', 'style' => 'flat', 'schema' => [ 'description' => 'The tunnel configuration to modify.', 'type' => 'object', 'properties' => [ 'EnableDpd' => ['description' => 'Specifies whether to enable the Dead Peer Detection (DPD) feature. Valid values:'."\n" ."\n" .'- **true**: Enabled. The initiator of the IPsec-VPN connection sends DPD packets to check whether the peer is alive. If no correct response is received within the specified period of time, the connection fails. The ISAKMP SA and the corresponding IPsec SA are deleted, and the tunnel is also deleted.'."\n" ."\n" .'- **false**: Disabled. The initiator of the IPsec-VPN connection does not send DPD packets.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], 'EnableNatTraversal' => ['description' => 'Specifies whether to enable NAT traversal. Valid values:'."\n" ."\n" .'- **true**: Enabled. After NAT traversal is enabled, the verification of the UDP port number is removed during IKE negotiations, and the NAT gateway device in the VPN tunnel can be discovered.'."\n" ."\n" .'- **false**: Disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], 'RemoteCaCertificate' => ['description' => 'The CA certificate of the peer when you use an IPsec-VPN connection with a Chinese SM VPN gateway.', 'type' => 'string', 'required' => false, 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', 'title' => ''], 'TunnelBgpConfig' => [ 'description' => 'The BGP configuration of the tunnel to modify.'."\n" ."\n" .'If BGP was not previously enabled for the tunnel, call the [ModifyVpnConnectionAttribute](~~120381~~) operation to enable BGP for the tunnel and add the BGP configuration.', 'type' => 'object', 'properties' => [ 'LocalAsn' => ['description' => 'The autonomous system number (ASN) of the local end of the tunnel. Valid values: **1** to **4294967295**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '65530', 'title' => ''], 'LocalBgpIp' => ['description' => 'The BGP IP address of the local end of the tunnel. The IP address must fall within the **TunnelCidr** CIDR block.', 'type' => 'string', 'required' => false, 'example' => '169.254.11.1', 'title' => ''], 'TunnelCidr' => ['description' => 'The CIDR block of the BGP IP address on the local end of the tunnel.'."\n" ."\n" .'The CIDR block must be a CIDR block with a mask length of 30 within 169.254.0.0/16 and cannot be 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, or 169.254.169.252/30.'."\n" ."\n" .'> The IPsec tunnel CIDR block of each IPsec-VPN connection under a VPN gateway instance must be unique.', 'type' => 'string', 'required' => false, 'example' => '169.254.11.0/30', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'TunnelIkeConfig' => [ 'description' => 'The IKE phase (Phase 1) configuration of the tunnel to modify.', 'type' => 'object', 'properties' => [ 'IkeAuthAlg' => ['description' => 'The authentication algorithm used in Phase 1 negotiations.'."\n" ."\n" .''."\n" ."\n" .'- If the IPsec-VPN connection is associated with a standard VPN gateway, valid values are **md5**, **sha1**, **sha256**, **sha384**, and **sha512**.'."\n" .'- If the IPsec-VPN connection is associated with a Chinese SM VPN gateway, the value is **sm3**.'."\n" ."\n" .''."\n" ."\n\n" .''."\n" ."\n" .'Valid values: **md5**, **sha1**, **sha256**, **sha384**, and **sha512**.'."\n" ."\n" .'.', 'type' => 'string', 'required' => false, 'example' => 'sha1', 'title' => ''], 'IkeEncAlg' => ['description' => 'The encryption algorithm used in Phase 1 negotiations.'."\n" ."\n" .''."\n" ."\n" .'- If the IPsec-VPN connection is associated with a standard VPN gateway, valid values are **aes**, **aes192**, **aes256**, **des**, and **3des**. '."\n" .'- If the IPsec-VPN connection is associated with a Chinese SM VPN gateway, the value is **sm4**.'."\n" ."\n" .''."\n" ."\n" .''."\n" ."\n" .'Valid values: **aes**, **aes192**, **aes256**, **des**, and **3des**. '."\n" ."\n" .'.', 'type' => 'string', 'required' => false, 'example' => 'aes', 'title' => ''], 'IkeLifetime' => ['description' => 'The lifetime of the SA negotiated in Phase 1. Unit: seconds. Valid values: **0** to **86400**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '86400', 'title' => ''], 'IkeMode' => ['description' => 'The negotiation mode of the IKE version. Valid values:'."\n" ."\n" .'- **main**: main mode. This mode offers high security during negotiations.'."\n" .'- **aggressive**: aggressive mode. This mode supports fast negotiations and a higher success rate.', 'type' => 'string', 'required' => false, 'example' => 'main', 'title' => ''], 'IkePfs' => ['description' => 'The Diffie-Hellman key exchange algorithm used in Phase 1 negotiations. Valid values: **group1**, **group2**, **group5**, and **group14**.', 'type' => 'string', 'required' => false, 'example' => 'group2', 'title' => ''], 'IkeVersion' => ['description' => 'The version of the IKE protocol. Valid values: **ikev1** and **ikev2**.', 'type' => 'string', 'required' => false, 'example' => 'ikev2', 'title' => ''], 'LocalId' => ['description' => 'The identifier of the local end of the tunnel. The identifier can be up to 100 characters in length and cannot contain spaces. It supports FQDN and IP formats. Default value: the IP address of the tunnel.', 'type' => 'string', 'required' => false, 'example' => '47.XX.XX.87', 'title' => ''], 'Psk' => ['description' => 'The pre-shared key used for identity authentication between the tunnel and the peer.'."\n" .' '."\n" .' - The key must be 1 to 100 characters in length and can contain digits, uppercase letters, lowercase letters, and the following characters. It cannot contain spaces. ```~!`@#$%^&*()_-+={}[]|;:\',.<>/?```'."\n" .' - If you do not specify a pre-shared key, the system generates a random 16-character string as the pre-shared key. You can call the [DescribeVpnConnection](~~120374~~) operation to query the pre-shared key that is automatically generated by the system.'."\n" .' > The pre-shared keys configured on the tunnel and the peer must be the same. Otherwise, the tunnel cannot be established.', 'type' => 'string', 'required' => false, 'example' => '123456****', 'title' => ''], 'RemoteId' => ['description' => 'The identifier of the peer end of the tunnel. The identifier can be up to 100 characters in length and cannot contain spaces. It supports FQDN and IP formats. Default value: the IP address of the customer gateway instance associated with the tunnel.', 'type' => 'string', 'required' => false, 'example' => '47.XX.XX.207', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'TunnelIpsecConfig' => [ 'description' => 'The IPsec phase (Phase 2) configuration of the tunnel to modify.', 'type' => 'object', 'properties' => [ 'IpsecAuthAlg' => ['description' => 'The authentication algorithm used in Phase 2 negotiations.'."\n" ."\n" .''."\n" ."\n" .'- If the IPsec-VPN connection is associated with a standard VPN gateway, valid values are **md5**, **sha1**, **sha256**, **sha384**, and **sha512**.'."\n" .'- If the IPsec-VPN connection is associated with a Chinese SM VPN gateway, the value is **sm3**.'."\n" ."\n" .''."\n" ."\n" .''."\n" ."\n" .'Valid values: **md5**, **sha1**, **sha256**, **sha384**, and **sha512**.'."\n" ."\n" .'.', 'type' => 'string', 'required' => false, 'example' => 'sha1', 'title' => ''], 'IpsecEncAlg' => ['description' => 'The encryption algorithm used in Phase 2 negotiations.'."\n" ."\n" .''."\n" ."\n" .'- If the IPsec-VPN connection is associated with a standard VPN gateway, valid values are **aes**, **aes192**, **aes256**, **des**, and **3des**. '."\n" .'- If the IPsec-VPN connection is associated with a Chinese SM VPN gateway, the value is **sm4**.'."\n" ."\n" .''."\n" ."\n" .''."\n" ."\n" .'Valid values: **aes**, **aes192**, **aes256**, **des**, and **3des**. '."\n" ."\n" .'.', 'type' => 'string', 'required' => false, 'example' => 'aes', 'title' => ''], 'IpsecLifetime' => ['description' => 'The lifetime of the SA negotiated in Phase 2. Unit: seconds. Valid values: **0** to **86400**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '86400', 'title' => ''], 'IpsecPfs' => ['description' => 'The Diffie-Hellman key exchange algorithm used in Phase 2 negotiations. Valid values: **disabled**, **group1**, **group2**, **group5**, and **group14**.', 'type' => 'string', 'required' => false, 'example' => 'group2', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'CustomerGatewayId' => ['description' => 'The instance ID of the customer gateway associated with the tunnel.', 'type' => 'string', 'required' => false, 'example' => 'cgw-1nmwbpgrp7ssqm1yn****', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPsec-VPN connection.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VpnConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPsec-VPN connection.', 'type' => 'string', 'required' => true, 'example' => 'vco-gw69vm1i71y354****', 'title' => ''], ], [ 'name' => 'TunnelId', 'in' => 'query', 'allowEmptyValue' => false, 'schema' => ['description' => 'The tunnel ID.', 'type' => 'string', 'required' => true, 'example' => 'tun-gbyz2e070xzo93****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'TunnelId' => ['description' => 'The tunnel ID.', 'type' => 'string', 'example' => 'tun-gbyz2e070xzo93****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E6F36FF0-9544-3AEE-8673-A4647D50064C', 'title' => ''], 'TunnelIkeConfig' => [ 'description' => 'The IKE phase (Phase 1) configuration of the tunnel.', 'type' => 'object', 'properties' => [ 'IkeAuthAlg' => ['description' => 'The IKE authentication algorithm.', 'type' => 'string', 'example' => 'sha1', 'title' => ''], 'IkeEncAlg' => ['description' => 'The IKE encryption algorithm.', 'type' => 'string', 'example' => 'aes', 'title' => ''], 'IkeLifetime' => ['description' => 'The IKE lifetime. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], 'IkeMode' => ['description' => 'The IKE negotiation mode.'."\n" ."\n" .'- **main**: main mode. This mode offers high security during negotiations.'."\n" .'- **aggressive**: aggressive mode. This mode supports fast negotiations and a higher success rate.', 'type' => 'string', 'example' => 'main', 'title' => ''], 'IkePfs' => ['description' => 'The DH group.', 'type' => 'string', 'example' => 'group2', 'title' => ''], 'IkeVersion' => ['description' => 'The IKE protocol version.'."\n" ."\n" .'- **ikev1**'."\n" .'- **ikev2**'."\n" ."\n" .'Compared with IKEv1, IKEv2 simplifies the SA negotiation process and provides better support for multi-CIDR-block scenarios.', 'type' => 'string', 'example' => 'ikev2', 'title' => ''], 'LocalId' => ['description' => 'The identifier of the local end of the tunnel. It supports FQDN and IP formats. Default value: the IP address of the current tunnel.', 'type' => 'string', 'example' => '47.XX.XX.87', 'title' => ''], 'Psk' => ['description' => 'The pre-shared key.', 'type' => 'string', 'example' => '123456****', 'title' => ''], 'RemoteId' => ['description' => 'The identifier of the peer end of the tunnel. It supports FQDN and IP formats. Default value: the IP address of the customer gateway instance associated with the tunnel.', 'type' => 'string', 'example' => '47.XX.XX.207', 'title' => ''], ], 'title' => '', 'example' => '', ], 'TunnelIpsecConfig' => [ 'description' => 'The IPsec phase (Phase 2) configuration of the tunnel.', 'type' => 'object', 'properties' => [ 'IpsecAuthAlg' => ['description' => 'The IPsec authentication algorithm.', 'type' => 'string', 'example' => 'sha1', 'title' => ''], 'IpsecEncAlg' => ['description' => 'The IPsec encryption algorithm.', 'type' => 'string', 'example' => 'aes', 'title' => ''], 'IpsecLifetime' => ['description' => 'The IPsec lifetime. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], 'IpsecPfs' => ['description' => 'The DH group.', 'type' => 'string', 'example' => 'group2', 'title' => ''], ], 'title' => '', 'example' => '', ], 'TunnelBgpConfig' => [ 'description' => 'The BGP configuration of the tunnel.', 'type' => 'object', 'properties' => [ 'EnableBgp' => ['description' => 'The enabling status of BGP.'."\n" ."\n" .'- **true**: Enabled.'."\n" ."\n" .'- **false**: Disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'LocalAsn' => ['description' => 'The autonomous system number (ASN) of the local end of the tunnel.', 'type' => 'integer', 'format' => 'int64', 'example' => '65530', 'title' => ''], 'LocalBgpIp' => ['description' => 'The BGP IP address of the local end of the tunnel.', 'type' => 'string', 'example' => '169.254.11.1', 'title' => ''], 'PeerAsn' => ['description' => 'The autonomous system number (ASN) of the peer end of the tunnel.', 'type' => 'integer', 'format' => 'int64', 'example' => '65531', 'title' => ''], 'PeerBgpIp' => ['description' => 'The BGP IP address of the peer end of the tunnel.', 'type' => 'string', 'example' => '169.254.11.2', 'title' => ''], 'TunnelCidr' => ['description' => 'The CIDR block of the tunnel BGP IP address.', 'type' => 'string', 'example' => '169.254.11.0/30', 'title' => ''], ], 'title' => '', 'example' => '', ], 'EnableNatTraversal' => ['description' => 'Indicates whether NAT traversal is enabled. Valid values:'."\n" ."\n" .'- **false**: disabled.'."\n" ."\n" .'- **true**: enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'EnableDpd' => ['description' => 'Indicates whether the Dead Peer Detection (DPD) feature is enabled.'."\n" ."\n" .'- **false**: disabled.'."\n" ."\n" .'- **true**: enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'RemoteCaCertificate' => ['description' => 'The CA certificate of the peer when an IPsec-VPN connection is created with a Chinese SM VPN gateway.', 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', 'title' => ''], 'CustomerGatewayId' => ['description' => 'The instance ID of the customer gateway associated with the tunnel.', 'type' => 'string', 'example' => 'cgw-p0wx48ayhrygitm80****', 'title' => ''], 'Role' => ['description' => 'The role of the tunnel.'."\n" ."\n" .'- **master**: the active tunnel.'."\n" .'- **slave**: the standby tunnel.', 'type' => 'string', 'example' => 'master', 'title' => ''], 'ZoneNo' => ['description' => 'The zone of the tunnel.', 'type' => 'string', 'example' => 'cn-hangzhou-h', 'title' => ''], 'InternetIp' => ['description' => 'The IP address of the tunnel.', 'type' => 'string', 'example' => '47.XX.XX.87', 'title' => ''], 'State' => ['description' => 'The status of the tunnel.'."\n" ."\n" .'- **active**: available.'."\n" .'- **updating**: being updated.'."\n" .'- **deleting**: being deleted.', 'type' => 'string', 'example' => 'active', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'VpnGateway.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => ''], ['errorCode' => 'InvalidName', 'errorMessage' => 'The name is not valid', 'description' => ''], ['errorCode' => 'VpnRouteEntry.AlreadyExists', 'errorMessage' => 'The specified route entry is already exist.', 'description' => 'The route already exists.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified route entry has conflict.', 'description' => 'Route conflicts exist.'], ['errorCode' => 'NotSupportVpnConnectionParameter.IpsecPfs', 'errorMessage' => 'The specified vpn connection ipsec Ipsec Pfs is not support.', 'description' => 'The PFS parameter set for the IPsec-VPN connection is not supported.'], ['errorCode' => 'NotSupportVpnConnectionParameter.IpsecAuthAlg', 'errorMessage' => 'The specified vpn connection ipsec Auth Alg is not support.', 'description' => 'The authentication algorithm specified for the IPsec-VPN connection is not supported.'], ['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.', 'description' => 'The pre-shared key and IKE parameters must be the same for IPsec-VPN connections that are associated with the same VPN gateway and customer gateway.'], ['errorCode' => 'VpnConnectionParamInvalid.SameVpnAndCgwTrafficSelectorOverlap', 'errorMessage' => 'Traffic selectors of IPSec connections associated with the same user gateway and VPN gateway should not overlap.', 'description' => 'The protected data flows of IPsec-VPN connections that are associated with the same VPN gateway and customer gateway cannot overlap.'], ['errorCode' => 'IllegalParam.LocalAsn', 'errorMessage' => 'The param of LocalAsn is illegal', 'description' => 'The LocalAsn parameter is set to an invalid value.'], ['errorCode' => 'IllegalParam.LocalBgpIp', 'errorMessage' => 'The specified LocalBgpIp is invalid.', 'description' => 'The local BGP IP address is invalid.'], ['errorCode' => 'VpnGateway.task.conflict', 'errorMessage' => 'The VPN is in the configuration state, please wait a while before operating.', 'description' => '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.', 'description' => '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.', 'description' => 'Des/3des in IkeEncAlg and IpsecEncAlg does not support multi algorithm.'], ['errorCode' => 'IkeVersionInvalid.GcmIncompatible', 'errorMessage' => 'Ikev1 does not support IkeEncAlg of gcm16.', 'description' => 'Ikev1 does not support IkeEncAlg of gcm16.'], ['errorCode' => 'CustomerGateway.ConflictVpnIp', 'errorMessage' => 'The specified customer gateway has conflict with vpn gateway ip.', 'description' => '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.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', 'errorMessage' => 'The specified vpn connection instance id does not exist.', 'description' => 'The specified vpn connection instance id does not exist.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 1000, 'maxCallbackTimes' => 30], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], 'title' => 'Modify VPN tunnel information', 'summary' => 'Calls the ModifyTunnelAttribute operation to modify the tunnel configuration of a highly available VPN gateway.', 'changeSet' => [ ['createdAt' => '2024-10-24T11:19:58.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-01-04T07:17:11.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-21T12:20:02.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyTunnelAttribute'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyTunnelAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'ModifyVRouterAttribute' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the vRouter.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'VRouterId', 'in' => 'query', 'schema' => ['description' => 'The vRouter ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vrt-gw0p7zigake75znix****'], ], [ 'name' => 'VRouterName', 'in' => 'query', 'schema' => ['description' => 'The name of the vRouter.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'VRouter-1'], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the vRouter.'."\n" ."\n" .'The description must be 1 to 256 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'My VRouter'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45'], ], 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidVRouterName.Malformed', 'errorMessage' => 'Specified virtual router name is not valid.', 'description' => ''], ['errorCode' => 'InvalidVRouterDescription.Malformed', 'errorMessage' => 'Specified virtual router description is not valid.', 'description' => 'The router description is invalid.'], ['errorCode' => 'MissingParameter', 'errorMessage' => 'Miss mandatory parameter.', 'description' => ''], ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'Invalid description.', 'description' => ''], ['errorCode' => 'Forbidden.VRouterNotFound', 'errorMessage' => 'Specified virtual router is not found during access authentication.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidVRouterId.NotFound', 'errorMessage' => 'Specified virtual router does not exist.', 'description' => ''], ], ], 'title' => 'ModifyVRouterAttribute', 'summary' => 'Modifies the name and description of a vRouter.', 'description' => 'You cannot repeatedly call the **ModifyVRouterAttribute** operation within a specific period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-04-26T03:45:51.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-06-23T11:09:56.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], ], 'ModifyVSwitchAttribute' => [ 'summary' => 'Modifies the name, description, and IPv6 settings of a vSwitch.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'VSwitchId', 'in' => 'query', 'schema' => ['description' => 'The ID of the vSwitch.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vsw-25nacdfvue4****', 'title' => ''], ], [ 'name' => 'VSwitchName', 'in' => 'query', 'schema' => ['description' => 'The new name for the vSwitch.'."\n" ."\n" .'The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'VSwitch-1', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the vSwitch is deployed. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The new description for the vSwitch.'."\n" ."\n" .'The description must be 1 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'This is my vswitch.', 'title' => ''], ], [ 'name' => 'Ipv6CidrBlock', 'in' => 'query', 'schema' => ['description' => 'The last eight bits of the IPv6 CIDR block of the vSwitch. Valid values: **0** to **255**.'."\n" ."\n" .'You can set this parameter only when the IPv6 feature is enabled for the virtual private cloud (VPC) to which the vSwitch belongs.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'EnableIPv6', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable the IPv6 feature for the vSwitch. Valid values:'."\n" ."\n" .'* **true**: enables the IPv6 feature.'."\n" .'* **false**: disables the IPv6 feature. This is the default value.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'VpcIpv6CidrBlock', 'in' => 'query', 'schema' => ['description' => 'The IPv6 CIDR block of the VPC to which the vSwitch belongs.'."\n" ."\n" .'You can set this parameter only when the IPv6 feature is enabled for the VPC.'."\n", 'type' => 'string', 'required' => false, 'example' => '2408:XXXX:312:3e00::/56', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidVSwitchName.Malformed', 'errorMessage' => 'Specified virtual switch name is not valid.', 'description' => 'The format of the specified vSwitch name is invalid. Specify the name in the valid format.'], ['errorCode' => 'InvalidVSwitchDiscription.Malformed', 'errorMessage' => 'Specified virtual switch description is not valid.', 'description' => 'The format of the vSwitch description is invalid.'], ['errorCode' => 'Forbidden.VRouterNotFound', 'errorMessage' => 'specified virtual switch is not found during access authentication.', 'description' => 'The specified vSwitch is not found during access authentication.'], ['errorCode' => 'UnsupportedFeature.CloudBoxIpv6', 'errorMessage' => 'The IPv6 feature is not supported by cloud box.', 'description' => 'You cannot create an IPv6 address for a CloudBox instance.'], ['errorCode' => 'OperationFailed.Ipv6InstanceExist', 'errorMessage' => 'Operation failed because vswitch has ipv6 instance.', 'description' => 'IPv6 instances exist in the vSwitch.'], ['errorCode' => 'IncorrectStatus.VpcRouteEntry', 'errorMessage' => 'The status of the specified routeEntry is invalid.', 'description' => 'The status of the VPC route entry is invalid.'], ['errorCode' => 'OperationFailed.IPv6Disabled', 'errorMessage' => 'Operation failed because IPv6 is not enabled for the vSwitch.', 'description' => 'The IPv6 feature is disabled.'], ['errorCode' => 'ParamExclusive.DisableIpv6AndIpv6CidrBlock', 'errorMessage' => 'DisableIpv6 and Ipv6Cidr are mutually exclusive.', 'description' => 'You cannot modify Ipv6Cidr and DisableIpv6 at the same time.'], ['errorCode' => 'IncorrectStatus.cbnStatus', 'errorMessage' => 'Current CBN status does not support this operation.', 'description' => 'The status of the CEN instance is invalid.'], ['errorCode' => 'DependencyViolation.IPv6CidrReservation', 'errorMessage' => 'The specified resource of [%s] depends on [%s], so the operation cannot be completed.', 'description' => 'The specified resource of [%s] depends on [%s], so the operation cannot be completed.'], ['errorCode' => 'IllegalParam.VpcIpv6CidrBlock', 'errorMessage' => 'The parameter of VpcIPv6CidrBlock is illegal.', 'description' => ''], ['errorCode' => 'OperationFailed.Ipv6AlreadyEnabled', 'errorMessage' => 'Operation failed because the IPv6 is enabled already.', 'description' => ''], ['errorCode' => 'OperationFailed.Ipv6CidrBlockExisted', 'errorMessage' => 'Operation failed because the specified IPv6 CIDR block is used already.', 'description' => ''], ['errorCode' => 'IllegalParam.Ipv6CidrBlock', 'errorMessage' => 'The parameter of Ipv6CidrBlock is illegal.', 'description' => ''], ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'The specified Description is wrongly formed.', 'description' => 'The error message returned because the Description parameter is set to an invalid value.'], ['errorCode' => 'OperationFailed.VpcIpv6Disabled', 'errorMessage' => 'Operation failed because the VPC has not enabled IPv6.', 'description' => ''], ['errorCode' => 'IncorrectStatus.VSwitch', 'errorMessage' => 'The specified vSwitch status is invalid.', 'description' => 'The virtual switch status is abnormal.'], ['errorCode' => 'OperationFailed.Ipv6CidrBlockUsed', 'errorMessage' => 'Operation failed because the specified IPv6 CIDR block is used already.', 'description' => ''], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent. Please wait a moment and try again.', 'description' => 'The system is unavailable. Try again later.'], ], 404 => [ ['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'The specified virtual switch does not exists.', 'description' => ''], ], 500 => [ ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy. Please try again later.', 'description' => 'The system is busy. Please try again later.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]', 'title' => 'ModifyVSwitchAttribute', 'description' => '- **ModifyVSwitchAttribute**接口属于异步接口,即系统会返回一个请求ID,但该交换机的配置信息尚未修改成功,系统后台的修改任务仍在进行。您可以调用[DescribeVSwitchAttributes](~~94567~~)查询交换机的修改状态:'."\n" .' - 当交换机的状态处于**Pending**状态时,表示交换机的配置信息正在修改中。'."\n" .' - 当交换机状态处于**Available**状态时,表示交换机可用。'."\n" .'- **ModifyVSwitchAttribute**接口不支持并发修改同一个交换机的配置信息。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-03-27T03:53:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-02-18T11:12:26.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-11-07T03:23:16.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-10-08T10:07:47.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-24T07:18:02.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-06-30T05:52:50.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyVSwitchAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVSwitchAttribute'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'ModifyVSwitchCidrReservationAttribute' => [ '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' => 'The ID of the reserved CIDR block.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vcr-bp1m12saqteraw3rp****', 'title' => ''], ], [ 'name' => 'VSwitchCidrReservationName', 'in' => 'query', 'schema' => ['description' => 'The new name of the reserved CIDR block.'."\n" ."\n" .'The name must be 2 to 128 characters in length and can contain letters, digits, underscores (\\_), and hyphens (-). It must start with a letter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ReservationName', 'title' => ''], ], [ 'name' => 'VSwitchCidrReservationDescription', 'in' => 'query', 'schema' => ['description' => 'The new description of the reserved CIDR block. The default value is empty.'."\n" ."\n" .'The description must be 2 to 256 characters in length. It must start with a letter and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ReservationDescription', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the vSwitch is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run of the request. Valid values:'."\n" .'- **true**: Sends a dry run request without creating any resource (performing the API operation). The system checks whether required parameters are specified, whether the request format is valid, and whether business limits are met. If the check fails, an error is returned. If the check passes, the error code `DryRunOperation` is returned.'."\n" .'- **false** (default): Sends a normal request. If the check passes, an HTTP 2xx status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'A client token used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a unique value from your client for this parameter to guarantee uniqueness across different requests. ClientToken supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-230e-11e9-8e44-0016e04115b', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.CidrReservation', 'errorMessage' => 'ResourceNotFound.CidrReservation', 'description' => 'The error message returned because VSwitchCidrReservation is set to an invalid value.'], ['errorCode' => 'IllegalParamFormat', 'errorMessage' => 'IllegalParamFormat', 'description' => 'The parameter format is invalid.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Modify the name and description of a reserved CIDR block for a vSwitch', 'summary' => 'Modify the name and description of a reserved CIDR block for a vSwitch.', 'description' => 'The **ModifyVSwitchCidrReservationAttribute** API does not support concurrent modification of the name and description of a reserved CIDR block within the same vSwitch.', 'changeSet' => [ ['createdAt' => '2024-07-24T09:40:24.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyVSwitchCidrReservationAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitchCidrReservation', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitchcidrreservation/{#VSwitchCidrReservationId}'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVSwitchCidrReservationAttribute'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","type":"json"}]', ], 'ModifyVcoRouteEntryWeight' => [ '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' => 'The region ID of the IPsec-VPN connection.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VpnConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPsec-VPN connection.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vco-p0w2jpkhi2eeop6q6****', 'title' => ''], ], [ 'name' => 'RouteDest', 'in' => 'query', 'schema' => ['description' => 'The destination CIDR block of the destination-based route that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'example' => '192.168.10.0/24', 'title' => ''], ], [ 'name' => 'Weight', 'in' => 'query', 'schema' => ['description' => 'The current weight of the destination-based route that you want to modify. Valid values:'."\n" ."\n" .'* **0**: a low priority'."\n" .'* **100**: a high priority'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '100', 'title' => ''], ], [ 'name' => 'NewWeight', 'in' => 'query', 'schema' => ['description' => 'The new weight of the destination-based route that you want to modify. Valid values:'."\n" ."\n" .'* **0**: a low priority'."\n" .'* **100**: a high priority'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '0', 'title' => ''], ], [ 'name' => 'NextHop', 'in' => 'query', 'schema' => ['description' => 'The next hop of the destination-based route that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vco-p0w2jpkhi2eeop6q6****', 'title' => ''], ], [ 'name' => 'OverlayMode', 'in' => 'query', 'schema' => ['description' => 'The tunneling protocol. Set the value to **Ipsec**, which specifies the IPsec tunneling protocol.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Ipsec', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'BaseResponse4OpenApi', 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9496F8A-82F4-3130-A51A-2266ACC799B4', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'VpnConnection.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => 'The service is being configured. Try again later.'], ['errorCode' => 'VpnConnection.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => 'The error message returned because the service is locked due to overdue payments.'], ['errorCode' => 'VpnRouteEntry.AlreadyExists', 'errorMessage' => 'The specified route entry is already exist.', 'description' => 'The route already exists.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified route entry has conflict.', 'description' => 'Route conflicts exist.'], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', 'description' => 'Your requests are too frequent. Try again later.'], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', 'errorMessage' => 'The specified vpn connection instance id does not exist.', 'description' => 'The specified vpn connection instance id does not exist.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnConnection', 'callbackInterval' => 1000, 'maxCallbackTimes' => 30], 'title' => 'ModifyVcoRouteEntryWeight', 'summary' => 'Modifies the weight of a destination-based route for an IPsec-VPN connection.', 'description' => '* **ModifyVcoRouteEntryWeight** 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 [DescribeVpnConnection](~~53046~~) operation to query the status of the associated IPsec-VPN connection and determine whether the weight of the specified destination-based route is modified.'."\n" ."\n" .' * If the IPsec-VPN connection is in the **updating** state, the weight of the destination-based route is being modified.'."\n" .' * If the IPsec-VPN connection is in the **attached** state, the weight of the destination-based route is modified.'."\n" ."\n" .'* You cannot repeatedly call the **ModifyVcoRouteEntryWeight** operation for the same IPsec-VPN connection within the specified period of time.'."\n", 'changeSet' => [ ['createdAt' => '2022-12-13T03:56:52.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9496F8A-82F4-3130-A51A-2266ACC799B4\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 9496F8A-82F4-3130-A51A-2266ACC799B4\\n","errorExample":""}]', ], 'ModifyVirtualBorderRouterAttribute' => [ 'summary' => 'You can invoke the ModifyVirtualBorderRouterAttribute API to modify the configuration of a virtual border router (VBR).', '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' => 'The region ID of the VBR.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'VbrId', 'in' => 'query', 'schema' => ['description' => 'The VBR ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vbr-bp1lhl0taikrte****', 'title' => ''], ], [ 'name' => 'VlanId', 'in' => 'query', 'schema' => ['description' => 'The VLAN ID of the VBR. Valid values: **0 to 2999**.'."\n" ."\n" .'> This parameter is available only to Express Connect owners. The VLAN IDs of VBRs on the same Express Connect circuit must be unique.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], ], [ 'name' => 'CircuitCode', 'in' => 'query', 'schema' => ['description' => 'The circuit code of the Express Connect circuit. The circuit code is provided by the connectivity provider.'."\n" ."\n" .'> Only the owner of the Express Connect circuit can set this property.'."\n", 'type' => 'string', 'required' => false, 'example' => 'longtel001', 'title' => ''], ], [ 'name' => 'LocalGatewayIp', 'in' => 'query', 'schema' => ['description' => 'The IP address of the VBR.'."\n" ."\n" .'Only the owner of the VBR can set or modify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''], ], [ 'name' => 'PeerGatewayIp', 'in' => 'query', 'schema' => ['description' => 'The IP address of the gateway device in the data center.'."\n" ."\n" .'Only the owner of the VBR can set or modify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.XX.X', 'title' => ''], ], [ 'name' => 'PeeringSubnetMask', 'in' => 'query', 'schema' => ['description' => 'The subnet mask for the IP addresses of the gateway devices on the Alibaba Cloud side and on the customer side. Only the owner of the VBR can set or modify this parameter.'."\n" ."\n" .'The two IP addresses must fall within the same subnet.'."\n", 'type' => 'string', 'required' => false, 'example' => '255.255.255.252', 'title' => ''], ], [ 'name' => 'MinTxInterval', 'in' => 'query', 'schema' => ['description' => 'The time interval to send BFD packets. Valid values: **200 to 1000**. Unit: milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '300', 'title' => ''], ], [ 'name' => 'MinRxInterval', 'in' => 'query', 'schema' => ['description' => 'The time interval to receive BFD packets. Valid values: **200 to 1000**. Unit: milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '300', 'title' => ''], ], [ 'name' => 'DetectMultiplier', 'in' => 'query', 'schema' => ['description' => 'The maximum number of dropped packets that is allowed by the receiver when the initiator transmits packets. This value can be used to check whether a connection works as expected.'."\n" ."\n" .'Valid values: **3 to 10**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the VBR.'."\n" ."\n" .'It must be 2 to 256 characters in length. It must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'desc', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the VBR.'."\n" ."\n" .'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter. It cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'VBR', 'title' => ''], ], [ 'name' => 'AssociatedPhysicalConnections', 'in' => 'query', 'schema' => ['description' => 'The information about the Express Connect circuit associated with the VBR, including the following parameters:'."\n" ."\n" .'* **CircuitCode**: the circuit code provided by the connectivity provider for the Express Connect circuit.'."\n" .'* **LocalGatewayIp**: the IP address of the gateway device on the Alibaba Cloud side.'."\n" .'* **PeerGatewayIp**: the IP address of the gateway device on the customer side.'."\n" .'* **PeeringSubnetMask**: the subnet mask for the IP addresses of gateway devices on the Alibaba Cloud side and the customer side.'."\n" .'* **PhysicalConnectionId**: the ID of the Express Connect circuit.'."\n", '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" .']', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****', 'title' => ''], ], [ 'name' => 'LocalIpv6GatewayIp', 'in' => 'query', 'schema' => ['description' => 'The IPv6 address of the VBR.'."\n", 'type' => 'string', 'required' => false, 'example' => '2001:XXXX:3c4d:0015:0000:0000:0000:1a2b', 'title' => ''], ], [ 'name' => 'PeerIpv6GatewayIp', 'in' => 'query', 'schema' => ['description' => 'The IPv6 address of the gateway device in the data center.'."\n" ."\n" .'* Only the owner of the VBR can set or modify this property.'."\n" .'* This property is required when you create a VBR for the owner of the Express Connect circuit. You can ignore this property when you create a VBR for another Alibaba Cloud account.'."\n", 'type' => 'string', 'required' => false, 'example' => '2001:XXXX:3c4d:0015:0000:0000:0000:2a2b', 'title' => ''], ], [ 'name' => 'PeeringIpv6SubnetMask', 'in' => 'query', 'schema' => ['description' => 'The subnet mask of the IPv6 addresses of the VBR and the gateway device in the data center.'."\n" ."\n" .'The two IPv6 addresses must fall within the same subnet.'."\n", 'type' => 'string', 'required' => false, 'example' => '2408:4004:cc:400::/56', 'title' => ''], ], [ 'name' => 'EnableIpv6', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable IPv6. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false** (default)'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The bandwidth value. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], ], [ 'name' => 'SitelinkEnable', 'in' => 'query', 'schema' => ['description' => 'Indicates whether to allow service access between data centers. Valid values:'."\n" ."\n" .'- **true**'."\n" .'- **false**', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'Mtu', 'in' => 'query', 'schema' => ['description' => 'The MTU value supported by the VBR. Valid values: 1500 and 8500.'."\n" ."\n" .'This value can be set only when the VBR is attached to an ECR. The value also affects all other VBRs and VPCs in the same ECR.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1500', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '980960B0-2969-40BF-8542-EBB34FD358AB', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.AssociatedPhysicalConnections', 'errorMessage' => 'The specified AssociatedPhysicalConnections is illegal.', 'description' => 'The specified AssociatedPhysicalConnections is illegal.'], ['errorCode' => 'IllegalParam.IpAddress', 'errorMessage' => 'The specified IpAddress is illegal.', 'description' => 'The specified IpAddress is illegal'], ['errorCode' => 'IllegalParam.CidrBlock', 'errorMessage' => 'The specified CidrBlock is illegal.', 'description' => 'The operation failed because CidrBlock is set to an invalid value.'], ['errorCode' => 'InvalidVbrId.NotFound', 'errorMessage' => 'The specified VirutalBorderRouter is not found.', 'description' => ''], ['errorCode' => 'IllegalParam.MinTxInterval', 'errorMessage' => 'The specified MinTxInterval is not in proper range.', 'description' => 'The specified MinTxInterval is not in the proper range.'], ['errorCode' => 'IllegalParam.MinRxInterval', 'errorMessage' => 'The specified MinRxInterval is not in proper range.', 'description' => 'The specified MinRxInterval is not in the proper range.'], ['errorCode' => 'IllegalParam.DetectMultiplier', 'errorMessage' => 'The specified DetectMultiplier is not in proper range.', 'description' => 'DetectMultiplier parameters are not in the proper range.'], ['errorCode' => 'InvalidVlanId.Used', 'errorMessage' => 'The specified VlanId has been used.', 'description' => ''], ['errorCode' => 'Duplicated.LocalGatewayIp', 'errorMessage' => 'The specified LocalGatewayIps are duplicated.', 'description' => ''], ['errorCode' => 'Duplicated.PeerGatewayIp', 'errorMessage' => 'The specified PeerGatewayIp are duplicated.', 'description' => ''], ['errorCode' => 'IllegalParam.LocalGatewayIp', 'errorMessage' => 'The specified LocalGatewayIp already exists.', 'description' => ''], ['errorCode' => 'IllegalParam.PeerGatewayIp', 'errorMessage' => 'The specified PeerGatewayIp already exists.', 'description' => ''], ['errorCode' => 'InvalidCircuitCode.Malformed', 'errorMessage' => 'The specified CircuitCode is not valid.', 'description' => ''], ['errorCode' => 'InvalidVlanId.Malformed', 'errorMessage' => 'The specified VlanId is not valid.', 'description' => ''], ['errorCode' => 'InvalidIp.Malformed', 'errorMessage' => 'The specified ip address is not valid.', 'description' => ''], ['errorCode' => 'InvalidPeeringSubnetMask.Malformed', 'errorMessage' => 'The specified PeeringSubnetMask is not valid.', 'description' => 'PeeringSubnetMask is set to an invalid value.'], ['errorCode' => 'InvalidName.Malformed', 'errorMessage' => 'The specified Name is not valid.', 'description' => 'The Name parameter is set to an invalid value.'], ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'The specifid Description is not valid.', 'description' => 'The Description parameter is set to an invalid value.'], ['errorCode' => 'MissingParameter', 'errorMessage' => 'LocalGatewayIp, peerGatewayIp and peeringSubnetMask must not be null.', 'description' => 'The following parameters are required but not set: LocalGatewayIp, peerGatewayIp, and peeringSubnetMask.'], ['errorCode' => 'InvalidIp.NotSameSubnet', 'errorMessage' => 'Local gateway ip and peer gateway ip are not in the same subnet.', 'description' => 'The IP addresses of the local gateway and the peer gateway do not fall within the same subnet.'], ['errorCode' => 'InvalidParameter', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationFailed.VlanIdInUse', 'errorMessage' => 'Operation failed because vlanId is in use.', 'description' => 'The VLAN ID is already used.'], ['errorCode' => 'IncorrectStatus.VirtualBorderRouter', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationUnsupported.IPV6ForThisRegion', 'errorMessage' => 'This Region do not support IPV6.', 'description' => 'The region does not support IPv6.'], ['errorCode' => 'OperationFailed.PconnTrafficNotEnable', 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', 'description' => 'Billing for outbound data transfer is disabled.'], ['errorCode' => 'OperationDenied.VBRAssociateVPconn', 'errorMessage' => 'The operation is not allowed because of VBRAssociateVPconn.', 'description' => 'The operation failed because you cannot associate a VBR with the hosted connection.'], ['errorCode' => 'OperationFailed.PhysicalConnectionFinancialLocked', 'errorMessage' => 'Update failed, the physical connection is financial locked.', 'description' => 'The shared port is locked due to overdue payments and you cannot modify the VLAN.'], ['errorCode' => 'OperationFailed.PhysicalConnectionTerminated', 'errorMessage' => 'Update failed, the physical connection is terminated.', 'description' => 'The shared port is disabled and you cannot modify the VLAN.'], ['errorCode' => 'OperationFailed.VbrBandWidthMust0InVlan0Vbr', 'errorMessage' => 'The operation is failed because of VbrBandWidthMust0InVlan0Vbr.', 'description' => 'Operation failed, speed limit configuration is not allowed.'], ['errorCode' => 'MissingParam.DetectMultiplier', 'errorMessage' => 'The parameter DetectMultiplier is mandatory.', 'description' => 'Missing parameter DetectMultiplier. When configuring BFD packets, you need to configure three parameters: the sending interval, the receiving interval, and the detection time multiple.'], ['errorCode' => 'MissingParam.MinRxInterval', 'errorMessage' => 'The parameter MinRxInterval is mandatory.', 'description' => 'Missing parameter MinRxInterval. When configuring BFD packets, you need to configure three parameters: the sending interval, the receiving interval, and the detection time multiple.'], ['errorCode' => 'MissingParam.MinTxInterval', 'errorMessage' => 'The parameter MinTxInterval is mandatory.', 'description' => 'Missing parameter MinTxInterval. When configuring BFD packets, you need to configure three parameters: the sending interval, the receiving interval, and the detection time multiple.'], ['errorCode' => 'DuplicatedParam.LocalGatewayIp', 'errorMessage' => 'The LocalGatewayIp values are duplicated.', 'description' => 'The error message returned because a duplicate IP address is used for communication. Change the IP address and try again.'], ['errorCode' => 'Forbidden.VbrNotAllowModifySiteLink', 'errorMessage' => 'Can not modify virtualBorderRouter site link, please call PD to authorize.', 'description' => ''], ['errorCode' => 'OperationUnsupported.VirtualBorderRouterEnableIPv6', 'errorMessage' => 'The operation failed. The device or region does not support IPv6 functions.', 'description' => 'The operation failed because the device or region does not support IPv6.'], ['errorCode' => 'OperationFailed.PconnAllocateVlan0', 'errorMessage' => 'Vlan 0 Vbr cannot share the physical connection with another Vbr.', 'description' => 'The operation failed because VLAN 0 is set to a VBR associated with the Express Connect circuit and you cannot set VLAN 0 to other VBRs.'], ['errorCode' => 'IllegalParam.VlanId', 'errorMessage' => 'The parameter VlanId is illegal.', 'description' => 'The operation failed because VlanId is set to an invalid value.'], ['errorCode' => 'OperationFailed.VbrLocked', 'errorMessage' => 'The VBR is locked.', 'description' => 'The border router is locked, please try again later.'], ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'The parameter is invalid.'], ['errorCode' => 'OperationDenied.NotInWhiteList', 'errorMessage' => 'User does not have permission to turn on jumbo frames.', 'description' => ''], ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'The express connect router is not in a steady state and cannot operate.', 'description' => ''], ['errorCode' => 'ResourceInConfiguring.NodeId', 'errorMessage' => 'The express connect router subinstance is not in a steady state and cannot operate.', 'description' => ''], ['errorCode' => 'UnsupportedFeature.JumboFrame', 'errorMessage' => 'The jumbo frame feature is not supported in the current region.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbidden.CircuitCodeNotAllowedByCaller', 'errorMessage' => 'The caller is not allowed to modify.', 'description' => ''], ['errorCode' => 'Forbidden.LocalGatewayIpNotAllowedByCaller', 'errorMessage' => 'The caller is not allowed to specify the LocalGatewayIp parameter.', 'description' => ''], ['errorCode' => 'Forbidden.PeerGatewayIpNotAllowedByCaller', 'errorMessage' => 'The caller is not allowed to specify the PeerGatewayIp parameter.', 'description' => ''], ['errorCode' => 'Forbidden.PeeringSubnetMaskNotAllowedByCaller', 'errorMessage' => 'The caller is not allowed to specify the PeeringSubnetMask parameter.', 'description' => ''], ['errorCode' => 'Forbidden.VlanIdNotAllowedByCaller', 'errorMessage' => 'The caller is not allowed to specify the VlanId.', 'description' => ''], ['errorCode' => 'Forbidden.NameNotAllowedByCaller', 'errorMessage' => 'The caller is not allowed to specify the Name parameter.', 'description' => ''], ['errorCode' => 'Forbidden.DescriptionNotAllowedByCaller', 'errorMessage' => 'The caller is not allowed to specify the Description parameter.', 'description' => ''], ], [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId is not found.', 'description' => 'The specified region ID is invalid. Check whether the service is available in the specified region.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Modify the configuration of a virtual border router (VBR)', 'description' => '* **VlanId** can only be modified by the owner of the Express Connect circuit.'."\n" ."\n" .'* The same VLAN ID under the same Express Connect circuit cannot be used by two VBRs simultaneously.'."\n" ."\n" .'* A VBR in the **terminated** status retains its VLAN ID exclusively for 7 days, during which no other VBR can use it. After 7 days, the VLAN ID becomes available for other VBRs.'."\n" ."\n" .'* VBR instances owned by other accounts cannot configure **LocalGatewayIp**, **PeerGatewayIp**, or **PeeringSubnetMask**.'."\n" ."\n" .'* **PeeringSubnetMask** supports subnet masks from /24 to /30 (255.255.255.0 to 255.255.255.252).'."\n" ."\n" .'* **LocalGatewayIp** and **PeerGatewayIp** must belong to the same network segment. For example: LocalGatewayIp: 192.168.XX.XX, PeerGatewayIp: 192.168.XX.XX, PeeringSubnetMask: 255.255.255.248.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-03-19T10:32:29.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-06-28T02:56:12.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-05-08T02:53:52.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-01-04T01:43:50.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-12-26T12:30:41.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'], ['createdAt' => '2021-07-30T09:21:18.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"980960B0-2969-40BF-8542-EBB34FD358AB\\"\\n}","type":"json"}]', 'translator' => 'machine', ], 'ModifyVpcAttribute' => [ 'summary' => 'Modifies the name and description of a virtual private cloud (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' => 'The ID of the VPC that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp1qtbach57ywecf****', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The new description of the VPC.'."\n" ."\n" .'The description must be 1 to 256 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'This is my VPC.', 'title' => ''], ], [ 'name' => 'VpcName', 'in' => 'query', 'schema' => ['description' => 'The new name of the VPC.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Vpc-1', 'title' => ''], ], [ 'name' => 'CidrBlock', 'in' => 'query', 'schema' => ['description' => 'The new IPv4 CIDR block of the VPC.'."\n" ."\n" .'You can specify a larger or smaller IPv4 CIDR block than the IPv4 CIDR block of the VPC. The subnet mask must be 8 to 28 bits in length. If you specify a smaller IPv4 CIDR block and existing IP addresses do not fall within the CIDR block, the modification fails.'."\n" ."\n" .'> If you modify the CIDR block of a VPC, your existing services are not affected.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.0.0/24', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPC.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'EnableIPv6', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable IPv6 CIDR blocks. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false** (default)'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'Ipv6CidrBlock', 'in' => 'query', 'schema' => ['description' => 'The IPv6 CIDR block of the VPC.'."\n", 'type' => 'string', 'required' => false, 'example' => '2408:XXXX:0:6a::/56', 'title' => ''], ], [ 'name' => 'Ipv6Isp', 'in' => 'query', 'schema' => ['description' => 'The type of IPv6 CIDR block. Valid values:'."\n" ."\n" .'* **BGP** (default)'."\n" .'* **ChinaMobile**'."\n" .'* **ChinaUnicom**'."\n" .'* **ChinaTelecom**'."\n" ."\n" .'> If your Alibaba Cloud account is allowed to activate single-ISP bandwidth, you can set this parameter to **ChinaTelecom**, **ChinaUnicom**, or **ChinaMobile**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'BGP', 'title' => ''], ], [ 'name' => 'EnableDnsHostname', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable the DNS hostname feature. Valid values:'."\n" ."\n" .'* **false** (default): disabled.'."\n" .'* **true**: enabled.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '43B72D30-25E1-4FA3-96A8-89374A521D1A', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Forbidden.VpcNotFound', 'errorMessage' => 'Specified VPC does not exist.', 'description' => ''], ['errorCode' => 'InvalidDescription.Malformed', 'errorMessage' => 'description not valid..', 'description' => ''], ['errorCode' => 'InvalidVpcName.Malformed', 'errorMessage' => 'Specified VPC name is not valid.', 'description' => ''], ['errorCode' => 'InvalidVpcDiscription.Malformed', 'errorMessage' => 'Specified VPC description is not valid.', 'description' => ''], ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Specified UserCidr invalid format.', 'description' => ''], ['errorCode' => 'InvalidUserCidr.Quota', 'errorMessage' => 'Specified UserCidr number is greater than 3.', 'description' => ''], ['errorCode' => 'InvalidUserCidr.Malformed', 'errorMessage' => 'Specified UserCidr overlapping in of 100.64.0.0/10.', 'description' => 'The user CIDR block that you specify overlaps with 100.64.0.0/10.'], ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'Specified VPC name is not valid.', 'description' => ''], ['errorCode' => 'IncorrectVpcStatus', 'errorMessage' => 'Current VPC status does not support this operation.', 'description' => ''], ['errorCode' => 'IllegalCidrBlock', 'errorMessage' => 'Some subnet cidrBlock is not in the cidrBlock.', 'description' => ''], ['errorCode' => 'InvalidRegion.Malformed', 'errorMessage' => 'Specified RegionId is not vaild.', 'description' => ''], ['errorCode' => 'InvalidCidrBlock.Malformed', 'errorMessage' => 'Specified CIDR block is not valid.', 'description' => ''], ['errorCode' => 'OperationUnsupported.DisableIpv6', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationUnsupported.Ipv6Feature', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'ParamExclusive.EnableIpv6AndCidrBlock', 'errorMessage' => 'EnableIpv6 and CidrBlock is mutually exclusive.', 'description' => ''], ['errorCode' => 'OperationFailed.ClassicLinkEnabled', 'errorMessage' => 'Operation failed because classicLink is enabled.', 'description' => ''], ['errorCode' => 'OperationFailed.IpV6VSwitchInuse', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationFailed.Ipv6GatewayInUse', 'errorMessage' => 'The IPv6 gateway is in use.', 'description' => 'You cannot modify the VPC attributes because the IPv6 gateway is in use.'], ['errorCode' => 'OperationFailed.QueryCenIpv6Status', 'errorMessage' => 'Failed to query the IPv6 status of the specified VPC in CEN.', 'description' => 'The operation failed because the system failed to query the IPv6 status of the VPC that is attached to the CEN instance.'], ['errorCode' => 'OperationUnsupported.CenIpv6Enabled', 'errorMessage' => 'The IPv6 feature is enabled in CEN.', 'description' => 'The IPv6 feature is already enabled for CEN.'], ['errorCode' => 'UnsupportedFeature.Ipv6Isp', 'errorMessage' => 'The Ipv6Isp feature is not supported.', 'description' => 'The specified IPv6 ISP is not supported.'], ['errorCode' => 'ResourceNotEnough.Ipv6Cidr', 'errorMessage' => 'The specified resource ipv6 cidr is not enough.', 'description' => 'Insufficient IPv6 CIDR block resources.'], ['errorCode' => 'OperationFailed.IPv6CidrNotReserved', 'errorMessage' => 'The IPv6 CIDR block is not reserved.', 'description' => ''], ['errorCode' => 'IllegalParam.Ipv6Cidr', 'errorMessage' => 'The specified Ipv6CidrBlock is invalid.', 'description' => 'Ipv6CidrBlock is set to an invalid value.'], ['errorCode' => 'InvalidIpv6Instance.NotFound', 'errorMessage' => 'The specified resource of InvalidIpv6Instance is not found.', 'description' => 'The error message returned because the IPv6 resource is not found.'], ['errorCode' => 'ExclusiveParam.EnableIpv6AndCidrBlock', 'errorMessage' => 'The param of EnableIpv6 and CidrBlock are mutually exclusive.', 'description' => 'The param of EnableIpv6 and CidrBlock are mutually exclusive.'], ['errorCode' => 'UnsupportedFeature.VpcDnsHostname', 'errorMessage' => 'The feature of vpc dns hostname is unsupported.', 'description' => 'The VPC private domain name function does not take effect in the current region.'], ['errorCode' => 'OperationFailed.Ipv6RouteEntryUsing', 'errorMessage' => 'VPC exist IPv6 Route Entry, cannot disable IPv6.', 'description' => 'The VPC has an IPv6 route, and IPv6 must not be disabled.'], ['errorCode' => 'OperationFailed.ModifyVpcDnsHostname', 'errorMessage' => 'Operation failed because DnsHostName resource is in transient state, please try again later.', 'description' => 'dns domain name resource is unstable, please try again later.'], ['errorCode' => 'IncorrectStatus.VpcDnsHostnameStatus', 'errorMessage' => 'The DnsHostname status of vpc does not support this operation.', 'description' => 'The private domain name status of the current VPC does not support this operation.'], ['errorCode' => 'OperationFailed.ConflictWithSecondaryCidr', 'errorMessage' => 'The modified cidr is conflict with the secondary cidr.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'Specified VPC does not exist.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"43B72D30-25E1-4FA3-96A8-89374A521D1A\\"\\n}","type":"json"}]', 'title' => 'ModifyVpcAttribute', 'description' => '## [](#)Description'."\n" ."\n" .'You cannot repeatedly call the **ModifyVpcAttribute** operation to modify the name and description of a VPC within the specified period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-03-05T11:25:26.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-02-25T08:18:05.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-02-14T03:57:19.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-01-16T03:36:40.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-10-10T06:14:59.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2024-08-27T02:00:39.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2024-08-06T03:05:34.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-02-01T02:17:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-12-14T07:39:32.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-05T07:33:20.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], ], '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' => 'The ID of the prefix list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'pl-0b7hwu67****', 'title' => ''], ], [ 'name' => 'PrefixListName', 'in' => 'query', 'schema' => ['description' => 'The new name of the prefix list.'."\n" ."\n" .'The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'newname', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses **RequestId** as **ClientToken**. **RequestId** may be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to only precheck the request. Valid values:'."\n" ."\n" .'* **true**: checks the request without performing the operation. The system prechecks the required parameters, request syntax, and limits. If the request fails the precheck, an error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): sends the request. If the request passes the check, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'AddPrefixListEntry', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The information about CIDR blocks to be added to the prefix list.', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Cidr' => ['description' => 'The CIDR block to be added to the prefix list.'."\n" ."\n" .'> If the CIDR block already exists in the prefix list, you can only modify the description of the CIDR block by setting the **AddPrefixListEntry.N.Description** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '172.16.0.0/12', 'title' => ''], 'Description' => ['description' => 'The description of the CIDR block to be added to the prefix list.'."\n" ."\n" .'The description must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'newcidr', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 1000, 'title' => '', 'example' => '', ], ], [ 'name' => 'RemovePrefixListEntry', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The information about CIDR blocks to be deleted to the prefix list.', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Cidr' => ['description' => 'The CIDR block that you want to delete from the prefix list.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.0.0/16', 'title' => ''], 'Description' => ['description' => 'The description of the CIDR block that you want to delete.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cidr', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 1000, 'title' => '', 'example' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the prefix list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'PrefixListDescription', 'in' => 'query', 'schema' => ['description' => 'The new description of the prefix list.'."\n" ."\n" .'The description must be 1 to 256 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'newdescription', 'title' => ''], ], [ 'name' => 'MaxEntries', 'in' => 'query', 'schema' => ['description' => 'The maximum number of CIDR blocks supported by the prefix list after the configuration of the prefix list is modified.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'PrefixListId' => ['description' => 'The ID of the prefix list.'."\n", 'type' => 'string', 'example' => 'pl-0b7hwu67****', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.PrefixList', 'errorMessage' => 'The specified resource of prefixList is not found.', 'description' => 'The prefix list does not exist.'], ['errorCode' => 'OperationFailed.CidrCountExceedMaxCount', 'errorMessage' => 'The operation is failed because of cidrCountExceedMaxCount.', 'description' => ''], ['errorCode' => 'OperationDenied.RemoveCountExceedExistCount', 'errorMessage' => 'The operation is not allowed because of remove-count exceed exist-count.', 'description' => ''], ['errorCode' => 'DuplicatedParam.CidrBlock', 'errorMessage' => 'The param of cidrBlock is duplicated.', 'description' => 'The error message returned because a duplicate CIDR block is specified.'], ['errorCode' => 'IllegalParam.CidrBlock', 'errorMessage' => 'The param of cidrBlock is illegal.', 'description' => 'The error message returned because the value of the cidrBlock parameter is invalid.'], ['errorCode' => 'IllegalParam.CidrName', 'errorMessage' => 'The param of cidrName is illegal.', 'description' => ''], ['errorCode' => 'OperationDenied.SystemPrefixList', 'errorMessage' => 'This is not allowed to operate system prefixList.', 'description' => ''], ['errorCode' => 'OperationFailed.OperateShareResource', 'errorMessage' => 'This is not allowed to operate shared prefixList.', 'description' => ''], ['errorCode' => 'IncorrectStatus.PrefixList', 'errorMessage' => 'The status of prefixList is incorrect.', 'description' => 'The prefix list is in an unstable state.'], ['errorCode' => 'QuotaExceeded.PrefixListCidrCount', 'errorMessage' => 'The quota of prefixList entry maxEntry count is exceeded.', 'description' => 'The number of allowed routes exceeds the upper limit.'], ['errorCode' => 'QuotaExceeded', 'errorMessage' => 'Route entry quota exceeded in associated route table.', 'description' => 'The maximum number of routes supported by the prefix list exceeds the maximum number of routes supported by the 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.', 'description' => 'If the prefix list increases the maximum number of entries, the quota for the maximum number of entries for the associated network ACL instance is exceeded.'], ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => 'The request failed due to a temporary server error.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::ListPrefixLists', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'ModifyVpcPrefixList', 'summary' => 'Modifies the configuration of a prefix list.', 'description' => '- **ModifyVpcPrefixList**接口属于异步接口,即系统返回一个请求ID,但该前缀列表实例的配置信息尚未修改成功,系统后台的修改任务仍在进行。您可以调用[ListPrefixLists](~~311535~~)查询前缀列表实例的状态。'."\n" .' - 当前缀列表实例处于**Modifying**状态时,表示前缀列表实例的配置信息正在修改中。'."\n" .' - 当前缀列表实例处于**Created**状态时,表示前缀列表实例的配置信息修改成功。'."\n" .' - 前缀列表实例的配置信息修改成功后,您可以调用[GetVpcPrefixListAssociations](~~445478~~)接口查询前缀列表的关联关系来确定关联的资源是否使用的是修改后的CIDR地址块,当前缀列表的关联状态即**Status**参数取值为**Created**时,表示关联的资源使用的CIDR地址块为修改后的CIDR地址块。'."\n" ."\n" .'- **ModifyVpcPrefixList**接口不支持并发修改同一个前缀列表实例的配置信息。', 'changeSet' => [ ['createdAt' => '2022-07-18T12:44:59.000Z', 'description' => 'OpenAPI offline'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PrefixListId\\": \\"pl-0b7hwu67****\\",\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","type":"json"}]', 'translator' => 'manual', ], 'ModifyVpnAttachmentAttribute' => [ 'summary' => 'Modifies the configuration of an IPsec-VPN connection.', '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' => 'The ID of the region in which the IPsec-VPN connection is established.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VpnConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPsec-VPN connection.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vco-p0w5112fgnl2ihlmf****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the IPsec-VPN connection.'."\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' => 'nametest', 'title' => ''], ], [ 'name' => 'LocalSubnet', 'in' => 'query', 'schema' => ['description' => 'The CIDR block of the virtual private cloud (VPC) that communicates with the data center. The CIDR block is used in Phase 2 negotiations.'."\n" ."\n" .'Separate multiple CIDR blocks with commas (,). Example: 192.168.1.0/24,192.168.2.0/24.'."\n" ."\n" .'The following routing modes are supported:'."\n" ."\n" .'* If you set **LocalSubnet** and **RemoteSubnet** to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.'."\n" .'* If you set **LocalSubnet** and **RemoteSubnet** to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.1.1.0/24,10.1.2.0/24', 'title' => ''], ], [ 'name' => 'RemoteSubnet', 'in' => 'query', 'schema' => ['description' => 'The CIDR block of the data center that communicates with the VPC. This CIDR block is used in Phase 2 negotiations.'."\n" ."\n" .'Separate multiple CIDR blocks with commas (,). Example: 192.168.3.0/24,192.168.4.0/24.'."\n" ."\n" .'The following routing modes are supported:'."\n" ."\n" .'* If you set **LocalSubnet** and **RemoteSubnet** to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.'."\n" .'* If you set **LocalSubnet** and **RemoteSubnet** to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.1.3.0/24,10.1.4.0/24', 'title' => ''], ], [ 'name' => 'EffectImmediately', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to immediately start IPsec negotiations after the configuration takes effect. Valid values:'."\n" ."\n" .'* **true**: immediately starts IPsec negotiations after the configuration is complete.'."\n" .'* **false**: starts IPsec negotiations when inbound traffic is detected.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'IkeConfig', 'in' => 'query', 'schema' => ['description' => 'This parameter is supported if you modify the configurations of an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'The configuration of Phase 1 negotiations:'."\n" ."\n" .'* **IkeConfig.Psk**: The pre-shared key that is used for identity authentication between the Alibaba Cloud IPsec connection and the on-premises data center.'."\n" ."\n" .' * The key must be 1 to 100 characters in length, and can contain digits, and letters. The key cannot contain spaces. ``~!`@#$%^&*()_-+={}[]|;:\',.<>/?``'."\n" .' * If you do not specify a pre-shared key, the system randomly generates a 16-bit string as the pre-shared key. You can call the [DescribeVpnConnection](~~120374~~) operation to query the pre-shared key that is automatically generated by the system.'."\n" ."\n" .' > The pre-shared key of the IPsec-VPN connection must be the same as the authentication key of the on-premises data center. Otherwise, connections between the on-premises data center and the VPN gateway cannot be established.'."\n" ."\n" .'* **IkeConfig.IkeVersion**: the version of the Internet Key Exchange (IKE) protocol. Valid values: **ikev1** and **ikev2**.'."\n" ."\n" .'* **IkeConfig.IkeMode**: the negotiation mode. Valid values: **main** and **aggressive**.'."\n" ."\n" .'* **IkeConfig.IkeEncAlg:** the encryption algorithm that is used in Phase 1 negotiations. Valid values: **aes**, **aes192**, **aes256**, **des**, and **3des**.'."\n" ."\n" .'* **IkeConfig.IkeAuthAlg**: the authentication algorithm that is used in Phase 1 negotiations. Valid values: **md5**, **sha1**, **sha256**, **sha384**, and **sha512**.'."\n" ."\n" .'* **IkeConfig.IkePfs**: the Diffie-Hellman key exchange algorithm that is used in Phase 1 negotiations. Valid values: **group1**, **group2**, **group5**, and **group14**.'."\n" ."\n" .'* **IkeConfig.IkeLifetime**: the SA lifetime as a result of Phase 1 negotiations. Unit: seconds. Valid values: **0** to **86400**.'."\n" ."\n" .'* **IkeConfig.LocalId**: the identifier on the Alibaba Cloud side. The identifier cannot exceed 100 characters in length and cannot contain spaces.'."\n" ."\n" .'* **IkeConfig.RemoteId**: the identifier of the data center. It cannot exceed 100 characters in length and cannot contain spaces.', '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"}', 'title' => ''], ], [ 'name' => 'IpsecConfig', 'in' => 'query', 'schema' => ['description' => 'This parameter is supported if you modify the configurations of an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'The configuration of Phase 2 negotiations:'."\n" ."\n" .'* **IpsecConfig.IpsecEncAlg:** the encryption algorithm that is used in Phase 2 negotiations. Valid values: **aes**, **aes192**, **aes256**, **des**, and **3des**.'."\n" .'* **IpsecConfig. IpsecAuthAlg:** the authentication algorithm that is used in Phase 2 negotiations. Valid values: **md5**, **sha1**, **sha256**, **sha384**, and **sha512**.'."\n" .'* **IpsecConfig. IpsecPfs:** the Diffie-Hellman key exchange algorithm that is used in Phase 2 negotiations. Valid values: **disabled**, **group1**, **group2**, **group5**, and **group14**.'."\n" .'* **IkeConfig.IkeLifetime**: the SA lifetime determined by Phase 2 negotiations. Unit: seconds. Valid values: **0** to **86400**.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400}', 'title' => ''], ], [ 'name' => 'BgpConfig', 'in' => 'query', 'schema' => ['description' => 'This parameter is supported if you modify the configurations of an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'BGP configuration:'."\n" ."\n" .'* **BgpConfig.EnableBgp**: specifies whether to enable BGP. Valid values:'."\n" ."\n" .' * **true**'."\n" .' * **false**'."\n" ."\n" .'* **BgpConfig.LocalAsn**: the autonomous system number (ASN) on the Alibaba Cloud side. Valid values: **1** to **4294967295**.'."\n" ."\n" .' You can enter a value in two segments separated by a period (.). Each segment is 16 bits in length. Enter the number in each segment in decimal format.'."\n" ."\n" .' For example, if you enter 123.456, the ASN is 8061384. The ASN is calculated by using the following formula: 123 × 65536 + 456 = 8061384.'."\n" ."\n" .'* **BgpConfig.TunnelCidr**: The CIDR block of the IPsec tunnel. The CIDR block must fall into 169.254.0.0/16 and the mask of the CIDR block must be 30 bits in length. The CIDR block cannot be 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, or 169.254.169.252/30.'."\n" ."\n" .'* **LocalBgpIp**: the BGP address on the Alibaba Cloud side. It must be an IP address that falls within the CIDR block of the IPsec tunnel.'."\n" ."\n" .'> - Before you add BGP configurations, we recommend that you learn about how BGP works and the limits. For more information, see [Configure BGP dynamic routing](~~445767~~).'."\n" .'> - We recommend that you use a private ASN to establish BGP connections to Alibaba Cloud. Refer to the relevant documentation for the private ASN range.', 'type' => 'string', 'required' => false, 'example' => '{"EnableBgp":"true","LocalAsn":"45104","TunnelCidr":"169.254.11.0/30","LocalBgpIp":"169.254.11.1"}', 'title' => ''], ], [ 'name' => 'HealthCheckConfig', 'in' => 'query', 'schema' => ['description' => 'This parameter is supported if you modify the configurations of an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'The health check configurations:'."\n" ."\n" .'* **HealthCheckConfig.enable**: specifies whether to enable the health check feature. Valid values:'."\n" ."\n" .' * **true**'."\n" .' * **false**'."\n" ."\n" .'* **HealthCheckConfig.dip**: the destination IP address configured for health checks. Specify the IP address of the data center with which the VPC can access through the IPsec-VPN connection.'."\n" ."\n" .'* **HealthCheckConfig.sip**: the source IP address configured for health checks. The IP address of the VPC with which the data center can access through the IPsec-VPN connection.'."\n" ."\n" .'* **HealthCheckConfig.interval**: the interval between two consecutive health checks. Unit: seconds.'."\n" ."\n" .'* **HealthCheckConfig.retry:** the maximum number of health check retries.'."\n" ."\n" .'* **HealthCheckConfig.Policy**: specifies whether to withdraw advertised routes when health checks fail. Valid values:'."\n" ."\n" .' * **revoke_route**'."\n" .' * **reserve_route**'."\n", 'type' => 'string', 'required' => false, 'example' => '{"enable":"true","dip":"192.168.1.1","sip":"10.1.1.1","interval":"3","retry":"3","Policy": "revoke_route"}', 'title' => ''], ], [ 'name' => 'AutoConfigRoute', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to automatically configure routes. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'EnableDpd', 'in' => 'query', 'schema' => ['description' => 'This parameter is supported if you modify the configurations of an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'Specifies whether to enable dead peer detection (DPD). Valid values:'."\n" ."\n" .'* **true**: enables DPD. The initiator of the IPsec-VPN connection sends DPD packets to check the existence and availability of the peer. If no feedback is received from the peer within the specified period of time, the connection fails. In this case, ISAKMP SA and IPsec SA are deleted, along with the security tunnel.'."\n" .'* **false**: disables DPD. The initiator of the IPsec-VPN connection does not send DPD packets.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'EnableNatTraversal', 'in' => 'query', 'schema' => ['description' => 'This parameter is supported if you modify the configurations of an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'Specifies whether to enable NAT traversal. Valid values:'."\n" ."\n" .'* **true**: enables NAT traversal. After NAT traversal is enabled, the initiator does not check the UDP ports during IKE negotiations and can automatically discover NAT gateway devices along the IPsec-VPN tunnel.'."\n" .'* **false**: disables NAT traversal.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'RemoteCaCert', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => 'The peer CA certificate when a ShangMi (SM) VPN gateway is used to create the IPsec-VPN connection.'."\n", 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the value of **RequestId** as the value of **ClientToken**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''], ], [ 'name' => 'NetworkType', 'in' => 'query', 'schema' => ['description' => 'The network type of the IPsec-VPN connection. Valid values:'."\n" ."\n" .'* **public**: an encrypted connection over the Internet'."\n" .'* **private**: an encrypted connection over private networks'."\n", 'type' => 'string', 'required' => false, 'example' => 'public', 'title' => ''], ], [ 'name' => 'CustomerGatewayId', 'in' => 'query', 'schema' => ['description' => 'The customer gateways to be associated with the IPsec-VPN connections.'."\n" ."\n" .'> Only single-tunnel IPsec-VPN connections support this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cgw-p0w2jemrcj5u61un8****', 'title' => ''], ], [ 'name' => 'TunnelOptionsSpecification', 'in' => 'formData', 'allowEmptyValue' => true, 'style' => 'flat', 'schema' => [ 'description' => 'The tunnel configurations.'."\n" ."\n" .'You can specify parameters in the **TunnelOptionsSpecification** array when you modify the configurations of an IPsec-VPN connection in dual-tunnel mode. You can modify the configurations of the two tunnels of the IPsec-VPN connection.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The tunnel configuration.'."\n", 'type' => 'object', 'properties' => [ 'TunnelId' => ['description' => 'The tunnel ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'tun-0jod7plwf2a0o9lvu****', 'title' => ''], 'CustomerGatewayId' => ['description' => 'The ID of the customer gateway that is associated with the tunnel.'."\n" ."\n" .'> This parameter is only supported in dual-tunnel IPsec-VPN connections.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cgw-p0w2jemrcj5u61un8****', 'title' => ''], 'TunnelIndex' => ['description' => 'The order in which the tunnel was created.'."\n" ."\n" .'* **1**: Tunnel 1.'."\n" .'* **2**: Tunnel 2.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], 'EnableDpd' => ['description' => 'Specifies whether to enable the Dead Peer Detection (DPD) feature for the tunnel. Valid values:'."\n" ."\n" .'* **true**: enables DPD. The initiator of the IPsec-VPN connection sends DPD packets to check the existence and availability of the peer. If no feedback is received from the peer within the specified period of time, the connection fails. In this case, ISAKMP SA and IPsec SA are deleted along with the security tunnel.'."\n" .'* **false**: disables DPD. The initiator of the IPsec-VPN connection does not send DPD packets.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], 'EnableNatTraversal' => ['description' => 'Specifies whether to enable NAT traversal for the tunnel. Valid values:'."\n" ."\n" .'* **true**: enables NAT traversal. After NAT traversal is enabled, the initiator does not check the UDP ports during IKE negotiations and can automatically discover NAT gateway devices along the IPsec-VPN tunnel.'."\n" .'* **false**: disables NAT traversal.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], 'TunnelBgpConfig' => [ 'description' => 'Add BGP configurations for the tunnel.'."\n" ."\n" .'> If you enable BGP for an IPsec-VPN connection, you must set **EnableTunnelsBgp** parameter to **true**.'."\n", 'type' => 'object', 'properties' => [ 'LocalAsn' => ['description' => 'The autonomous system number (ASN) of the tunnel on the Alibaba Cloud side. Valid values: **1** to **4294967295**. Default value: **45104**.'."\n" ."\n" .'> We recommend that you use a private ASN to establish BGP connections to Alibaba Cloud. Refer to the relevant documentation for the private ASN range.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '65530', 'title' => ''], 'LocalBgpIp' => ['description' => 'The BGP IP address of the tunnel on the Alibaba Cloud side. The address is an IP address that falls within the BGP CIDR block.'."\n", 'type' => 'string', 'required' => false, 'example' => '169.254.10.1', 'title' => ''], 'TunnelCidr' => ['description' => 'The BGP CIDR block of the tunnel. The CIDR block must fall within 169.254.0.0/16 and the mask of the CIDR block must be 30 bits in length. The CIDR block cannot be 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, or 169.254.169.252/30.'."\n" ."\n" .'> The two tunnels of an IPsec connection must use different CIDR blocks.'."\n", 'type' => 'string', 'required' => false, 'example' => '169.254.10.0/30', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'TunnelIkeConfig' => [ 'description' => 'The configuration of Phase 1 negotiations.'."\n", 'type' => 'object', 'properties' => [ 'IkeAuthAlg' => ['description' => 'The authentication algorithm that is used in Phase 1 negotiations. Valid values: **md5**, **sha1**, **sha256**, **sha384**, and **sha512**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sha1', 'title' => ''], 'IkeEncAlg' => ['description' => 'The encryption algorithm that is used in Phase 1 negotiations. Valid values: **aes**, **aes192**, **aes256**, **des**, and **3des**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'aes', 'title' => ''], 'IkeLifetime' => ['description' => 'The SA lifetime as a result of Phase 1 negotiations. Unit: seconds.'."\n" ."\n" .'Valid values: **0** to **86400**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '86400', 'title' => ''], 'IkeMode' => ['description' => 'The negotiation mode of IKE. Valid values: **main** and **aggressive**.'."\n" ."\n" .'* **main:** This mode offers higher security during negotiations.'."\n" .'* **aggressive**: This mode is faster with a higher success rate.'."\n", 'type' => 'string', 'required' => false, 'example' => 'main', 'title' => ''], 'IkePfs' => ['description' => 'The Diffie-Hellman key exchange algorithm that is used in Phase 1 negotiations. Valid values: **group1**, **group2**, **group5**, and **group14**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'group2', 'title' => ''], 'IkeVersion' => ['description' => 'The version of the IKE protocol. Valid values: **ikev1** and **ikev2**.'."\n" ."\n" .'Compared with IKEv1, IKEv2 simplifies the SA negotiation process and provides better support for scenarios with multiple CIDR blocks.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ikev2', 'title' => ''], 'LocalId' => ['description' => 'The identifier of the tunnel on the Alibaba Cloud side, which is used in Phase 1 negotiations. The identifier cannot exceed 100 characters in length and cannot contain spaces.'."\n" ."\n" .'**LocalId** supports fully qualified domain names (FQDNs). If you use an FQDN, we recommend that you set the negotiation mode to **aggressive**.'."\n", 'type' => 'string', 'required' => false, 'example' => '47.XX.XX.1', 'title' => ''], 'Psk' => ['description' => 'The pre-shared key that is used for identity authentication between the tunnel and the tunnel peer.'."\n" ."\n" .'* The key must be 1 to 100 characters in length, and can contain digits, and letters. The key cannot contain spaces. ``~!\\`@#$%^&*()_-+={}[]|;:\',.<>/?``'."\n" .'* If you do not specify a pre-shared key, the system randomly generates a 16-bit string as the pre-shared key. You can call the [DescribeVpnAttachments](~~2526939~~) operation to query the pre-shared key that is automatically generated by the system.'."\n" ."\n" .'> The tunnel and the tunnel peer must use the same pre-shared key. Otherwise, the tunnel cannot be established.'."\n", 'type' => 'string', 'required' => false, 'example' => '123456****', 'title' => ''], 'RemoteId' => ['description' => 'The identifier of the tunnel peer, which is used in Phase 1 negotiations. The identifier cannot exceed 100 characters in length and cannot contain spaces.'."\n" ."\n" .'**RemoteId** supports FQDNs. If you use an FQDN, we recommend that you set the negotiation mode to **aggressive**.'."\n", 'type' => 'string', 'required' => false, 'example' => '47.XX.XX.2', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'TunnelIpsecConfig' => [ 'description' => 'The configuration of Phase 2 negotiations.'."\n", 'type' => 'object', 'properties' => [ 'IpsecAuthAlg' => ['description' => 'The authentication algorithm that is used in Phase 2 negotiations.'."\n" ."\n" .'Valid values: **md5**, **sha1**, **sha256**, **sha384**, and **sha512**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sha1', 'title' => ''], 'IpsecEncAlg' => ['description' => 'The encryption algorithm that is used in Phase 2 negotiations. Valid values: **aes**, **aes192**, **aes256**, **des**, and **3des**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'aes', 'title' => ''], 'IpsecLifetime' => ['description' => 'The SA lifetime as a result of Phase 2 negotiations. Unit: seconds.'."\n" ."\n" .'Valid values: **0** to **86400**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '86400', 'title' => ''], 'IpsecPfs' => ['description' => 'The Diffie-Hellman key exchange algorithm that is used in Phase 2 negotiations.'."\n" ."\n" .'Valid values: **disabled**, **group1**, **group2**, **group5**, and **group14**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'group2', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'title' => '', 'example' => '', ], ], [ 'name' => 'EnableTunnelsBgp', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'You can specify this parameter if you modify the configuration of a dual-tunnel IPsec-VPN connection.'."\n" ."\n" .'Specifies whether to enable the BGP feature for the tunnel. Valid values: **true** and **false**.'."\n" ."\n" .'> Before you add BGP configurations, we recommend that you learn about how BGP works and the limits. For more information, see [Configure BGP dynamic routing](~~445767~~).'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'PlainResponse4OpenApi', 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'VpnConnectionId' => ['description' => 'The ID of the IPsec-VPN connection.'."\n", 'type' => 'string', 'example' => 'vco-p0w5112fgnl2ihlmf****', 'title' => ''], 'CustomerGatewayId' => ['description' => 'The ID of the customer gateway associated with the IPsec-VPN connection.'."\n" ."\n" .'This parameter is returned only for single-tunnel IPsec-VPN connections.'."\n", 'type' => 'string', 'example' => 'cgw-p0w2jemrcj5u61un8****', 'title' => ''], 'VpnGatewayId' => ['description' => 'The ID of the VPN gateway that is associated with the IPsec-VPN connection.'."\n" ."\n" .'**vpn-not-exist**: The IPsec-VPN connection is not associated with a VPN Gateway.'."\n", 'type' => 'string', 'example' => 'vpn-not-exist', 'title' => ''], 'Name' => ['description' => 'The name of the IPsec-VPN connection.'."\n", 'type' => 'string', 'example' => 'nametest', 'title' => ''], 'Description' => ['description' => 'The description of the IPsec-VPN connection.'."\n", 'type' => 'string', 'example' => 'desctest', 'title' => ''], 'LocalSubnet' => ['description' => 'The CIDR block on the Alibaba Cloud side that communicates with the on-premises data center is required, such as CIDR blocks of VPCs.'."\n", 'type' => 'string', 'example' => '10.1.1.0/24,10.1.2.0/24', 'title' => ''], 'RemoteSubnet' => ['description' => 'The CIDR block of the on-premises data center that communicates with Alibaba Cloud is required.'."\n", 'type' => 'string', 'example' => '10.1.3.0/24,10.1.4.0/24', 'title' => ''], 'IkeConfig' => [ 'description' => 'The configuration of Phase 1 negotiations.'."\n" ."\n" .'**IkeConfig** parameters are returned only for single-tunnel IPsec-VPN connections.'."\n", 'type' => 'object', 'properties' => [ 'Psk' => ['description' => 'Enter a pre-shared key that is used for identity authentication between Alibaba Cloud and the data center.'."\n" ."\n" .'> The pre-shared key of the IPsec-VPN connection must be the same as the authentication key of the on-premises data center. Otherwise, connections between the on-premises data center and Alibaba Cloud cannot be established.', 'type' => 'string', 'example' => '1234***', 'title' => ''], 'IkeVersion' => ['description' => 'The version of the IKE protocol.'."\n" ."\n" .'* **ikev1**'."\n" .'* **ikev2**'."\n" ."\n" .'Compared with IKEv1, IKEv2 simplifies the SA negotiation process and provides better support for scenarios with multiple CIDR blocks.'."\n", 'type' => 'string', 'example' => 'ikev1', 'title' => ''], 'IkeMode' => ['description' => 'The IKE negotiation mode.'."\n" ."\n" .'* **main:** This mode offers higher security during negotiations.'."\n" .'* **aggressive**: This mode is faster with a higher success rate.'."\n", 'type' => 'string', 'example' => 'main', 'title' => ''], 'IkeEncAlg' => ['description' => 'The encryption algorithm that is used in Phase 1 negotiations.'."\n", 'type' => 'string', 'example' => 'aes', 'title' => ''], 'IkeAuthAlg' => ['description' => 'The authentication algorithm that is used in Phase 1 negotiations.'."\n", 'type' => 'string', 'example' => 'sha1', 'title' => ''], 'IkePfs' => ['description' => 'The DH key exchange algorithm that is used in Phase 1 negotiations.'."\n", 'type' => 'string', 'example' => 'group2', 'title' => ''], 'IkeLifetime' => ['description' => 'The SA lifetime that is determined by Phase 1 negotiations. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], 'LocalId' => ['description' => 'The identifier of the IPsec-VPN connection on the Alibaba Cloud side.'."\n", 'type' => 'string', 'example' => '47.XX.XX.1', 'title' => ''], 'RemoteId' => ['description' => 'The identifier of the IPsec-VPN connection on the data center side.'."\n", 'type' => 'string', 'example' => '47.XX.XX.2', 'title' => ''], ], 'title' => '', 'example' => '', ], 'IpsecConfig' => [ 'description' => 'The configuration of Phase 2 negotiations.'."\n" ."\n" .'**IpsecConfig** parameters are returned only for single-tunnel IPsec-VPN connections.'."\n", 'type' => 'object', 'properties' => [ 'IpsecEncAlg' => ['description' => 'The encryption algorithm that is used in Phase 2 negotiations.'."\n", 'type' => 'string', 'example' => 'aes', 'title' => ''], 'IpsecAuthAlg' => ['description' => 'The authentication algorithm that is used in Phase 2 negotiations.'."\n", 'type' => 'string', 'example' => 'md5', 'title' => ''], 'IpsecPfs' => ['description' => 'The DH key exchange algorithm that is used in Phase 2 negotiations.'."\n", 'type' => 'string', 'example' => 'group2', 'title' => ''], 'IpsecLifetime' => ['description' => 'The SA lifetime that is determined by Phase 2 negotiations. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], ], 'title' => '', 'example' => '', ], 'CreateTime' => ['description' => 'The timestamp generated when the IPsec-VPN connection was established. Unit: milliseconds.'."\n" ."\n" .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1658201810000', 'title' => ''], 'EffectImmediately' => ['description' => 'Indicates whether IPsec negotiations immediately start after the configuration takes effect. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'Status' => ['description' => 'The state of the IPsec-VPN connection. Valid values:'."\n" ."\n" .'* **ike_sa_not_established**: Phase 1 negotiations failed.'."\n" .'* **ike_sa_established**: Phase 1 negotiations succeeded.'."\n" .'* **ipsec_sa_not_established**: Phase 2 negotiations failed.'."\n" .'* **ipsec_sa_established**: Phase 2 negotiations succeeded.'."\n", 'type' => 'string', 'example' => 'ike_sa_not_established', 'title' => ''], 'VcoHealthCheck' => [ 'description' => 'The health check configurations of the IPsec-VPN connection.'."\n" ."\n" .'**VcoHealthCheck** parameters are returned only for single-tunnel IPsec-VPC connections.'."\n", 'type' => 'object', 'properties' => [ 'Enable' => ['description' => 'Indicates whether the health check feature is enabled for the IPsec-VPN connection. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], 'Sip' => ['description' => 'The source IP address that is used for health checks.'."\n", 'type' => 'string', 'example' => '10.1.1.1', 'title' => ''], 'Dip' => ['description' => 'The destination IP address that is used for health checks.'."\n", 'type' => 'string', 'example' => '192.168.1.1', 'title' => ''], 'Interval' => ['description' => 'The interval between two consecutive health check retries. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], 'Retry' => ['description' => 'The maximum number of health check retries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], 'Policy' => ['description' => 'Indicates whether advertised routes are withdrawn when the health check fails. Valid values:'."\n" ."\n" .'* **revoke_route**: Advertised routes are withdrawn.'."\n" .'* **reserve_route**: Advertised routes are not withdrawn.'."\n", 'type' => 'string', 'example' => 'revoke_route', 'title' => ''], ], 'title' => '', 'example' => '', ], 'EnableDpd' => ['description' => 'Indicates whether the DPD feature is enabled for the IPsec-VPN connection.'."\n" ."\n" .'* **true**: The feature is enabled.'."\n" .'* **false**: The feature is disabled.'."\n" ."\n" .'This parameter is returned only for single-tunnel IPsec-VPN connections.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'EnableNatTraversal' => ['description' => 'Specifies whether to enable NAT traversal for the IPsec-VPN connection.'."\n" ."\n" .'* **true**: The feature is enabled.'."\n" .'* **false**: The feature is disabled.'."\n" ."\n" .'This parameter is returned only for single-tunnel IPsec-VPN connections.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'VpnBgpConfig' => [ 'description' => 'The BGP configurations of the IPsec-VPN connection.'."\n" ."\n" .'**VpnBgpConfig** parameters are returned only for single-tunnel IPsec-VPN connections.'."\n", 'type' => 'object', 'properties' => [ 'EnableBgp' => ['description' => 'Indicates whether BGP is enabled for the IPsec-VPN connection. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], 'TunnelCidr' => ['description' => 'The CIDR block of the IPsec tunnel.'."\n", 'type' => 'string', 'example' => '169.254.11.0/30', 'title' => ''], 'LocalBgpIp' => ['description' => 'The BGP IP address on the Alibaba Cloud side.'."\n", 'type' => 'string', 'example' => '169.254.11.1', 'title' => ''], 'PeerBgpIp' => ['description' => 'The BGP IP address on the data center side.'."\n", 'type' => 'string', 'example' => '169.254.11.2', 'title' => ''], 'LocalAsn' => ['description' => 'The ASN on the Alibaba Cloud side.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '45104', 'title' => ''], 'PeerAsn' => ['description' => 'The ASN on the data center side.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '65535', 'title' => ''], 'Status' => ['description' => 'The negotiation state of BGP. Valid values:'."\n" ."\n" .'* **success**: normal'."\n" .'* **false**: abnormal'."\n", 'type' => 'string', 'example' => 'false', 'title' => ''], ], 'title' => '', 'example' => '', ], 'AttachType' => ['description' => 'The type of the resource that is associated with the IPsec-VPN connection. Valid values:'."\n" ."\n" .'* **CEN**: The IPsec-VPN connection is associated with a transit router.'."\n" .'* **VPNGW**: The IPsec-VPN connection is associated with a VPN gateway.'."\n" .'* **NO_ASSOCIATED**: The IPsec-VPN connection is not associated with any resource.'."\n", 'type' => 'string', 'example' => 'CEN', 'title' => ''], 'NetworkType' => ['description' => 'The network type of the IPsec-VPN connection. Valid values:'."\n" ."\n" .'* **public**: an encrypted connection over the Internet'."\n" .'* **private**: an encrypted connection over private networks'."\n", 'type' => 'string', 'example' => 'public', 'title' => ''], 'AttachInstanceId' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance to which the transit router associated with the IPsec-VPN connection belongs.'."\n", 'type' => 'string', 'example' => 'cen-c2r3m3zxkumoqz****', 'title' => ''], 'Spec' => ['description' => 'The bandwidth specification of the IPsec-VPN connection.'."\n" ."\n" .'A value of **M** in the response indicates **Mbit/s**.'."\n", 'type' => 'string', 'example' => '1000M', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the IPsec-VPN connection belongs.'."\n" ."\n" .'You can call the [ListResourceGroups](~~158855~~) operation to query resource groups.'."\n", 'type' => 'string', 'example' => 'rg-acfmzs372yg****', 'title' => ''], 'TunnelOptionsSpecification' => [ 'description' => 'The tunnel configurations of the IPsec-VPN connection.'."\n" ."\n" .'**TunnelOptionsSpecification** parameters are returned only for dual-tunnel IPsec-VPN connections.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The tunnel configurations.'."\n", 'type' => 'object', 'properties' => [ 'CustomerGatewayId' => ['description' => 'The ID of the customer gateway that is associated with the tunnel.'."\n", 'type' => 'string', 'example' => 'cgw-p0w2jemrcj5u61un8****', 'title' => ''], 'EnableDpd' => ['description' => 'Whether the DPD feature is enabled for the tunnel.'."\n" ."\n" .'* **true**: The feature is enabled.'."\n" .'* **false**: The feature is disabled.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'EnableNatTraversal' => ['description' => 'Indicates whether traversal feature is enabled for the tunnel. Valid values:'."\n" ."\n" .'* **true**: The feature is enabled.'."\n" .'* **false**: The feature is disabled.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'InternetIp' => ['description' => 'The IP address on the Alibaba Cloud side.'."\n", 'type' => 'string', 'example' => '47.XX.XX.66', 'title' => ''], 'Role' => ['description' => 'The tunnel role. Valid values:'."\n" ."\n" .'* **master**: The tunnel is an active tunnel.'."\n" .'* **slave**: The tunnel is a standby tunnel.'."\n", 'type' => 'string', 'example' => 'master', 'title' => ''], 'TunnelId' => ['description' => 'The tunnel ID.'."\n", 'type' => 'string', 'example' => 'tun-0jod7plwf2a0o9lvu****', 'title' => ''], 'TunnelIndex' => ['description' => 'The order in which the tunnel was created.'."\n" ."\n" .'* **1**: Tunnel 1.'."\n" .'* **2**: Tunnel 2.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'State' => ['description' => 'The status of the tunnel. Valid values:'."\n" ."\n" .'* **active**: The tunnel is active.'."\n" .'* **updating**: The tunnel is being updated.'."\n" .'* **deleting:** The tunnel is being deleted.'."\n", 'type' => 'string', 'example' => 'active', 'title' => ''], 'TunnelBgpConfig' => [ 'description' => 'BGP configuration.'."\n", 'type' => 'object', 'properties' => [ 'LocalAsn' => ['description' => 'The ASN on the Alibaba Cloud side.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '65530', 'title' => ''], 'LocalBgpIp' => ['description' => 'The BGP IP address of the tunnel on the Alibaba Cloud side.'."\n", 'type' => 'string', 'example' => '169.254.10.1', 'title' => ''], 'PeerAsn' => ['description' => 'The ASN of the tunnel peer.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '65531', 'title' => ''], 'PeerBgpIp' => ['description' => 'The BGP IP address of the tunnel peer.'."\n", 'type' => 'string', 'example' => '169.254.10.2', 'title' => ''], 'TunnelCidr' => ['description' => 'The BGP CIDR block of the tunnel.'."\n", 'type' => 'string', 'example' => '169.254.10.0/30', 'title' => ''], ], 'title' => '', 'example' => '', ], 'TunnelIkeConfig' => [ 'description' => 'The configurations of Phase 1 negotiations.'."\n", 'type' => 'object', 'properties' => [ 'IkeAuthAlg' => ['description' => 'The authentication algorithm in the IKE phase.'."\n", 'type' => 'string', 'example' => 'sha1', 'title' => ''], 'IkeEncAlg' => ['description' => 'The encryption algorithm in the IKE phase.'."\n", 'type' => 'string', 'example' => 'aes', 'title' => ''], 'IkeLifetime' => ['description' => 'The lifetime in the IKE phase. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], 'IkeMode' => ['description' => 'The negotiation mode of IKE. Valid values:'."\n" ."\n" .'* **main:** This mode offers higher security during negotiations.'."\n" .'* **aggressive**: This mode is faster with a higher success rate.'."\n", 'type' => 'string', 'example' => 'main', 'title' => ''], 'IkePfs' => ['description' => 'The Diffie-Hellman (DH) group in the IKE phase.'."\n", 'type' => 'string', 'example' => 'group2', 'title' => ''], 'IkeVersion' => ['description' => 'The version of the IKE protocol.'."\n", 'type' => 'string', 'example' => 'ikev2', 'title' => ''], 'LocalId' => ['description' => 'The identifier of the tunnel on the Alibaba Cloud side.'."\n", 'type' => 'string', 'example' => '47.XX.XX.1', 'title' => ''], 'Psk' => ['description' => 'The pre-shared key.'."\n", 'type' => 'string', 'example' => '123456****', 'title' => ''], 'RemoteId' => ['description' => 'The peer identifier.'."\n", 'type' => 'string', 'example' => '47.XX.XX.2', 'title' => ''], ], 'title' => '', 'example' => '', ], 'TunnelIpsecConfig' => [ 'description' => 'The configurations of Phase 2 negotiations.'."\n", 'type' => 'object', 'properties' => [ 'IpsecAuthAlg' => ['description' => 'The authentication algorithm in the IPsec phase.'."\n", 'type' => 'string', 'example' => 'sha1', 'title' => ''], 'IpsecEncAlg' => ['description' => 'The encryption algorithm in the IPsec phase.'."\n", 'type' => 'string', 'example' => 'aes', 'title' => ''], 'IpsecLifetime' => ['description' => 'The lifetime in the IPsec phase. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], 'IpsecPfs' => ['description' => 'The DH group in the IPsec phase.'."\n", 'type' => 'string', 'example' => 'group2', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'EnableTunnelsBgp' => ['description' => 'Specifies whether to enable Border Gateway Protocol (BGP) for tunnels.'."\n" ."\n" .'* **true**: The feature is enabled.'."\n" .'* **false**: The feature is disabled.'."\n" ."\n" .'This parameter is returned only by dual-tunnel IPsec-VPN connections.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '35822A84-867F-3936-A2E6-A4C4E3ED11C0', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'VpnConnection.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => 'The service is being configured. Try again later.'], ['errorCode' => 'VpnConnection.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => 'The error message returned because the service is locked due to overdue payments.'], ['errorCode' => 'InvalidName', 'errorMessage' => 'The name is not valid', 'description' => ''], ['errorCode' => 'VpnRouteEntry.AlreadyExists', 'errorMessage' => 'The specified route entry is already exist.', 'description' => 'The route already exists.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified route entry has conflict.', 'description' => 'Route conflicts exist.'], ['errorCode' => 'NotSupportVpnConnectionParameter.IpsecPfs', 'errorMessage' => 'The specified vpn connection ipsec Ipsec Pfs is not support.', 'description' => 'The PFS parameter set for the IPsec-VPN connection is not supported.'], ['errorCode' => 'NotSupportVpnConnectionParameter.IpsecAuthAlg', 'errorMessage' => 'The specified vpn connection ipsec Auth Alg is not support.', 'description' => 'The authentication algorithm specified for the IPsec-VPN connection is not supported.'], ['errorCode' => 'VpnRouteEntry.BackupRoute', 'errorMessage' => 'Validate backup route entry failed.', 'description' => 'Active/standby routes failed authentication.'], ['errorCode' => 'VpnRouteEntry.InvalidWeight', 'errorMessage' => 'Invalid route entry weight value.', 'description' => 'The weight specified for the route is invalid.'], ['errorCode' => 'MissingParameter.TunnelCidr', 'errorMessage' => 'The parameter TunnelCidr is mandatory when BGP is enabled.', 'description' => 'You must specify the tunnel CIDR block when you enable BGP.'], ['errorCode' => 'OperationUnsupported.EnableBgp', 'errorMessage' => 'Current region does not support enable BGP.', 'description' => 'The error message returned because the current region does not support BGP.'], ['errorCode' => 'MissingParam.CustomerGatewayAsn', 'errorMessage' => 'Asn of customer gateway is mandatory when BGP is enabled.', 'description' => 'The ASN of the customer gateway cannot be empty when you enable BGP.'], ['errorCode' => 'IllegalParam.LocalAsn', 'errorMessage' => 'The specified LocalAsn is invalid.', 'description' => 'The local ASN is invalid.'], ['errorCode' => 'IllegalParam.BgpConfig', 'errorMessage' => 'The specified BgpConfig is invalid.', 'description' => 'The BGP configuration is invalid.'], ['errorCode' => 'IllegalParam.EnableBgp', 'errorMessage' => 'VPN connection must enable BGP when VPN gateway has enabled BGP.', 'description' => 'The error message returned because the VPN connection must use BGP if BGP is enabled for the VPN gateway.'], ['errorCode' => 'IllegalParam.TunnelCidr', 'errorMessage' => 'The specified TunnelCidr is invalid.', 'description' => 'The TunnelCidr parameter is set to an invalid value.'], ['errorCode' => 'InvalidLocalBgpIp.Malformed', 'errorMessage' => 'The specified LocalBgpIp is malformed.', 'description' => 'The local BGP IP address is in an abnormal state.'], ['errorCode' => 'IllegalParam.LocalBgpIp', 'errorMessage' => 'The specified LocalBgpIp is invalid.', 'description' => 'The local BGP IP address is invalid.'], ['errorCode' => 'IllegalParam.LocalSubnet', 'errorMessage' => 'The specified "LocalSubnet" (%s) is invalid.', 'description' => 'The specified "LocalSubnet" (%s) is invalid.'], ['errorCode' => 'IllegalParam.RemoteSubnet', 'errorMessage' => 'The specified "RemoteSubnet" (%s) is invalid.', 'description' => 'The specified "RemoteSubnet" (%s) is invalid.'], ['errorCode' => 'CustomerGateway.ConflictRouteEntry', 'errorMessage' => 'The specified customer gateway has conflict with route entry.', 'description' => 'The customer gateway conflicts with the current routes.'], ['errorCode' => 'IllegalParam.NetworkType', 'errorMessage' => 'The specified NetworkType (%s) is invalid.', 'description' => 'The network type is invalid.'], ['errorCode' => 'InvalidTunnelCidr.Malformed', 'errorMessage' => 'The specified TunnelCidr is malformed.', 'description' => 'The specified tunnel CIDR block is invalid.'], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'VpnTask.CONFLICT', 'errorMessage' => 'Vpn task has conflict.', 'description' => 'The VPN operation conflicts. Try again later.'], ['errorCode' => 'ModifyIkeV1WithMultiRoutes.Invalid', 'errorMessage' => 'Failed to modify VPN connection parameters. Multi-network is configured while using IkeV1 protocol.', 'description' => '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.', 'description' => 'The specified VPN gateway does not exist. Check whether the specified VPN gateway is valid.'], ['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.', 'description' => 'The resources you are operating have reached the upper limit of the quota. Please refer to the VPN operation document to increase the quota or use other schemes to avoid it.'], ['errorCode' => 'CreateDbrRoutesQuotaFull.QuotaFull', 'errorMessage' => 'The number of created destination routes exceeds the quota limit.', 'description' => 'The number of created destination routes exceeds the quota limit.'], ['errorCode' => 'CreatePbrRoutesQuotaFull.QuotaFull', 'errorMessage' => 'The number of policy routes exceeds the quota limit.', 'description' => 'The number of policy routes exceeds the quota limit.'], ['errorCode' => 'EncAlgInvalid.DesIncompatible', 'errorMessage' => 'Des/3des in IkeEncAlg and IpsecEncAlg does not support multi algorithm.', 'description' => 'Des/3des in IkeEncAlg and IpsecEncAlg does not support multi algorithm.'], ['errorCode' => 'IkeVersionInvalid.GcmIncompatible', 'errorMessage' => 'Ikev1 does not support IkeEncAlg of gcm16.', 'description' => 'Ikev1 does not support IkeEncAlg of gcm16.'], ['errorCode' => 'CustomerGateway.ConflictVpnIp', 'errorMessage' => 'The specified customer gateway has conflict with vpn gateway ip.', 'description' => '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.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', 'errorMessage' => 'The specified vpn connection instance id does not exist.', 'description' => 'The specified vpn connection instance id does not exist.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnConnection', 'callbackInterval' => 1000, 'maxCallbackTimes' => 30], 'title' => 'ModifyVpnAttachmentAttribute', 'description' => '* When you modify a IPsec-VPN connection in dual-tunnel mode, you can configure the following parameters in addition to the required request parameters: **ClientToken**, **Name**, **LocalSubnet**, **RemoteSubnet**, **EffectImmediately**, **AutoConfigRoute**, **TunnelOptionsSpecification** array, and **EnableTunnelsBgp**.'."\n" ."\n" .'* When you modify a IPsec-VPN connection in single tunnel mode, you can configure the following parameters in addition to the required request parameters: **ClientToken**, **Name**, **LocalSubnet**, **RemoteSubnet**, **EffectImmediately**, **IkeConfig**, **IpsecConfig**, **HealthCheckConfig**, **AutoConfigRoute**, **EnableDpd**, **EnableNatTraversal**, **BgpConfig**, and **CustomerGatewayId**.'."\n" ."\n" .'* **ModifyVpnAttachmentAttribute** 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 [DescribeVpnConnection](~~53046~~) operation to query the status of the task:'."\n" ."\n" .' * If the IPsec-VPN connection is in the **updating** state, the IPsec-VPN connection is being modified.'."\n" .' * If the IPsec-VPN connection is in the **attached** state, the IPsec-VPN connection is modified.'."\n" ."\n" .'* You cannot concurrently call **ModifyVpnAttachmentAttribute** within the specified period of time.'."\n" ."\n" .'* You cannot call **ModifyVpnAttachmentAttribute** to modify the gateway type of an IPsec-VPN connection.'."\n", 'changeSet' => [ ['createdAt' => '2024-11-28T10:47:51.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-11-26T05:48:53.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-11-25T02:24:17.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-10-24T11:19:59.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'], ['createdAt' => '2024-01-04T07:17:11.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-10-19T08:26:51.000Z', 'description' => 'Response parameters changed, Response parameters changed'], ['createdAt' => '2022-12-08T12:27:57.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2022-12-08T09:38:28.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-05T09:52:16.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'ModifyVpnConnectionAttribute' => [ 'summary' => 'Modifies the configuration of an IPsec-VPN connection.', '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' => 'The ID of the region in which the IPsec-VPN connection is created.'."\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', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the value of **RequestId** as the value of **ClientToken**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], [ 'name' => 'VpnConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPsec-VPN connection.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vco-bp1bbi27hojx80nck****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the IPsec-VPN connection.'."\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' => 'nametest', 'title' => ''], ], [ 'name' => 'LocalSubnet', 'in' => 'query', 'schema' => ['description' => 'The CIDR block used to connect the virtual private cloud (VPC) to the data center. The CIDR block is used in Phase 2 negotiations.'."\n" ."\n" .'Separate multiple CIDR blocks with commas (,). Example: 192.168.1.0/24,192.168.2.0/24.'."\n" ."\n" .'The following routing modes are supported:'."\n" ."\n" .'* If you set **LocalSubnet** and **RemoteSubnet** to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.'."\n" .'* If you set **LocalSubnet** and **RemoteSubnet** to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.1.1.0/24,10.1.2.0/24', 'title' => ''], ], [ 'name' => 'RemoteSubnet', 'in' => 'query', 'schema' => ['description' => 'The CIDR block on the data center side. This CIDR block is used in Phase 2 negotiations.'."\n" ."\n" .'Separate multiple CIDR blocks with commas (,). Example: 192.168.3.0/24,192.168.4.0/24.'."\n" ."\n" .'The following routing modes are supported:'."\n" ."\n" .'* If you set **LocalSubnet** and **RemoteSubnet** to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.'."\n" .'* If you set **LocalSubnet** and **RemoteSubnet** to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.2.1.0/24,10.2.2.0/24', 'title' => ''], ], [ 'name' => 'EffectImmediately', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to immediately start IPsec negotiations after the configuration takes effect. Valid values:'."\n" ."\n" .'* **true**: immediately starts IPsec negotiations after the configuration takes effect.'."\n" .'* **false**: IPsec negotiations start when inbound traffic is detected.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'IkeConfig', 'in' => 'query', 'schema' => ['description' => 'This parameter is supported if you modify the configurations of an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'The configurations of Phase 1 negotiations:'."\n" ."\n" .'* **IkeConfig.Psk**: The pre-shared key that is used for identity authentication between the VPN gateway and the on-premises data center.'."\n" ."\n" .' * The key cannot contain space characters. The key must be 1 to 100 characters in length, and can contain digits, letters, and the following special characters: ``~!`@#$%^&*()_-+={}[]|;:\',.<>/?``'."\n" .' * If you do not specify a pre-shared key, the system randomly generates a 16-bit string as the pre-shared key. You can call the [DescribeVpnConnection](~~2526951~~) operation to query the pre-shared key that is automatically generated by the system.'."\n" ."\n" .' > The pre-shared key of the IPsec-VPN connection must be the same as the authentication key of the on-premises data center. Otherwise, connections between the on-premises data center and the VPN gateway cannot be established.'."\n" ."\n" .'* **IkeConfig.IkeVersion**: the version of the Internet Key Exchange (IKE) protocol. Valid values: **ikev1** and **ikev2**.'."\n" ."\n" .' Compared with IKEv1, IKEv2 simplifies the security association (SA) negotiation process and provides better support for scenarios with multiple CIDR blocks.'."\n" ."\n" .'* **IkeConfig.IkeMode**: the negotiation mode of IKE. Valid values: **main** and **aggressive**.'."\n" ."\n" .' * **main:** This mode offers higher security during negotiations.'."\n" .' * **aggressive:** This mode supports faster negotiations and a higher success rate.'."\n" ."\n" .'* **IkeConfig.IkeEncAlg**: the encryption algorithm that is used in Phase 1 negotiations.'."\n" ."\n" .' Valid values: **aes**, **aes192**, **aes256**, **des**, and **3des**.'."\n" ."\n" .'* **IkeConfig.IkeAuthAlg**: the authentication algorithm that is used in Phase 1 negotiations.'."\n" ."\n" .' Valid values: **md5**, **sha1**, **sha256**, **sha384**, and **sha512**.'."\n" ."\n" .'* **IkeConfig.IkePfs**: the Diffie-Hellman key exchange algorithm that is used in Phase 1 negotiations. Valid values: **group1**, **group2**, **group5**, and **group14**.'."\n" ."\n" .'* **IkeConfig.IkeLifetime**: the SA lifetime as a result of Phase 1 negotiations. Unit: seconds Valid values: **0 to 86400**.'."\n" ."\n" .'* **IkeConfig.LocalId**: the identifier of the VPN gateway. The identifier cannot exceed 100 characters in length and cannot contain space characters. The default value is the IP address of the VPN gateway.'."\n" ."\n" .'* **IkeConfig.RemoteId**: the identifier of the customer gateway. The identifier cannot exceed 100 characters in length and cannot contain space characters. The default value is the IP address of the customer gateway.', '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"}', 'title' => ''], ], [ 'name' => 'IpsecConfig', 'in' => 'query', 'schema' => ['description' => 'You can specify this parameter if you modify the configuration of a single-tunnel IPsec-VPN connection.'."\n" ."\n" .'The configuration of Phase 2 negotiations:'."\n" ."\n" .'* **IpsecConfig.IpsecEncAlg**: the encryption algorithm that is used in Phase 2 negotiations.'."\n" ."\n" .' Valid values: **aes**, **aes192**, **aes256**, **des**, and **3des**.'."\n" ."\n" .'* **IpsecConfig. IpsecAuthAlg**: the authentication algorithm that is used in Phase 2 negotiations.'."\n" ."\n" .' Valid values: **md5**, **sha1**, **sha256**, **sha384**, and **sha512**.'."\n" ."\n" .'* **IpsecConfig. IpsecPfs**: the DH key exchange algorithm that is used in Phase 1 negotiations. If you specify this parameter, packets of all protocols are forwarded. Valid values: **disabled**, **group1**, **group2**, **group5**, and **group14**.'."\n" ."\n" .'* **IpsecConfig. IpsecLifetime:** the SA lifetime that is determined by Phase 2 negotiations. Unit: seconds. Valid values: **0 to 86400**.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400}', 'title' => ''], ], [ 'name' => 'HealthCheckConfig', 'in' => 'query', 'schema' => ['description' => 'You can specify this parameter if you modify the configuration of a single-tunnel IPsec-VPN connection.'."\n" ."\n" .'The health check configuration:'."\n" ."\n" .'* **HealthCheckConfig.enable**: specifies whether to enable health checks. Valid values: **true** and **false**.'."\n" .'* **HealthCheckConfig.dip**: the destination IP address that is used for health checks.'."\n" .'* **HealthCheckConfig.sip**: the source IP address that is used for health checks.'."\n" .'* **HealthCheckConfig.interval**: the interval between two consecutive health checks. Unit: seconds.'."\n" .'* **HealthCheckConfig.retry**: the maximum number of health check retries.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"enable":"true","dip":"192.168.1.1","sip":"10.1.1.1","interval":"3","retry":"3"}', 'title' => ''], ], [ 'name' => 'AutoConfigRoute', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to automatically advertise routes. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'EnableDpd', 'in' => 'query', 'schema' => ['description' => 'You can specify this parameter if you modify the configuration of a single-tunnel IPsec-VPN connection.'."\n" ."\n" .'Specifies whether to enable the dead peer detection (DPD) feature. Valid values:'."\n" ."\n" .'* **true:**: enables the DPD feature. The initiator of the IPsec-VPN connection sends DPD packets to check the existence and availability of the peer. If no feedback is received from the peer within a specific period of time, the connection fails. Then, the ISAKMP SA, IPsec SA, and IPsec tunnel are deleted.'."\n" .'* **false**: disables the DPD feature. The initiator of the IPsec-VPN connection does not send DPD packets.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'EnableNatTraversal', 'in' => 'query', 'schema' => ['description' => 'You can specify this parameter if you modify the configuration of a single-tunnel IPsec-VPN connection.'."\n" ."\n" .'Specifies whether to enable NAT traversal. Valid values:'."\n" ."\n" .'* **true** After NAT traversal is enabled, the initiator does not check the UDP ports during IKE negotiations and can automatically discover NAT gateway devices along the IPsec tunnel.'."\n" .'* **false**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'BgpConfig', 'in' => 'query', 'schema' => ['description' => 'This parameter is supported if you modify the configurations of an IPsec-VPN connection in single-tunnel mode.'."\n" ."\n" .'BGP configuration:'."\n" ."\n" .'* **BgpConfig.EnableBgp**: specifies whether to enable BGP. Valid values: **true** and **false**.'."\n" ."\n" .'* **BgpConfig.LocalAsn:** the autonomous system number (ASN) on the Alibaba Cloud side. Valid values: **1** to **4294967295**.'."\n" ."\n" .' You can enter a value in two segments separated by a period (.). Each segment is 16 bits in length. Enter the number in each segment in decimal format.'."\n" ."\n" .' For example, if you enter 123.456, the ASN is 8061384. The ASN is calculated by using the following formula: 123 × 65536 + 456 = 8061384.'."\n" ."\n" .'* **BgpConfig.TunnelCidr**: The CIDR block of the IPsec tunnel. The CIDR block must fall within 169.254.0.0/16 and the mask of the CIDR block must be 30 bits in length. The CIDR block cannot be 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, or 169.254.169.252/30.'."\n" ."\n" .' > The CIDR block of the IPsec tunnel for each IPsec-VPN connection on a VPN gateway must be unique.'."\n" ."\n" .'* **LocalBgpIp**: the BGP address on the Alibaba Cloud side. It must be an IP address that falls within the CIDR block of the IPsec tunnel.'."\n" ."\n" .'> - This parameter is required when the VPN gateway has dynamic BGP enabled.'."\n" .'> - Before you add BGP configurations, we recommend that you learn about how BGP dynamic routing works and the limits. For more information, see [Configure BGP dynamic routing](~~2638220~~).'."\n" .'> - We recommend that you use a private ASN to establish BGP connections to Alibaba Cloud. For information about the range of private ASNs, see the relevant documentation.', 'type' => 'string', 'required' => false, 'example' => '{"EnableBgp":"true","LocalAsn":"65530","TunnelCidr":"169.254.11.0/30","LocalBgpIp":"169.254.11.1"}', 'title' => ''], ], [ 'name' => 'RemoteCaCertificate', 'in' => 'query', 'schema' => ['description' => 'You can specify this parameter if you modify the configuration of a single-tunnel IPsec-VPN connection.'."\n" ."\n" .'If the VPN gateway uses a ShangMi (SM) certificate, you can modify the CA certificate used by the IPsec peer.'."\n" ."\n" .'If the VPN gateway does not use an SM certificate, you cannot specify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', 'title' => ''], ], [ 'name' => 'TunnelOptionsSpecification', 'in' => 'formData', 'allowEmptyValue' => true, 'style' => 'flat', 'schema' => [ 'description' => 'The tunnel configurations.'."\n" ."\n" .'You can specify parameters in the **TunnelOptionsSpecification** array when you modify the configurations of an IPsec-VPN connection in dual-tunnel mode. You can modify the configurations of both the active and standby tunnels of the IPsec-VPN connection.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The tunnel configurations.'."\n", 'type' => 'object', 'properties' => [ 'TunnelId' => ['description' => 'The tunnel ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'tun-opsqc4d97wni27****', 'title' => ''], 'CustomerGatewayId' => ['description' => 'The ID of the customer gateway associated with the tunnel.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cgw-1nmwbpgrp7ssqm1yn****', 'title' => ''], 'Role' => ['description' => 'The tunnel role. Valid values:'."\n" ."\n" .'* **master**: The tunnel is an active tunnel.'."\n" .'* **slave**: The tunnel is a standby tunnel.'."\n", 'type' => 'string', 'required' => false, 'example' => 'master', 'title' => ''], 'EnableDpd' => ['description' => 'Specifies whether to enable the Dead Peer Detection (DPD) feature for the tunnel. Valid values:'."\n" ."\n" .'* **true**: enables DPD. The initiator of the IPsec-VPN connection sends DPD packets to check the existence and availability of the peer. If no feedback is received from the peer within the specified period of time, the connection fails. In this case, ISAKMP SA and IPsec SA are deleted. The security tunnel is also deleted.'."\n" .'* **false**: disables DPD. The initiator of the IPsec-VPN connection does not send DPD packets.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], 'EnableNatTraversal' => ['description' => 'Specifies whether to enable NAT traversal for the tunnel. Valid values:'."\n" ."\n" .'* **true**: enables NAT traversal. After NAT traversal is enabled, the initiator does not check the UDP ports during IKE negotiations and can automatically discover NAT gateway devices along the IPsec-VPN tunnel.'."\n" .'* **false**: disables NAT traversal.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], 'RemoteCaCertificate' => ['description' => 'If the VPN gateway uses an SM certificate, you can modify the CA certificate used by the IPsec peer.'."\n" ."\n" .'If the VPN gateway does not use an SM certificate, this parameter is not supported.'."\n", 'type' => 'string', 'required' => false, 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', 'title' => ''], 'TunnelBgpConfig' => [ 'description' => 'The Border Gateway Protocol (BGP) configurations of the tunnel.'."\n", 'type' => 'object', 'properties' => [ 'LocalAsn' => ['description' => 'The ASN of the tunnel on the Alibaba Cloud side. Valid values: **1** to **4294967295**. Default value: **45104**.'."\n" ."\n" .'> You can specify this parameter only if **EnableTunnelsBgp** is set to **true**.'."\n" ."\n" .'* Before you add BGP configurations, we recommend that you learn about how BGP dynamic routing works and the limits. For more information, see [Configure BGP dynamic routing](~~2638220~~).'."\n" ."\n" .'* We recommend that you use a private ASN to establish BGP connections to Alibaba Cloud. For information about the range of private ASNs, see the relevant documentation.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '65530', 'title' => ''], 'LocalBgpIp' => ['description' => 'The BGP IP address of the tunnel on the Alibaba Cloud side. The address is an IP address that falls within the BGP CIDR block.'."\n", 'type' => 'string', 'required' => false, 'example' => '169.254.10.1', 'title' => ''], 'TunnelCidr' => ['description' => 'The BGP CIDR block of the tunnel.'."\n" ."\n" .'The CIDR block must fall within 169.254.0.0/16 and the mask of the CIDR block must be 30 bits in length. The CIDR block cannot be 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, or 169.254.169.252/30.'."\n" ."\n" .'> The BGP CIDR block of each tunnel must be unique on a VPN gateway.'."\n", 'type' => 'string', 'required' => false, 'example' => '169.254.10.0/30', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'TunnelIkeConfig' => [ 'description' => 'The configurations of Phase 1 negotiations.'."\n", 'type' => 'object', 'properties' => [ 'IkeAuthAlg' => ['description' => 'The authentication algorithm that is used in Phase 1 negotiations.'."\n" ."\n" .'Valid values: **md5**, **sha1**, **sha256**, **sha384**, and **sha512**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'md5', 'title' => ''], 'IkeEncAlg' => ['description' => 'The encryption algorithm that is used in Phase 1 negotiations.'."\n" ."\n" .'Valid values: **aes**, **aes192**, **aes256**, **des**, and **3des**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'aes', 'title' => ''], 'IkeLifetime' => ['description' => 'The SA lifetime as a result of Phase 1 negotiations. Unit: seconds Valid values: **0** to **86400**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '86400', 'title' => ''], 'IkeMode' => ['description' => 'The negotiation mode of IKE. Valid values:'."\n" ."\n" .'* **main:** This mode offers higher security during negotiations.'."\n" .'* **aggressive:** This mode supports faster negotiations and a higher success rate.'."\n", 'type' => 'string', 'required' => false, 'example' => 'main', 'title' => ''], 'IkePfs' => ['description' => 'The Diffie-Hellman key exchange algorithm that is used in Phase 1 negotiations. Valid values: **group1**, **group2**, **group5**, and **group14**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'group2', 'title' => ''], 'IkeVersion' => ['description' => 'The version of the IKE protocol. Valid values: **ikev1** and **ikev2**.'."\n" ."\n" .'Compared with IKEv1, IKEv2 simplifies the SA negotiation process and provides better support for scenarios with multiple CIDR blocks.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ikev1', 'title' => ''], 'LocalId' => ['description' => 'The identifier on the Alibaba Cloud side, which is used in Phase 1 negotiations. The identifier cannot exceed 100 characters in length and cannot contain space characters. The default value is the IP address of the tunnel.'."\n" ."\n" .'**LocalId** supports fully qualified domain names (FQDNs). If you use an FQDN, we recommend that you set the negotiation mode to **aggressive**.'."\n", 'type' => 'string', 'required' => false, 'example' => '47.21.XX.XX', 'title' => ''], 'Psk' => ['description' => 'The pre-shared key, which is used for identity authentication between the tunnel and the tunnel peer.'."\n" ."\n" .'* The key cannot contain space characters. The key must be 1 to 100 characters in length, and can contain digits, letters, and the following special characters: ``~!\\`@#$%^&*()_-+={}[]|;:\',.<>/?``'."\n" .'* If you do not specify a pre-shared key, the system randomly generates a 16-bit string as the pre-shared key. You can call the [DescribeVpnConnection](~~2526951~~) operation to query the pre-shared key that is automatically generated by the system.'."\n" ."\n" .'> The tunnel and the tunnel peer must use the same pre-shared key. Otherwise, the tunnel cannot be built.'."\n", 'type' => 'string', 'required' => false, 'example' => '123456****', 'title' => ''], 'RemoteId' => ['description' => 'The identifier of the tunnel peer, which is used in Phase 1 negotiations. The identifier cannot exceed 100 characters in length and cannot contain space characters. The default value is the IP address of the customer gateway that is associated with the tunnel.'."\n" ."\n" .'**RemoteId** supports FQDNs. If you use an FQDN, we recommend that you set the negotiation mode to **aggressive**.'."\n", 'type' => 'string', 'required' => false, 'example' => '47.42.XX.XX', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'TunnelIpsecConfig' => [ 'description' => 'The configurations of Phase 2 negotiations.'."\n", 'type' => 'object', 'properties' => [ 'IpsecAuthAlg' => ['description' => 'The authentication algorithm that is used in Phase 2 negotiations.'."\n" ."\n" .'Valid values: **md5**, **sha1**, **sha256**, **sha384**, and **sha512**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'md5', 'title' => ''], 'IpsecEncAlg' => ['description' => 'The encryption algorithm that is used in Phase 2 negotiations.'."\n" ."\n" .'Valid values: **aes**, **aes192**, **aes256**, **des**, and **3des**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'aes', 'title' => ''], 'IpsecLifetime' => ['description' => 'The SA lifetime as a result of Phase 2 negotiations. Unit: seconds Valid values: **0** to **86400**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '86400', 'title' => ''], 'IpsecPfs' => ['description' => 'The Diffie-Hellman key exchange algorithm that is used in Phase 2 negotiations.'."\n" ."\n" .'Valid values: **disabled**, **group1**, **group2**, **group5**, and **group14**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'group2', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'title' => '', 'example' => '', ], ], [ 'name' => 'EnableTunnelsBgp', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'You can specify this parameter if you modify the configuration of a dual-tunnel IPsec-VPN connection.'."\n" ."\n" .'Specifies whether to enable BGP for the tunnel. Valid values: **true** and **false**.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'EnableNatTraversal' => ['description' => 'Indicates whether NAT traversal is enabled for the IPsec-VPN connection. Valid values: Valid values:'."\n" ."\n" .'* **false**'."\n" .'* **true**'."\n" ."\n" .'This parameter is returned only for single-tunnel IPsec-VPN connections.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'CreateTime' => ['description' => 'The timestamp generated when the IPsec-VPN connection was established. Unit: milliseconds.'."\n" ."\n" .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1492753817000', 'title' => ''], 'EffectImmediately' => ['description' => 'Indicates whether IPsec negotiations immediately start after the configuration takes effect. Valid values:'."\n" ."\n" .'* **true**: IPsec negotiations immediately start after the configuration takes effect.'."\n" .'* **false**: IPsec negotiations start when inbound traffic is detected.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'VpnGatewayId' => ['description' => 'The ID of the VPN gateway.'."\n", 'type' => 'string', 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', 'title' => ''], 'LocalSubnet' => ['description' => 'The CIDR block on the VPC side.'."\n", 'type' => 'string', 'example' => '10.1.1.0/24,10.1.2.0/24', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '7DB79D0C-5F27-4AB5-995B-79BE55102F90', 'title' => ''], 'VpnConnectionId' => ['description' => 'The ID of the IPsec-VPN connection.'."\n", 'type' => 'string', 'example' => 'vco-bp1bbi27hojx80nck****', 'title' => ''], 'Description' => ['description' => 'The description of the IPsec-VPN connection.'."\n", 'type' => 'string', 'example' => 'description', 'title' => ''], 'RemoteSubnet' => ['description' => 'The CIDR block on the data center side.'."\n", 'type' => 'string', 'example' => '10.2.1.0/24,10.2.2.0/24', 'title' => ''], 'CustomerGatewayId' => ['description' => 'The ID of the customer gateway associated with the IPsec-VPN connection.'."\n" ."\n" .'This parameter is returned only for single-tunnel IPsec-VPN connections.'."\n", 'type' => 'string', 'example' => 'cgw-p0w2jemrcj5u61un8****', 'title' => ''], 'Name' => ['description' => 'The name of the IPsec-VPN connection.'."\n", 'type' => 'string', 'example' => 'nametest', 'title' => ''], 'EnableDpd' => ['description' => 'Indicates whether the DPD feature is enabled for the IPsec-VPN connection. Valid values:'."\n" ."\n" .'* **false**'."\n" .'* **true**'."\n" ."\n" .'This parameter is returned only for single-tunnel IPsec-VPN connections.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'IkeConfig' => [ 'description' => 'The configuration of Phase 1 negotiations.'."\n" ."\n" .'**IkeConfig** parameters are returned only for single-tunnel IPsec-VPN connections.'."\n", 'type' => 'object', 'properties' => [ 'RemoteId' => ['description' => 'The identifier on the data center side. The default value is the IP address of the customer gateway. The value can be a FQDN or an IP address.'."\n", 'type' => 'string', 'example' => '139.18.XX.XX', 'title' => ''], 'IkeLifetime' => ['description' => 'The lifetime in the IKE phase. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], 'IkeEncAlg' => ['description' => 'The encryption algorithm in the IKE phase.'."\n", 'type' => 'string', 'example' => 'aes', 'title' => ''], 'LocalId' => ['description' => 'The identifier on the VPC side. The default value is the IP address of the VPN gateway. The value can be an FQDN or an IP address.'."\n", 'type' => 'string', 'example' => '116.64.XX.XX', 'title' => ''], 'IkeMode' => ['description' => 'The IKE negotiation mode.'."\n" ."\n" .'* **main**: This mode offers higher security during negotiations.'."\n" .'* **aggressive**: This mode is faster and has a higher success rate.'."\n", 'type' => 'string', 'example' => 'main', 'title' => ''], 'IkeVersion' => ['description' => 'The version of the IKE protocol.'."\n" ."\n" .'* **ikev1**'."\n" .'* **ikev2**'."\n" ."\n" .'Compared with IKEv1, IKEv2 simplifies the SA negotiation process and is more suitable for scenarios in which multiple CIDR blocks are used.'."\n", 'type' => 'string', 'example' => 'ikev1', 'title' => ''], 'IkePfs' => ['description' => 'The DH group in the IKE phase.'."\n", 'type' => 'string', 'example' => 'group2', 'title' => ''], 'Psk' => ['description' => 'The pre-shared key.'."\n", 'type' => 'string', 'example' => 'pgw6dy7d1i8i****', 'title' => ''], 'IkeAuthAlg' => ['description' => 'The authentication algorithm in the IKE phase.'."\n", 'type' => 'string', 'example' => 'sha1', 'title' => ''], ], 'title' => '', 'example' => '', ], 'IpsecConfig' => [ 'description' => 'The configuration of Phase 2 negotiations.'."\n" ."\n" .'**IpsecConfig** parameters are returned only for single-tunnel IPsec-VPN connections.'."\n", 'type' => 'object', 'properties' => [ 'IpsecAuthAlg' => ['description' => 'The authentication algorithm in the IPsec phase.'."\n", 'type' => 'string', 'example' => 'sha1', 'title' => ''], 'IpsecLifetime' => ['description' => 'The lifetime in the IPsec phase. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], 'IpsecEncAlg' => ['description' => 'The encryption algorithm in the IPsec phase.'."\n", 'type' => 'string', 'example' => 'aes', 'title' => ''], 'IpsecPfs' => ['description' => 'The DH group in the IPsec phase.'."\n", 'type' => 'string', 'example' => 'group2', 'title' => ''], ], 'title' => '', 'example' => '', ], 'VcoHealthCheck' => [ 'description' => 'The health check configuration.'."\n" ."\n" .'**VcoHealthCheck** parameters are returned only for single-tunnel IPsec-VPN connections.'."\n", 'type' => 'object', 'properties' => [ 'Dip' => ['description' => 'The destination IP address.'."\n", 'type' => 'string', 'example' => '192.168.1.1', 'title' => ''], 'Interval' => ['description' => 'The interval between two consecutive health checks. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], 'Retry' => ['description' => 'The maximum number of health check retries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], 'Sip' => ['description' => 'The source IP address that is used for health checks.'."\n", 'type' => 'string', 'example' => '10.1.1.1', 'title' => ''], 'Enable' => ['description' => 'Indicates whether the health check feature is enabled for the IPsec-VPN connection.'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], ], 'title' => '', 'example' => '', ], 'VpnBgpConfig' => [ 'description' => 'The BGP configuration.'."\n" ."\n" .'**VpnBgpConfig** parameters are returned only for single-tunnel IPsec-VPN connections.'."\n", 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The negotiation state of BGP. Valid values:'."\n" ."\n" .'* **success**: normal'."\n" .'* **false**: abnormal'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], 'PeerBgpIp' => ['description' => 'The BGP IP address of the data center.'."\n", 'type' => 'string', 'example' => '169.254.11.2', 'title' => ''], 'TunnelCidr' => ['description' => 'The BGP CIDR block of the IPsec-VPN connection.'."\n", 'type' => 'string', 'example' => '169.254.11.0/30', 'title' => ''], 'EnableBgp' => ['description' => 'Indicates whether BGP is enabled. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], 'LocalBgpIp' => ['description' => 'The BGP IP address on the Alibaba Cloud side.'."\n", 'type' => 'string', 'example' => '169.254.11.1', 'title' => ''], 'PeerAsn' => ['description' => 'The ASN on the data center side.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '65531', 'title' => ''], 'LocalAsn' => ['description' => 'The ASN on the Alibaba Cloud side.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '65530', 'title' => ''], ], 'title' => '', 'example' => '', ], 'TunnelOptionsSpecification' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'TunnelOptions' => [ 'description' => 'The tunnel configuration of the IPsec-VPN connection.'."\n" ."\n" .'**TunnelOptionsSpecification** parameters are returned only for dual-tunnel IPsec-VPN connections.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The tunnel configurations of the IPsec-VPN connection.', 'type' => 'object', 'properties' => [ 'CustomerGatewayId' => ['description' => 'The ID of the customer gateway associated with the tunnel.'."\n", 'type' => 'string', 'example' => 'cgw-p0wy363lucf1uyae8****', 'title' => ''], 'EnableDpd' => ['description' => 'Indicates whether the DPD feature is enabled for the tunnel. Valid values:'."\n" ."\n" .'* **false**'."\n" .'* **true**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'EnableNatTraversal' => ['description' => 'Indicates whether NAT traversal is enabled for the tunnel. Valid values:'."\n" ."\n" .'* **false**'."\n" .'* **true**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'InternetIp' => ['description' => 'The IP address on the Alibaba Cloud side.'."\n", 'type' => 'string', 'example' => '47.21.XX.XX', 'title' => ''], 'RemoteCaCertificate' => ['description' => 'The CA certificate of the tunnel peer.'."\n" ."\n" .'This parameter is returned only if the VPN gateway is of the SM type.'."\n", 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----', 'title' => ''], 'Role' => ['description' => 'The tunnel role. Valid values:'."\n" ."\n" .'* **master**: The tunnel is an active tunnel.'."\n" .'* **slave**: The tunnel is a standby tunnel.'."\n", 'type' => 'string', 'example' => 'master', 'title' => ''], 'State' => ['description' => 'The tunnel status. Valid values:'."\n" ."\n" .'* **active**'."\n" .'* **updating**'."\n" .'* **deleting**'."\n", 'type' => 'string', 'example' => 'active', 'title' => ''], 'TunnelBgpConfig' => [ 'description' => 'The BGP configuration.'."\n", 'type' => 'object', 'properties' => [ 'LocalAsn' => ['description' => 'The ASN of the tunnel on the Alibaba Cloud side.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '65530', 'title' => ''], 'LocalBgpIp' => ['description' => 'The BGP IP address of the tunnel on the Alibaba Cloud side.'."\n", 'type' => 'string', 'example' => '169.254.10.1', 'title' => ''], 'PeerAsn' => ['description' => 'The ASN of the tunnel peer.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '65531', 'title' => ''], 'PeerBgpIp' => ['description' => 'The BGP IP address of the tunnel peer.'."\n", 'type' => 'string', 'example' => '169.254.10.2', 'title' => ''], 'TunnelCidr' => ['description' => 'The BGP CIDR block of the tunnel.'."\n", 'type' => 'string', 'example' => '169.254.10.0/30', 'title' => ''], ], 'title' => '', 'example' => '', ], 'TunnelId' => ['description' => 'The tunnel ID.'."\n", 'type' => 'string', 'example' => 'tun-opsqc4d97wni27****', 'title' => ''], 'TunnelIkeConfig' => [ 'description' => 'The configuration of Phase 1 negotiations.'."\n", 'type' => 'object', 'properties' => [ 'IkeAuthAlg' => ['description' => 'The authentication algorithm in the IKE phase.'."\n", 'type' => 'string', 'example' => 'sha1', 'title' => ''], 'IkeEncAlg' => ['description' => 'The encryption algorithm in the IKE phase.'."\n", 'type' => 'string', 'example' => 'aes', 'title' => ''], 'IkeLifetime' => ['description' => 'The lifetime in the IKE phase. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], 'IkeMode' => ['description' => 'The IKE negotiation mode.'."\n" ."\n" .'* **main:** This mode offers higher security during negotiations.'."\n" .'* **aggressive**: This mode is faster and has a higher success rate.'."\n", 'type' => 'string', 'example' => 'main', 'title' => ''], 'IkePfs' => ['description' => 'The DH group in the IKE phase.'."\n", 'type' => 'string', 'example' => 'group2', 'title' => ''], 'IkeVersion' => ['description' => 'The version of the IKE protocol.'."\n", 'type' => 'string', 'example' => 'ikev1', 'title' => ''], 'LocalId' => ['description' => 'The identifier of the tunnel on the Alibaba Cloud side.'."\n", 'type' => 'string', 'example' => '47.21.XX.XX', 'title' => ''], 'Psk' => ['description' => 'The pre-shared key.'."\n", 'type' => 'string', 'example' => '123456****', 'title' => ''], 'RemoteId' => ['description' => 'The identifier of the tunnel peer.'."\n", 'type' => 'string', 'example' => '47.42.XX.XX', 'title' => ''], ], 'title' => '', 'example' => '', ], 'TunnelIpsecConfig' => [ 'description' => 'The configuration of Phase 2 negotiations.'."\n", 'type' => 'object', 'properties' => [ 'IpsecAuthAlg' => ['description' => 'The authentication algorithm in the IPsec phase.'."\n", 'type' => 'string', 'example' => 'sha1', 'title' => ''], 'IpsecEncAlg' => ['description' => 'The encryption algorithm in the IPsec phase.'."\n", 'type' => 'string', 'example' => 'aes', 'title' => ''], 'IpsecLifetime' => ['description' => 'The lifetime in the IPsec phase. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '86400', 'title' => ''], 'IpsecPfs' => ['description' => 'The DH group in the IPsec phase.'."\n", 'type' => 'string', 'example' => 'group2', 'title' => ''], ], 'title' => '', 'example' => '', ], 'ZoneNo' => ['description' => 'The zone of the tunnel.'."\n", 'type' => 'string', 'example' => 'ap-southeast-5a', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'EnableTunnelsBgp' => ['description' => 'Indicates whether BGP is enabled for the tunnel. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n" ."\n" .'This parameter is returned only by dual-tunnel IPsec-VPN connections.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the IPsec-VPN connection belongs.'."\n" ."\n" .'The IPsec-VPN connection and the VPN gateway associated with the IPsec-VPN connection belong to the same resource group. You can call the [ListResourceGroups](~~158855~~) operation to query resource groups.'."\n", 'type' => 'string', 'example' => 'rg-acfmzs372yg****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'VpnGateway.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => ''], ['errorCode' => 'InvalidName', 'errorMessage' => 'The name is not valid', 'description' => ''], ['errorCode' => 'VpnRouteEntry.AlreadyExists', 'errorMessage' => 'The specified route entry is already exist.', 'description' => 'The route already exists.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified route entry has conflict.', 'description' => 'Route conflicts exist.'], ['errorCode' => 'NotSupportVpnConnectionParameter.IpsecPfs', 'errorMessage' => 'The specified vpn connection ipsec Ipsec Pfs is not support.', 'description' => 'The PFS parameter set for the IPsec-VPN connection is not supported.'], ['errorCode' => 'NotSupportVpnConnectionParameter.IpsecAuthAlg', 'errorMessage' => 'The specified vpn connection ipsec Auth Alg is not support.', 'description' => 'The authentication algorithm specified for the IPsec-VPN connection is not supported.'], ['errorCode' => 'VpnRouteEntry.ConflictSSL', 'errorMessage' => 'The specified route entry has conflict with SSL client.', 'description' => 'The route conflicts with the SSL client.'], ['errorCode' => 'VpnRouteEntry.BackupRoute', 'errorMessage' => 'Validate backup route entry failed.', 'description' => 'Active/standby routes failed authentication.'], ['errorCode' => 'VpnRouteEntry.InvalidWeight', 'errorMessage' => 'Invalid route entry weight value.', 'description' => 'The weight specified for the route is invalid.'], ['errorCode' => 'QuotaExceeded.PBR', 'errorMessage' => 'The policy-based routes has reached the upper limit.', 'description' => 'The number of policy-based routes has reached the upper limit.'], ['errorCode' => 'OperationUnsupported.SetDPD', 'errorMessage' => 'Current version of the VPN does not support setting DPD.', 'description' => 'The VPN gateway version does not support DPD.'], ['errorCode' => 'OperationUnsupported.SetNatTraversal', 'errorMessage' => 'Current version of the VPN does not support setting NAT traversal.', 'description' => 'The VPN gateway version does not support 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.', 'description' => 'The quota of policy-based routes is reached. Existing routes: %s. Routes to be created: %s. Quota: %s.'], ['errorCode' => 'MissingParameter.TunnelCidr', 'errorMessage' => 'The parameter TunnelCidr is mandatory when BGP is enabled.', 'description' => 'You must specify the tunnel CIDR block when you enable BGP.'], ['errorCode' => 'OperationUnsupported.EnableBgp', 'errorMessage' => 'Current version of the VPN does not support enable BGP.', 'description' => 'The current version of the VPN gateway does not support BGP.'], ['errorCode' => 'MissingParam.CustomerGatewayAsn', 'errorMessage' => 'Asn of customer gateway is mandatory when BGP is enabled.', 'description' => 'The ASN of the customer gateway cannot be empty when you enable BGP.'], ['errorCode' => 'IllegalParam.LocalAsn', 'errorMessage' => 'The specified LocalAsn is invalid.', 'description' => 'The local ASN is invalid.'], ['errorCode' => 'IllegalParam.BgpConfig', 'errorMessage' => 'The specified BgpConfig is invalid.', 'description' => 'The BGP configuration is invalid.'], ['errorCode' => 'IllegalParam.EnableBgp', 'errorMessage' => 'VPN connection must enable BGP when VPN gateway has enabled BGP.', 'description' => 'The error message returned because the VPN connection must use BGP if BGP is enabled for the VPN gateway.'], ['errorCode' => 'IllegalParam.TunnelCidr', 'errorMessage' => 'The specified TunnelCidr is invalid.', 'description' => 'The TunnelCidr parameter is set to an invalid value.'], ['errorCode' => 'InvalidLocalBgpIp.Malformed', 'errorMessage' => 'The specified LocalBgpIp is malformed.', 'description' => 'The local BGP IP address is in an abnormal state.'], ['errorCode' => 'IllegalParam.LocalBgpIp', 'errorMessage' => 'The specified LocalBgpIp is invalid.', 'description' => 'The local BGP IP address is invalid.'], ['errorCode' => 'IllegalParam.LocalSubnet', 'errorMessage' => 'The specified "LocalSubnet" (%s) is invalid.', 'description' => 'The specified "LocalSubnet" (%s) is invalid.'], ['errorCode' => 'IllegalParam.RemoteSubnet', 'errorMessage' => 'The specified "RemoteSubnet" (%s) is invalid.', 'description' => '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.', 'description' => '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.', 'description' => 'The specified tunnel CIDR block is invalid.'], ['errorCode' => 'CustomerGateway.ConflictRouteEntry', 'errorMessage' => 'The specified customer gateway has conflict with route entry.', 'description' => 'The customer gateway conflicts with the current routes.'], ['errorCode' => 'VpnTask.CONFLICT', 'errorMessage' => 'Vpn task has conflict.', 'description' => 'The VPN operation conflicts. Try again later.'], ['errorCode' => 'OperationFailed.RouteConflictWithIPsecServer', 'errorMessage' => 'Operation failed because the route to create conflicts with the client IP pool of the IPsec server.', 'description' => '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.', 'description' => 'TunnelId is set to an invalid value.'], ['errorCode' => 'IllegalParam.Role', 'errorMessage' => 'The specified Role is invalid.', 'description' => 'Role is set to an invalid value.'], ['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.', 'description' => 'The pre-shared key and IKE parameters must be the same for IPsec-VPN connections that are associated with the same VPN gateway and customer gateway.'], ['errorCode' => 'VpnConnectionParamInvalid.SameVpnAndCgwTrafficSelectorOverlap', 'errorMessage' => 'Traffic selectors of IPSec connections associated with the same user gateway and VPN gateway should not overlap.', 'description' => 'The protected data flows of IPsec-VPN connections that are associated with the same VPN gateway and customer gateway cannot overlap.'], ['errorCode' => 'ModifyIkeV1WithMultiRoutes.Invalid', 'errorMessage' => 'Failed to modify VPN connection parameters. Multi-network is configured while using IkeV1 protocol.', 'description' => '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.', 'description' => 'The operation cannot be performed when the VPN connection is in the current state.'], ['errorCode' => 'IkeVersionInvalid.GcmIncompatible', 'errorMessage' => 'Ikev1 does not support IkeEncAlg of gcm16.', 'description' => 'Ikev1 does not support IkeEncAlg of gcm16.'], ['errorCode' => 'EncAlgInvalid.DesIncompatible', 'errorMessage' => 'Des/3des in IkeEncAlg and IpsecEncAlg does not support multi algorithm.', 'description' => '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.', 'description' => '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.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnConnectionInstanceId.NotFound', 'errorMessage' => 'The specified vpn connection instance id does not exist.', 'description' => 'The specified vpn connection instance id does not exist.'], ], 500 => [ ['errorCode' => 'OperationFailed.RouteConflictWithIPsecServer', 'errorMessage' => 'Operation failed because the specified route conflicts with IPsec server.', 'description' => 'The route conflicts with the IPsec server.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 2000, 'maxCallbackTimes' => 30], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], 'title' => 'ModifyVpnConnectionAttribute', 'description' => '* If you want to modify a IPsec-VPN connection in dual-tunnel mode, call the `ModifyVpnConnectionAttribute` operation. You can modify the required parameters and the following request parameters:'."\n" ."\n" .' **ClientToken**, **Name**, **LocalSubnet**, **RemoteSubnet**, **EffectImmediately**, **AutoConfigRoute**, **TunnelOptionsSpecification**, and **EnableTunnelsBgp**.'."\n" ."\n" .'* If you want to modify a IPsec-VPN connection in single-tunnel mode, call the `ModifyVpnConnectionAttribute` operation. You can modify the required parameters and the following request parameters:'."\n" ."\n" .' **ClientToken**, **Name**, **LocalSubnet**, **RemoteSubnet**, **EffectImmediately**, **IkeConfig**, **IpsecConfig**, **HealthCheckConfig**, **AutoConfigRoute**, **EnableDpd**, **EnableNatTraversal**, **BgpConfig**, and **RemoteCaCertificate**.'."\n" ."\n" .'* **ModifyVpnConnectionAttribute** is an asynchronous operation. After a request is sent, the system returns a request ID and modifies the configuration of the IPsec-VPN connection in the backend. You can call the [DescribeVpnGateway](~~73720~~) operation to query the status of a VPN gateway.'."\n" ."\n" .' * If the VPN gateway is in the **updating** state, the configuration of the IPsec-VPN connection is being modified.'."\n" .' * If the VPN gateway is in the **active** state, the configuration of the IPsec-VPN connection is modified.'."\n" ."\n" .'* You cannot repeatedly call the **ModifyVpnConnectionAttribute** operation for the same VPN gateway within the specified period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-10-24T11:19:58.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2024-01-04T07:17:10.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-10-23T08:44:35.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-10-19T08:26:51.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'], ['createdAt' => '2023-08-01T06:15:52.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-06-30T12:44:25.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2022-12-08T09:38:29.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'ModifyVpnGatewayAttribute' => [ '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' => 'The region ID of the VPN gateway instance. You can call [DescribeRegions](~~36063~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPN gateway instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The new name of the VPN gateway. '."\n" ."\n" .'The name must be 2 to 100 characters in length and cannot start with `http://` or `https://`. It must start with an uppercase or lowercase letter and can contain uppercase and lowercase letters, digits, underscores (\\_), hyphens (-), and periods (.). Other special characters are not supported.', 'type' => 'string', 'required' => false, 'example' => 'myvpn', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The new description of the VPN gateway. '."\n" .' '."\n" .'The description must be 1 to 100 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'AutoPropagate', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable routing automatic propagation for the VPN gateway. Valid values:'."\n" ."\n" .'- **true**: enabled.'."\n" ."\n" .' After routing automatic propagation is enabled, the VPN gateway instance performs automatic learning of system routes from the system route table of the VPC-connected instance and automatically propagates routes of the on-premises data center to the system route table of the VPC-connected instance.'."\n" .'- **false**: disabled.'."\n" .' '."\n" .' Before you disable routing automatic propagation, make sure that the BGP dynamic route feature is disabled for all IPsec-VPN connections under the VPN gateway.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'VpcId' => ['description' => 'The ID of the VPC to which the VPN gateway instance belongs.', 'type' => 'string', 'example' => 'vpc-bp1ub1yt9cvakoel****', 'title' => ''], 'Status' => ['description' => 'The status of the VPN gateway. Valid values:'."\n" ."\n" .'- **init**: initializing.'."\n" .'- **provisioning**: preparing.'."\n" .'- **active**: Normal.'."\n" .'- **updating**: updating.'."\n" .'- **deleting**: deleting.', 'type' => 'string', 'example' => 'active', 'title' => ''], 'InternetIp' => ['description' => '- If the VPN gateway instance supports single-tunnel IPsec-VPN connections, this address is the IP address of the VPN gateway instance and can be used to create IPsec-VPN connections or SSL-VPN connections.'."\n" ."\n" .'- If the VPN gateway instance supports dual-tunnel IPsec-VPN connections, this address is the first IP address used to create IPsec-VPN connections and cannot be used to create SSL-VPN connections.'."\n" ."\n" .' If the VPN gateway instance supports dual-tunnel IPsec-VPN connections, the system assigns two IPsec IP addresses to the VPN gateway instance for creating dual-tunnel IPsec-VPN connections.', 'type' => 'string', 'example' => '116.62.XX.XX', 'title' => ''], 'Spec' => ['description' => 'The bandwidth specification of the VPN gateway instance. Unit: Mbit/s.', 'type' => 'string', 'example' => '5M', 'title' => ''], 'CreateTime' => ['description' => 'The timestamp when the VPN gateway instance was created. Unit: milliseconds.'."\n" ."\n" .'The timestamp follows the UNIX timestamp format, which represents the total number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC to the time when the VPN gateway instance was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1492753580000', 'title' => ''], 'AutoPropagate' => ['description' => 'Indicates whether BGP routes are automatically propagated to the VPC. Valid values:'."\n" ."\n" .'- **true**: automatic propagation is enabled.'."\n" ."\n" .'- **false**: automatic propagation is not enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'VpnGatewayId' => ['description' => 'The ID of the VPN gateway instance.', 'type' => 'string', 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', 'title' => ''], 'IntranetIp' => ['description' => 'The private IP address of the vSwitch occupied by the system when the VPN gateway instance was deployed.'."\n" ."\n" .'This parameter is returned only for VPN gateway instances that support single-tunnel IPsec-VPN connections and have the IPsec-VPN feature enabled.', 'type' => 'string', 'example' => '172.16.10.46', 'title' => ''], 'EndTime' => ['description' => 'The timestamp when the VPN gateway instance expires. Unit: milliseconds.'."\n" ."\n" .'The timestamp follows the UNIX timestamp format, which represents the total number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC to the time when the VPN gateway instance expires.', 'type' => 'integer', 'format' => 'int64', 'example' => '1495382400000', 'title' => ''], 'VSwitchId' => ['description' => 'The ID of the vSwitch associated with the VPN gateway instance.', 'type' => 'string', 'example' => 'vsw-bp1y9ovl1cu9ou4tv****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457', 'title' => ''], 'Description' => ['description' => 'The description of the VPN gateway instance.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'EnableBgp' => ['description' => 'The enabling status of the BGP feature for the VPN gateway. Valid values:'."\n" ."\n" .'- **true**: enabled.'."\n" ."\n" .'- **false**: not enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'BusinessStatus' => ['description' => 'The billing status of the VPN gateway instance. Valid values:'."\n" ."\n" .'- **Normal**: Normal.'."\n" .'- **FinancialLocked**: locked due to overdue payment.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'Name' => ['description' => 'The name of the VPN gateway instance.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'DisasterRecoveryInternetIp' => ['description' => 'The second IP address assigned by the system to the VPN gateway instance for creating IPsec-VPN connections.'."\n" ."\n" .'This parameter is returned only for VPN gateway instances that support dual-tunnel IPsec-VPN connections.', 'type' => 'string', 'example' => '116.11.XX.XX', 'title' => ''], 'DisasterRecoveryVSwitchId' => ['description' => 'The ID of the second vSwitch associated with the VPN gateway instance.'."\n" ."\n" .'This parameter is returned only for VPN gateway instances that support dual-tunnel IPsec-VPN connections.', 'type' => 'string', 'example' => 'vsw-p0w95ql6tmr2ludkt****', 'title' => ''], 'SslVpnInternetIp' => ['description' => 'The IP address of the SSL-VPN connection.'."\n" ."\n" .'This parameter is returned only when the SSL-VPN feature is enabled for a VPN gateway instance that supports dual-tunnel IPsec-VPN connections and uses the public network type.', 'type' => 'string', 'example' => '116.33.XX.XX', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the VPN gateway instance belongs.'."\n" ."\n" .'You can call [ListResourceGroups](~~158855~~) to query resource group information.', 'type' => 'string', 'example' => 'rg-acfmzs372yg****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidName', 'errorMessage' => 'The name is not valid', 'description' => ''], ['errorCode' => 'InvalidDescription', 'errorMessage' => 'The description is not valid', 'description' => ''], ['errorCode' => 'OperationUnsupported.EnableBgp', 'errorMessage' => 'Current version of the VPN does not support enable BGP.', 'description' => 'The current version of the VPN gateway does not support BGP.'], ['errorCode' => 'OperationFailed.VpnConnectionExist', 'errorMessage' => 'Auto propagate cannot be closed when VPN connections with BGP enabled exist.', 'description' => 'Auto propagation cannot be closed when VPN connections with BGP enabled exist.'], ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => 'The specified VPN gateway does not exist. Check whether the specified VPN gateway is valid.'], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['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.', 'description' => '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.', 'description' => 'The VPC system route table is not enabled to accept the propagation route.'], ['errorCode' => 'OperationFailed.VpcRoutePublishEnabledInTR', 'errorMessage' => 'A VPC supports at most one dynamic route learning source. In the forwarding router, disable route synchronization for the VPC.', 'description' => '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.', 'description' => 'A VPC supports at most one dynamic route learning source. Remove the VPC from ECR'], ['errorCode' => 'OperationFailed.BondingVpnNotSupportBGP', 'errorMessage' => 'The architecture does not support BGP capabilities (single tunnel bonding architecture VPN gateway).', 'description' => 'the architecture does not support the bgp capability (single-tunnel bonding vpn gateway)'], ['errorCode' => 'OperationFailed.StaleBGPRoutes', 'errorMessage' => 'BGP routes are still there and automatic route propagation cannot be disabled.', 'description' => 'Automatic route propagation cannot be disabled because a BGP route is left.'], ], 403 => [ ['errorCode' => 'Forbidden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => 'The error message returned because you are unauthorized to perform this operation on the specified resource. Acquire the required permissions and try again.'], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 3000, 'maxCallbackTimes' => 120], 'title' => 'Modify the name, description, or routing automatic propagation of a VPN gateway', 'summary' => 'Invokes the ModifyVpnGatewayAttribute operation to modify the name, description, or routing automatic propagation feature of a VPN gateway.', 'description' => '- **ModifyVpnGatewayAttribute** is an asynchronous operation. After you call this operation, the system returns the VPN gateway information, but the configuration has not been modified yet. The modification task is still running in the background. You can call [DescribeVpnGateway](~~73720~~) to query the modification status of the VPN gateway configuration:'."\n" .' - If the VPN gateway is in the **updating** state, the configuration is being modified.'."\n" .' - If the VPN gateway is in the **active** state, the configuration has been modified.'."\n" .'- **ModifyVpnGatewayAttribute** does not support concurrent modifications to the configuration of the same VPN gateway.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-05-23T06:50:33.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-10-19T07:04:00.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-06-30T12:44:27.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2022-12-27T03:28:33.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVpnGatewayAttribute'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyVpnGatewayAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], 'ModifyVpnPbrRouteEntryAttribute' => [ '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' => 'The region ID of the VPN gateway instance.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-heyuan', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => 'd7d24a21-f4ba-4454-9173-b3****', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the VPN gateway.', 'type' => 'string', 'required' => true, 'example' => 'vpn-bp1a3kqjiiq9legfx****', 'title' => ''], ], [ 'name' => 'RouteSource', 'in' => 'query', 'schema' => ['description' => 'The source CIDR block of the policy-based route.', 'type' => 'string', 'required' => true, 'example' => '192.168.1.0/24', 'title' => ''], ], [ 'name' => 'RouteDest', 'in' => 'query', 'schema' => ['description' => 'The destination CIDR block of the policy-based route.', 'type' => 'string', 'required' => true, 'example' => '10.0.0.0/24', 'title' => ''], ], [ 'name' => 'NextHop', 'in' => 'query', 'schema' => ['description' => 'The next hop of the policy-based route.', 'type' => 'string', 'required' => true, 'example' => 'vco-bp15oes1py4i66rmd****', 'title' => ''], ], [ 'name' => 'Priority', 'in' => 'query', 'schema' => ['description' => 'The original policy priority of the policy-based route. Valid values: **1** to **100**.'."\n" ."\n" .'A smaller value indicates a higher priority.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '5', 'title' => ''], ], [ 'name' => 'NewPriority', 'in' => 'query', 'schema' => ['description' => 'The new policy priority of the policy-based route. Valid values: **1** to **100**.'."\n" ."\n" .'A smaller value indicates a higher priority.'."\n" ."\n" .'If you do not specify this parameter, the policy priority of the policy-based route is not modified.'."\n" ."\n" .'> You must specify at least one of the **NewPriority** and **NewWeight** parameters.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'Weight', 'in' => 'query', 'schema' => ['description' => 'The original weight of the policy-based route. Valid values:'."\n" ."\n" .'- **100**: The IPsec-VPN connection associated with the policy-based route serves as the active link.'."\n" .'- **0**: The IPsec-VPN connection associated with the policy-based route serves as the standby link.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '100', 'title' => ''], ], [ 'name' => 'NewWeight', 'in' => 'query', 'schema' => ['description' => 'The new weight of the policy-based route. Valid values:'."\n" ."\n" .'- **100**: The IPsec-VPN connection associated with the policy-based route serves as the active link.'."\n" .'- **0**: The IPsec-VPN connection associated with the policy-based route serves as the standby link.'."\n" ."\n" .'If you do not specify this parameter, the weight of the policy-based route is not modified.'."\n" .'> You must specify at least one of the **NewPriority** and **NewWeight** parameters.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'VpnGateway.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => ''], ['errorCode' => 'VpnRouteEntry.AlreadyExists', 'errorMessage' => 'The specified route entry is already exist.', 'description' => 'The route already exists.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified route entry has conflict.', 'description' => 'Route conflicts exist.'], ['errorCode' => 'VpnPbrRouteEntryPriority.NotSupport', 'errorMessage' => 'Current version of the VPN does not support setting pbr route entry priority.', 'description' => 'The VPN gateway version does not allow you to specify priorities for policy-based routes.'], ['errorCode' => 'VpnRouteEntry.SrcDestWeightConflict', 'errorMessage' => 'The VPN gateway does not support Policy-based routing with the same source CIDR, destination CIDR and weight.', 'description' => 'VPN Gateway does not support policy-based routes that have the same source CIDR block, destination CIDR block, and weight.'], ['errorCode' => 'VpnRouteEntry.SamePriorityPbrRoutePrefixOverlap', 'errorMessage' => 'The source CIDR and destination CIDR of Policy-based routes with the same priority cannot overlap.', 'description' => 'VPN Gateway does not support policy-based routes that have the same priority and overlapping source CIDR blocks and destination CIDR blocks.'], ['errorCode' => 'VpnRouteEntry.SrcDestConflict', 'errorMessage' => 'The VPN gateway does not support Policy-based routing with the same source CIDR and destination CIDR.', 'description' => 'The source CIDR block and destination CIDR block of a policy-based route for a dual-tunnel VPN gateway cannot be the same.'], ['errorCode' => 'VpnPbrRouteEntry.NotSupport', 'errorMessage' => 'Current version of the VPN does not support pbr route entry.', 'description' => '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.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 1000, 'maxCallbackTimes' => 30], 'title' => 'Modify the weight and policy priority of a policy-based route', 'summary' => 'Modifies the weight and policy priority of a policy-based route by calling the ModifyVpnPbrRouteEntryAttribute operation.', 'description' => '- **ModifyVpnPbrRouteEntryAttribute** is used to modify both the weight and policy priority of a policy-based route that supports policy priority.'."\n" ."\n" .' - To modify only the weight of a policy-based route, call the [ModifyVpnPbrRouteEntryWeight](~~127249~~) operation.'."\n" .' - To modify only the policy priority of a policy-based route, call the [ModifyVpnPbrRouteEntryPriority](~~466870~~) operation.'."\n" .' - If your policy-based route does not support policy priority, you can only call the [ModifyVpnPbrRouteEntryWeight](~~127249~~) operation to modify the weight of the policy-based route.'."\n" .' > For VPN gateway instances that support dual-tunnel mode IPsec-VPN connections, you can only call this operation to modify the priority of policy-based routes.'."\n" ."\n" .'- **ModifyVpnPbrRouteEntryAttribute** is an asynchronous operation. After you send a request, the system returns a request ID, but the policy-based route has not been modified yet. The modification node is still running in the background. You can invoke the [DescribeVpnGateway](~~73720~~) operation to query the instance status of the VPN gateway to determine the modification status of the policy-based routing:'."\n" .' - If the VPN gateway instance is in the **updating** state, the policy-based route is being modified.'."\n" .' - If the VPN gateway instance is in the **active** state, the policy-based route has been modified.'."\n" .'- **ModifyVpnPbrRouteEntryAttribute** does not support concurrent modifications of policy-based routes under the same VPN gateway instance.', 'changeSet' => [ ['createdAt' => '2023-08-02T07:08:10.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-08T09:38:28.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVpnPbrRouteEntryAttribute'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyVpnPbrRouteEntryAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\"\\n}","type":"json"}]', ], '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' => 'The region ID of the VPN gateway instance.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'example' => 'cn-henyuan', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken parameter supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request is different.', 'type' => 'string', 'required' => false, 'example' => 'd7d24a21-f4ba-4454-9173-b3****', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPN gateway instance.', 'type' => 'string', 'required' => true, 'example' => 'vpn-bp1a3kqjiiq9legfx****', 'title' => ''], ], [ 'name' => 'RouteSource', 'in' => 'query', 'schema' => ['description' => 'The source CIDR block of the policy-based route.', 'type' => 'string', 'required' => true, 'example' => '192.168.1.0/24', 'title' => ''], ], [ 'name' => 'RouteDest', 'in' => 'query', 'schema' => ['description' => 'The destination CIDR block of the policy-based route.', 'type' => 'string', 'required' => true, 'example' => '10.0.0.0/24', 'title' => ''], ], [ 'name' => 'NextHop', 'in' => 'query', 'schema' => ['description' => 'The next hop of the policy-based route.', 'type' => 'string', 'required' => true, 'example' => 'vco-bp15oes1py4i66rmd****', 'title' => ''], ], [ 'name' => 'Priority', 'in' => 'query', 'schema' => ['description' => 'The original priority of the policy-based route. Valid values: **1** to **100**.'."\n" ."\n" .'A smaller value indicates a higher priority.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], ], [ 'name' => 'NewPriority', 'in' => 'query', 'schema' => ['description' => 'The new priority of the policy-based route. Valid values: **1** to **100**.'."\n" ."\n" .'A smaller value indicates a higher priority.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], ], [ 'name' => 'Weight', 'in' => 'query', 'schema' => ['description' => 'The weight of the policy-based route.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '100', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'VpnGateway.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => ''], ['errorCode' => 'VpnRouteEntry.AlreadyExists', 'errorMessage' => 'The specified route entry is already exist.', 'description' => 'The route already exists.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified route entry has conflict.', 'description' => 'Route conflicts exist.'], ['errorCode' => 'VpnPbrRouteEntryPriority.NotSupport', 'errorMessage' => 'Current version of the VPN does not support setting pbr route entry priority.', 'description' => 'The VPN gateway version does not allow you to specify priorities for policy-based routes.'], ['errorCode' => 'VpnRouteEntry.SamePriorityPbrRoutePrefixOverlap', 'errorMessage' => 'The source CIDR and destination CIDR of Policy-based routes with the same priority cannot overlap.', 'description' => 'VPN Gateway does not support policy-based routes that have the same priority and overlapping source CIDR blocks and destination CIDR blocks.'], ['errorCode' => 'VpnRouteEntry.SrcDestConflict', 'errorMessage' => 'The VPN gateway does not support Policy-based routing with the same source CIDR and destination CIDR.', 'description' => 'The source CIDR block and destination CIDR block of a policy-based route for a dual-tunnel VPN gateway cannot be the same.'], ['errorCode' => 'VpnRouteEntry.SrcDestWeightConflict', 'errorMessage' => 'The VPN gateway does not support Policy-based routing with the same source CIDR, destination CIDR and weight.', 'description' => 'VPN Gateway does not support policy-based routes that have the same source CIDR block, destination CIDR block, and weight.'], ['errorCode' => 'VpnPbrRouteEntry.NotSupport', 'errorMessage' => 'Current version of the VPN does not support pbr route entry.', 'description' => '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.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 2000, 'maxCallbackTimes' => 60], 'title' => 'ModifyVpnPbrRouteEntryPriority', 'summary' => 'Calls the ModifyVpnPbrRouteEntryPriority operation to modify the priority of a policy-based route.', 'description' => '- The **ModifyVpnPbrRouteEntryPriority** operation is asynchronous. After you send the request, the system returns a request ID, but the policy-based route has not been modified yet. The modification task is still running in the background. You can call the [DescribeVpnGateway](~~73720~~) operation to query the status of the VPN gateway instance to determine the modification status of the policy-based route:'."\n" .' - If the VPN gateway instance is in the **updating** state, the policy-based route is being modified.'."\n" .' - If the VPN gateway instance is in the **active** state, the policy-based route is modified.'."\n" .'- The **ModifyVpnPbrRouteEntryPriority** operation does not support concurrent modifications to policy-based routes of the same VPN gateway instance.', 'changeSet' => [ ['createdAt' => '2023-10-19T07:04:02.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-08T09:38:28.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVpnPbrRouteEntryPriority'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyVpnPbrRouteEntryPriority', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\"\\n}","type":"json"}]', ], 'ModifyVpnPbrRouteEntryWeight' => [ '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' => 'The ID of the region where the VPN gateway is created. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => 'd7d24a21-f4ba-4454-9173-b3828dae492b', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPN gateway.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpn-bp1a3kqjiiq9legfx****', 'title' => ''], ], [ 'name' => 'RouteSource', 'in' => 'query', 'schema' => ['description' => 'The source CIDR block of the policy-based route.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '192.168.1.0/24', 'title' => ''], ], [ 'name' => 'RouteDest', 'in' => 'query', 'schema' => ['description' => 'The destination CIDR block of the policy-based route.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '10.0.0.0/24', 'title' => ''], ], [ 'name' => 'NextHop', 'in' => 'query', 'schema' => ['description' => 'The next hop of the policy-based route.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vco-bp15oes1py4i66rmd**** ', 'title' => ''], ], [ 'name' => 'Weight', 'in' => 'query', 'schema' => ['description' => 'The original weight of the policy-based route. Valid values:'."\n" ."\n" .'* **100**: The IPsec-VPN connection associated with the policy-based route serves as an active connection.'."\n" .'* **0**: The IPsec-VPN connection associated with the policy-based route serves as a standby connection.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '0', 'title' => ''], ], [ 'name' => 'NewWeight', 'in' => 'query', 'schema' => ['description' => 'The new weight of the policy-based route. Valid values:'."\n" ."\n" .'* **100**: The IPsec-VPN connection associated with the policy-based route serves as an active connection.'."\n" .'* **0**: The IPsec-VPN connection associated with the policy-based route serves as a standby connection.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '100', 'title' => ''], ], [ 'name' => 'OverlayMode', 'in' => 'query', 'schema' => ['description' => 'The tunneling protocol. The value is set to **Ipsec**, which indicates the IPsec tunneling protocol.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Ipsec', 'title' => ''], ], [ 'name' => 'Priority', 'in' => 'query', 'schema' => ['description' => 'The priority of the policy-based route.'."\n" ."\n" .'* If the route was not assigned a priority, this parameter is optional.'."\n" ."\n" .'* If the route was assigned a priority, this parameter is optional.'."\n" ."\n" .' If you specify this parameter, set the value to the priority that was assigned to the policy-based route. Otherwise, the operation fails.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE ', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'VpnGateway.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => ''], ['errorCode' => 'VpnRouteEntry.AlreadyExists', 'errorMessage' => 'The specified route entry is already exist.', 'description' => 'The route already exists.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified route entry has conflict.', 'description' => 'Route conflicts exist.'], ['errorCode' => 'VpnRouteEntry.SrcDestWeightConflict', 'errorMessage' => 'The VPN gateway does not support Policy-based routing with the same source CIDR, destination CIDR and weight.', 'description' => 'VPN Gateway does not support policy-based routes that have the same source CIDR block, destination CIDR block, and weight.'], ['errorCode' => 'VpnRouteEntry.SamePriorityPbrRoutePrefixOverlap', 'errorMessage' => 'The source CIDR and destination CIDR of Policy-based routes with the same priority cannot overlap.', 'description' => 'VPN Gateway does not support policy-based routes that have the same priority and overlapping source CIDR blocks and destination CIDR blocks.'], ['errorCode' => 'VpnRouteEntry.SrcDestConflict', 'errorMessage' => 'The VPN gateway does not support Policy-based routing with the same source CIDR and destination CIDR.', 'description' => 'The source CIDR block and destination CIDR block of a policy-based route for a dual-tunnel VPN gateway cannot be the same.'], ['errorCode' => 'VpnPbrRouteEntry.NotSupport', 'errorMessage' => 'Current version of the VPN does not support pbr route entry.', 'description' => '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.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 1000, 'maxCallbackTimes' => 30], 'title' => 'ModifyVpnPbrRouteEntryWeight', 'summary' => 'Modifies the weight of a policy-based route of a VPN gateway.', 'description' => '* **ModifyVpnPbrRouteEntryWeight** 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 [DescribeVpnGateway](~~73720~~) to query the status of the task.'."\n" ."\n" .' * If a VPN gateway is in the **updating** state, the policy-based route entry is being modified.'."\n" .' * If a VPN gateway is in the **active** state, the policy-based route entry is modified.'."\n" ."\n" .'* You cannot repeatedly call the **ModifyVpnPbrRouteEntryWeight** operation for the same VPN gateway within the specified period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-08-02T07:08:09.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'ModifyVpnRouteEntryWeight' => [ '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' => 'The ID of the region where the VPN gateway is created. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => 'd7d24a21-f4ba-4454-9173-b3828dae492b', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPN gateway.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpn-bp1a3kqjiiq9legfx****', 'title' => ''], ], [ 'name' => 'RouteDest', 'in' => 'query', 'schema' => ['description' => 'The destination CIDR block of the destination-based route.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '10.0.0.0/24', 'title' => ''], ], [ 'name' => 'NextHop', 'in' => 'query', 'schema' => ['description' => 'The next hop of the destination-based route.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vco-bp15oes1py4i66rmd**** ', 'title' => ''], ], [ 'name' => 'Weight', 'in' => 'query', 'schema' => ['description' => 'The original weight of the destination-based route. Valid values:'."\n" ."\n" .'* **0**: a low priority'."\n" .'* **100**: a high priority'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '0', 'title' => ''], ], [ 'name' => 'NewWeight', 'in' => 'query', 'schema' => ['description' => 'The new weight of the destination-based route. Valid values:'."\n" ."\n" .'* **0**: a low priority'."\n" .'* **100**: a high priority'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '100', 'title' => ''], ], [ 'name' => 'OverlayMode', 'in' => 'query', 'schema' => ['description' => 'The tunneling protocol. Set the value to **Ipsec**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Ipsec', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE ', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'VpnGateway.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => ''], ['errorCode' => 'VpnRouteEntry.AlreadyExists', 'errorMessage' => 'The specified route entry is already exist.', 'description' => 'The route already exists.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified route entry has conflict.', 'description' => 'Route conflicts exist.'], ['errorCode' => 'VpnRouteEntry.BackupRoute', 'errorMessage' => 'Validate backup route entry failed.', 'description' => 'Active/standby routes failed authentication.'], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 1000, 'maxCallbackTimes' => 30], 'title' => 'ModifyVpnRouteEntryWeight', 'summary' => 'Modifies the weight of a destination-based route.', 'description' => '* In scenarios where a VPN gateway has an active and a standby destination-based route, if you need to modify the weight of the active destination-based route, you must first delete the standby destination-based route. After you modify the active destination-based route, configure a standby destination-based route. If you need to modify the weight of the standby destination-based route, you also need to delete the active destination-based route first. After you modify the standby destination-based route, configure an active destination-based route. For more information about how to delete a destination-based route, see [DeleteVpnRouteEntry](~~2526961~~).'."\n" ."\n" .'* **ModifyVpnRouteEntryWeight** 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 [DescribeVpnGateway](~~73720~~) to query the status of the task.'."\n" ."\n" .' * If the VPN gateway is in the **updating** state, the weight of the destination-based route is being modified.'."\n" .' * If the VPN gateway is in the **active** state, the weight of the destination-based route is modified.'."\n" ."\n" .'* You cannot repeatedly call the **ModifyVpnRouteEntryWeight** operation to modify the weight of destination-based route for the same VPN gateway within the specified period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-08-02T07:08:07.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'MoveResourceGroup' => [ 'summary' => 'Modifies the resource group to which a cloud resource belongs.', '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' => 'The instance ID of the cloud resource for which you want to modify the resource group.', 'type' => 'string', 'required' => true, 'example' => 'vpc-hp31psbg8ec3023s6****', 'title' => ''], ], [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => ['description' => 'The type of the cloud resource for which you want to modify the resource group. Valid values:'."\n" ."\n" .'- **Vpc**: virtual private cloud (VPC)'."\n" .'- **Eip**: elastic IP address (EIP)'."\n" .'- **BandwidthPackage**: Internet Shared Bandwidth'."\n" .'- **PrefixList**: prefix list'."\n" .'- **PublicIpAddressPool**: IPAM pool'."\n" .'- **FlowLog**: flow log'."\n" .'- **HaVip**: high-availability (HA) virtual IP address'."\n" .'- **TrafficMirrorFilter**: traffic mirror filter'."\n" .'- **TrafficMirrorSession**: traffic mirror session'."\n" .'- **IPv4Gateway**: IPv4 gateway'."\n" .'- **IPv6Gateway**: IPv6 gateway'."\n" .'- **IPv6Address**: IPv6 address'."\n" .'- **DhcpOptionsSet**: DHCP options set'."\n" .'- **GatewayEndpoint**: gateway endpoint', 'type' => 'string', 'required' => true, 'example' => 'vpc', 'title' => ''], ], [ 'name' => 'NewResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which you want to move the cloud resource instance.'."\n" ."\n" .'> A resource group is a mechanism for managing resources by group within an Alibaba Cloud account. Resource groups help you address complex resource grouping and authorization management issues within a single cloud account. For more information, see [What is Resource Management?](~~94475~~).', 'type' => 'string', 'required' => true, 'example' => 'rg-acfm3peow3k****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the cloud resource.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidResourceGroupId', 'errorMessage' => 'The specified ResourceGroupId does not exist.', 'description' => 'The specified resource group ID does not exist.'], ['errorCode' => 'InvalidResourceId.NotFound', 'errorMessage' => 'The specified ResourceId does not exist.', 'description' => ''], ['errorCode' => 'IllegalParam.ResourceType', 'errorMessage' => 'Invalid Resource Type value.', 'description' => 'The ResourceType parameter is not supported or set to an invalid value.'], ['errorCode' => 'OperationFailed.InstanceStatusNotAllowed', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The resource in this state does not support the current operation.'], ['errorCode' => 'IncorrectStatus.Vpc', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The instance is in an invalid state.'], ['errorCode' => 'Forbidden.OperateManagedFlowLog', 'errorMessage' => 'Authentication is failed for operate managed flowlog.', 'description' => 'Authentication failed when operating the managed flow log.'], ], 404 => [ ['errorCode' => 'InvalidBandwidthPackageId.NotFound', 'errorMessage' => 'The specified bandwidthPackage resourceId does not exist in our records.', 'description' => 'The error message returned because the specified EIP bandwidth plan does not exist.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Modify the resource group of a cloud resource', 'description' => 'The **ChangeResourceGroup** operation does not support concurrent modifications of the resource group for Express Connect circuit resources within the same Express Connect circuit instance.', 'changeSet' => [ ['createdAt' => '2023-08-09T12:09:36.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2023-07-18T07:25:12.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-05-17T09:49:59.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MoveResourceGroup'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:MoveResourceGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:bandwidthpackage/{#BandwidthPackageId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Eip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'PrefixList', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:prefixlist/{#PrefixListId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'GatewayEndpoint', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:gatewayendpoint/{#GatewayEndpointId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'DhcpOptionsSet', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:dhcpoptionsset/{#DhcpOptionsSetId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'FlowLog', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:flowlog/{#FlowLogId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'HaVip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/{#HaVipId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Ipv4Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv4gateway/{#Ipv4GatewayId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/{#Ipv6GatewayId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'PublicIpAddressPool', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:publicipaddresspool/{#PublicIpAddressPoolId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/{#TrafficMirrorFilterId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorSession', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorsession/{#TrafficMirrorSessionId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\"\\n}","type":"json"}]', ], 'MoveVpnResourceGroup' => [ 'methods' => ['post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the resource.', 'type' => 'string', 'required' => true, 'example' => 'vpn-8vb3lzn7biepthri8****', 'title' => ''], ], [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => ['description' => 'The resource type. Valid values:'."\n" ."\n" .'- **VpnGateway**: VPN gateway instance.'."\n" ."\n" .' After you change the resource group of a VPN gateway instance, the resource group of the IPsec server, SSL server, SSL client certificate, and IPsec-VPN connections (IPsec-VPN connections associated with the VPN gateway instance) under the VPN gateway instance is also changed.'."\n" .'- **CustomerGateway**: customer gateway instance.'."\n" .'- **VpnAttachment**: IPsec-VPN connection instance.'."\n" .' '."\n" .' This refers to IPsec-VPN connections associated with a transit router instance or IPsec-VPN connections that are not associated with any resource.', 'type' => 'string', 'required' => true, 'example' => 'VpnGateway', 'title' => ''], ], [ 'name' => 'NewResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the new resource group to which the resource belongs.', 'type' => 'string', 'required' => true, 'example' => 'rg-acfmzs372yg****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the resource.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-zhangjiakou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '89ED47AF-3319-566E-A5F5-94E3F47F54A8'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'InstanceId is not found.', 'description' => 'The Express Connect circuit ID is invalid.'], ['errorCode' => 'InvalidResourceGroupId', 'errorMessage' => 'The specified ResourceGroupId does not exist.', 'description' => 'The specified resource group ID does not exist.'], ['errorCode' => 'InvalidResourceId.NotFound', 'errorMessage' => 'The specified ResourceId does not exist.', 'description' => ''], ['errorCode' => 'IllegalParam.ResourceType', 'errorMessage' => 'Invalid Resource Type value.', 'description' => 'The ResourceType parameter is not supported or set to an invalid value.'], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Modify the resource group of a VPN gateway resource', 'summary' => 'Modifies the resource group to which a VPN gateway resource belongs.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MoveVpnResourceGroup'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:MoveVpnResourceGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89ED47AF-3319-566E-A5F5-94E3F47F54A8\\"\\n}","type":"json"}]', ], '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' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not set this parameter, the system automatically set **ClientToken** to the value of **RequestId**. The value of **RequestId** for each API request is different.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the flow log.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the flow log.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '28CF47AB-B6C0-5FA2-80C7-2B28826A92CB'], 'Code' => ['description' => 'The HTTP status code.'."\n", 'type' => 'string', 'example' => '200'], 'Message' => ['description' => 'The information returned after the flow log feature is enabled.'."\n", 'type' => 'string', 'example' => 'successful'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.ExceedPurchaseLimit', 'errorMessage' => 'You have reached the limit of purchase quantity.', 'description' => ''], ['errorCode' => 'Forbidden.RAM', 'errorMessage' => 'User not authorized to operate on the specified resource, or this API doesn\'t support RAM.', 'description' => ''], ['errorCode' => 'OperationFailed.AliGroupUserCanNotBuyInnerCommodity', 'errorMessage' => 'Vpc_flowlog_public has no group cloud product label, and users within the group are not allowed to purchase.', 'description' => 'vpc_flowlog_public does not have a merchandise tag and cannot be purchased by an internal group user.'], ['errorCode' => 'OperationFailed.QuotaNotEnough', 'errorMessage' => 'Your quota is insufficient. Please contact your channel partner to increase your quota', 'description' => ''], ['errorCode' => 'Order.NoRealNameAuthentication', 'errorMessage' => 'Real-name verification has not been completed for the account.', 'description' => 'You have not performed real-name authentication. Please go to the account center to complete real-name authentication.'], ['errorCode' => 'OperationFailed.BasicInfoUncompleted', 'errorMessage' => 'You have not completed your basic personal information, please complete the information and try again.', 'description' => 'Your basic information is incomplete. Specify the information and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'OpenFlowLogService', 'summary' => 'Enables the flow log feature.', 'description' => '* You cannot repeatedly call the **OpenFlowLogService** operation within the specified period of time by using an Alibaba Cloud account.'."\n" .'* You can call the [GetFlowLogServiceStatus](~~449624~~) operation to query the status of the flow log feature.', 'changeSet' => [ ['createdAt' => '2023-03-16T06:10:40.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2022-08-29T11:03:13.000Z', 'description' => 'Error codes changed, Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:OpenFlowLogService', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'FlowLogService', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:flowlog/*'], ], ], ], ], ], 'OpenPhysicalConnectionService' => [ 'summary' => 'Enables billing for outbound data transfer.', 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the region where the Express Connect circuit is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", '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' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'PURCHASE_QUANTITY_LIMIT', 'errorMessage' => 'Your purchase quantity exceeds the maximum limit.', 'description' => ''], ['errorCode' => 'InvalidOperation.OrderOpened', 'errorMessage' => 'You have already open the service. Go to the console to start using it.', 'description' => 'The cloud traffic service has been activated. Go to the console to use it.'], ], ], 'title' => 'OpenPhysicalConnectionService', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-04-03T03:52:02.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 54B48E3D-DF70-471B-AA93-08E683A1B45\\n","errorExample":""}]', ], 'OpenPublicIpAddressPoolService' => [ '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' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request is different.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655442455', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IP address pool.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IP address pool.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '28CF47AB-B6C0-5FA2-80C7-2B37726A92CB', 'title' => ''], 'Code' => ['description' => 'The status code.', 'type' => 'string', 'example' => '200', 'title' => ''], 'Message' => ['description' => 'The message returned when the IP address pool feature is activated.', 'type' => 'string', 'example' => 'successful', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.ExceedPurchaseLimit', 'errorMessage' => 'You have reached the limit of purchase quantity.', 'description' => ''], ['errorCode' => 'Forbidden.RAM', 'errorMessage' => 'User not authorized to operate on the specified resource', 'description' => ''], ['errorCode' => 'OperationFailed.QuotaNotEnough', 'errorMessage' => 'Your quota is insufficient. Please contact your channel partner to increase your quota', 'description' => ''], ['errorCode' => 'Order.NoRealNameAuthentication', 'errorMessage' => 'Real-name verification has not been completed for the account.', 'description' => 'You have not performed real-name authentication. Please go to the account center to complete real-name authentication.'], ['errorCode' => 'OperationFailed.BasicInfoUncompleted', 'errorMessage' => 'You have not completed your basic personal information, please complete the information and try again.', 'description' => 'Your basic information is incomplete. Specify 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.', 'description' => 'Failed to activate the IP address pool service. Please go to the quota center to apply for permission.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Activate the IP address pool feature', 'summary' => 'Calls the OpenPublicIpAddressPoolService operation to activate the IP address pool feature.', 'description' => '- The **OpenPublicIpAddressPoolService** operation does not support concurrent activation of the IP address pool feature within the same Alibaba Cloud account.'."\n" ."\n" .'- You can call the GetPublicIpAddressPoolServiceStatu operation to query the activation status of the IP address pool feature.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OpenPublicIpAddressPoolService'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:OpenPublicIpAddressPoolService', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"28CF47AB-B6C0-5FA2-80C7-2B37726A92CB\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\"\\n}","type":"json"}]', ], 'OpenTrafficMirrorService' => [ 'summary' => 'Enables traffic mirror.', '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' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655442222', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region to which the mirrored traffic belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region to which the mirrored traffic belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4FCCF008-4C13-4231-BE77-D5203801A9E2', 'title' => ''], 'Code' => ['description' => 'The error code.'."\n", 'type' => 'string', 'example' => '200', 'title' => ''], 'Message' => ['description' => 'The information returned after traffic mirror is enabled.', 'type' => 'string', 'example' => 'successful', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.ExceedPurchaseLimit', 'errorMessage' => 'You have reached the limit of purchase quantity.', 'description' => ''], ['errorCode' => 'Forbidden.RAM', 'errorMessage' => 'User not authorized to operate on the specified resource', 'description' => ''], ['errorCode' => 'OperationFailed.AliGroupUserCanNotBuyInnerCommodity', 'errorMessage' => 'Vpc_flowlog_public has no group cloud product label, and users within the group are not allowed to purchase.', 'description' => 'vpc_flowlog_public does not have a merchandise tag and cannot be purchased by an internal group user.'], ['errorCode' => 'OperationFailed.QuotaNotEnough', 'errorMessage' => 'Your quota is insufficient. Please contact your channel partner to increase your quota', 'description' => ''], ['errorCode' => 'Order.NoRealNameAuthentication', 'errorMessage' => 'Real-name verification has not been completed for the account.', 'description' => 'You have not performed real-name authentication. Please go to the account center to complete real-name authentication.'], ['errorCode' => 'OperationFailed.BasicInfoUncompleted', 'errorMessage' => 'You have not completed your basic personal information, please complete the information and try again.', 'description' => 'Your basic information is incomplete. Specify the information and try again.'], ['errorCode' => 'OperationDenied.TrafficMirrorServiceOpened', 'errorMessage' => 'The operation is not allowed because the traffic mirror service has been opened.', 'description' => 'The traffic mirroring service has been activated. Do not repeat the operation.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'OpenTrafficMirrorService', 'description' => '流量镜像功能是按照地域粒度开通,**OpenTrafficMirrorService**接口不支持在同一个地域内并发开通流量镜像功能。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-06-16T02:03:28.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4FCCF008-4C13-4231-BE77-D5203801A9E2\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\"\\n}","type":"json"}]', 'translator' => 'manual', ], 'PublishVpcRouteEntries' => [ 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the instance. You can call the DescribeRegions operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RouteEntries', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of route entries to publish. A maximum of 50 routes can be specified.', 'type' => 'array', 'items' => [ 'description' => 'The list of route entries to publish.', 'type' => 'object', 'properties' => [ 'RouteTableId' => ['description' => 'The route table ID of the route entry.', 'type' => 'string', 'required' => true, 'example' => 'vtb-2ze3jgygk9bmsj23s****', 'title' => ''], 'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the route entry.', 'type' => 'string', 'required' => true, 'example' => '121.41.165.123/32', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 50, 'minItems' => 1, 'title' => '', 'example' => '', ], ], [ 'name' => 'TargetType', 'in' => 'query', 'schema' => ['description' => 'The type of the route publish target.', 'type' => 'string', 'required' => true, 'example' => 'ECR', 'title' => ''], ], [ 'name' => 'TargetInstanceId', 'in' => 'query', 'schema' => ['description' => 'The publish route entry target instance ID.', 'type' => 'string', 'required' => true, 'example' => 'ecr-dhw2xsds5****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run without publishing route entries. The system checks the AccessKey pair, Resource Access Management (RAM) user authorization, and required parameters. If the check fails, the corresponding error is returned. If the check passes, the error code `DryRunOperation` is returned.'."\n" ."\n" .'- **false** (default): sends a Normal request. After the request passes the check, a 2xx HTTP status code is returned and the resource status is queried.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '980960B0-2969-40BF-8542-EBB34FD358AB', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Vpc', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The instance is in an invalid state.'], ['errorCode' => 'ResourceNotFound.RouteEntry', 'errorMessage' => 'The specified resource routeEntry is not found.', 'description' => 'The specified route entry does not exist'], ['errorCode' => 'IncorrectStatus.RouteEntry', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'Route entry is in non-steady state'], ['errorCode' => 'Forbidden.OperateCustomRouteTable', 'errorMessage' => 'The operation is forbidden because publish route entry in custom route table.', 'description' => 'The operation is prohibited because it is not allowed to publish route entries in the custom route table.'], ['errorCode' => 'IncorrectStatus.RouteEntryPublishStatus', 'errorMessage' => 'Route entry publish status is incorrect.', 'description' => 'The route publish status of the route entry is incorrect.'], ['errorCode' => 'ResourceNotAssociated.TargetInstance', 'errorMessage' => 'The target instance is not associated with vpc.', 'description' => ''], ['errorCode' => 'OperationDenied.UnsupportedTargetType', 'errorMessage' => 'The operation is not allowed because the target type is not supported.', 'description' => 'The operation was rejected because the type of the route publication target is not currently supported.'], ['errorCode' => 'IncorrectStatus.RouteTable', 'errorMessage' => 'The route table is in an invalid state.', 'description' => 'The specified routing table is in the wrong state'], ['errorCode' => 'OperationUnsupported.PublishSystemRouteEntry', 'errorMessage' => 'Publishing system route entry is unsupported.', 'description' => 'Publishing system routes is not supported.'], ['errorCode' => 'OperationUnsupported.UnsupportedNextHop', 'errorMessage' => 'Unsupported nexthop type for route entry publish operation.', 'description' => 'The next hop type of the route entry does not support publishing.'], ['errorCode' => 'OperationUnsupported.PublishPrefixListRouteEntry', 'errorMessage' => 'Publishing prefix list route entry is unsupported.', 'description' => 'Publishing route prefix list routes is not supported.'], ['errorCode' => 'InvalidRouteTableId.NotFound', 'errorMessage' => 'Specified route table does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Publish VPC routes', 'summary' => 'Publishes VPC routes to external components.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'PublishVpcRouteEntries'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:PublishVpcRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"980960B0-2969-40BF-8542-EBB34FD358AB\\"\\n}","type":"json"}]', ], 'PublishVpnRouteEntry' => [ 'summary' => 'Calls the PublishVpnRouteEntry operation to publish destination routes or policy routes to the system route table of a VPC, or withdraw published destination routes or policy routes from the VPC system route table.', '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' => 'The region ID of the VPN gateway instance.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'The value of this parameter is generated by the client. Make sure that the value is unique among different requests. The maximum length is 64 ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request is different.', 'type' => 'string', 'required' => false, 'example' => 'd7d24a21-f4ba-4454-9173-b382****', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPN gateway instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpn-bp1a3kqjiiq9legfx****', 'title' => ''], ], [ 'name' => 'RouteDest', 'in' => 'query', 'schema' => ['description' => 'The destination CIDR block of the VPN gateway route entry.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '10.0.0.0/24', 'title' => ''], ], [ 'name' => 'NextHop', 'in' => 'query', 'schema' => ['description' => 'The next hop of the VPN gateway route entry.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vco-bp15oes1py4i66rmd****', 'title' => ''], ], [ 'name' => 'RouteType', 'in' => 'query', 'schema' => ['description' => 'The type of the VPN gateway route entry. Valid values:'."\n" ."\n" .'- **pbr**: policy-based route.'."\n" ."\n" .'- **dbr**: destination-based route.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'pbr', 'title' => ''], ], [ 'name' => 'PublishVpc', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to publish or withdraw the route. Valid values:'."\n" ."\n" .'- **true**: publishes the route.'."\n" ."\n" .' If this parameter is set to **true**, the destination route or policy route is published to the system route table of the VPC.'."\n" ."\n" .'- **false**: withdraws the route.'."\n" ."\n" .' If this parameter is set to **false**, the published destination route or policy route is withdrawn from the VPC system route table.'."\n" ."\n\n" .'> If the policy route table and destination route table contain route entries with the same destination CIDR block, and both route entries are published to the same VPC, when you withdraw the route entry from the policy route table, the route entry in the destination route table is also withdrawn. When you withdraw the route entry from the destination route table, the route entry in the policy route table is also withdrawn.', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE ', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The quota of resource is full', 'description' => ''], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'VpnGateway.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => ''], ['errorCode' => 'VpnRouteEntry.AlreadyExists', 'errorMessage' => 'The specified route entry is already exist.', 'description' => 'The route already exists.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified route entry has conflict.', 'description' => 'Route conflicts exist.'], ['errorCode' => 'InvalidVpnRouteEntry.NotFound', 'errorMessage' => 'The specified route entry does not exist.', 'description' => 'The error message returned because the specified route does not exist.'], ['errorCode' => 'OperationFailed.InvalidStatus', 'errorMessage' => 'Route entry is not allowed to operate in current status.', 'description' => 'You are not allowed to manage the route in the current state.'], ['errorCode' => 'OperationFailed.RouteConflict', 'errorMessage' => 'Operation failed because there is already a route in VPC route table to another VPN on the same network block.', 'description' => '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.', 'description' => 'The CIDR 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.', 'description' => '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.', 'description' => 'Your requests are too frequent. Try again later.'], ['errorCode' => 'IllegalParam.CidrBlock', 'errorMessage' => 'The specified CidrBlock is illegal.', 'description' => 'The operation failed because CidrBlock is set to an invalid value.'], ['errorCode' => 'QuotaExceeded', 'errorMessage' => 'Route entry quota exceeded in this route table.', 'description' => ''], ['errorCode' => 'MissingParameter', 'errorMessage' => 'Miss mandatory parameter.', 'description' => ''], ['errorCode' => 'InvalidCidrBlock.Malformed', 'errorMessage' => 'Specified CIDR block is not valid.', 'description' => ''], ['errorCode' => 'InvalidCIDRBlock.Duplicate', 'errorMessage' => 'Specified CIDR block is already exists.', 'description' => ''], ['errorCode' => 'IncorrectVpcStatus', 'errorMessage' => 'Current VPC status does not support this operation.', 'description' => ''], ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'Current instance status does not support this operation.', 'description' => ''], ['errorCode' => 'IncorrectRouteEntryStatus', 'errorMessage' => 'Some route entry status blocked this operation.', 'description' => ''], ['errorCode' => 'IncorrectVSwitchStatus', 'errorMessage' => 'The current virtual switch status does not support this operation.', 'description' => 'The error message returned because the vSwitch is in the Pending state and cannot be deleted.'], ['errorCode' => 'InvalidCidrBlock', 'errorMessage' => 'Specified CIDR block is not valid.', 'description' => 'Possible reasons for error reporting:'."\n" .'1. You are not in the whitelist of the 10.0.0.0/8 CIDR block and cannot use this CIDR block.'."\n" .'2. The target CIDR block of the added custom route cannot belong to the CIDR block of all vSwitches under the same VPC.'."\n" .'3. Because 100.64.0.0/10 is a cloud service address, you cannot add this CIDR block to point to the IDC under the cloud.'."\n" .'4. Except for 100.64.0.0/10, the detailed route network segments such as 100.64.0.0/11 and 100.96.0.0/11 cannot be used in the IDC under the cloud.'], ['errorCode' => 'InvalidNextHopType', 'errorMessage' => 'Specified parameter "NextHopType" is not valid', 'description' => ''], ['errorCode' => 'InvalidNextHop.NotFound', 'errorMessage' => 'Specified next hop does not exist.', 'description' => ''], ['errorCode' => 'InvalidVRouter.NotFound', 'errorMessage' => 'vRouter not exists.', 'description' => ''], ['errorCode' => 'InvalidVPC.NotFound', 'errorMessage' => 'vpc not exists.', 'description' => ''], ['errorCode' => 'InvalidNexthopTypeAndList.BothNull', 'errorMessage' => 'both nexthopType and nextHopList are null.', 'description' => ''], ['errorCode' => 'InvalidNexthopTypeAndList.BothNotNull', 'errorMessage' => 'both nexthopType and nextHopList are not null.', 'description' => ''], ['errorCode' => 'InvalidRouterInterface', 'errorMessage' => 'invalid router interface.', 'description' => ''], ['errorCode' => 'InvalidOppositeRouterType', 'errorMessage' => 'nexthop list cannot only contain router interface whose opposite router interface is on vbr.', 'description' => ''], ['errorCode' => 'InvalidNexthopListSize', 'errorMessage' => 'nexthop size is illegal. Must be between 2 and 4.', 'description' => 'You must specify two to four router interfaces as next hops.'], ['errorCode' => 'InvalidEntryRuleQuota.NotFound', 'errorMessage' => 'Route entry quota rule not exists.', 'description' => ''], ['errorCode' => 'Forbidden.CheckEntryRuleQuota', 'errorMessage' => 'Route entry quota rule check error.', 'description' => ''], ['errorCode' => 'InvalidVBRStatus', 'errorMessage' => 'invalid virtual border router status.', 'description' => ''], ['errorCode' => 'InvalidPhysicalConnectionBusinessStatus', 'errorMessage' => 'invalid physical connection business status.', 'description' => ''], ['errorCode' => 'IncorrectHaVipStatus', 'errorMessage' => 'This operation is denied because satus of the specified HaVip is neither Available nor InUse.', 'description' => 'You cannot perform the operation when the specified HAVIP is in the Available or InUse state.'], ['errorCode' => 'CountLimitExceed.HaVipRouteEntry', 'errorMessage' => 'There can be 5 route entry to HaVip at most in one route table.', 'description' => 'The number of route entries that point to the HAVIP has reached the upper limit.'], ['errorCode' => 'InvalidRouteEntry.Duplicate', 'errorMessage' => 'The route entry already exist.', 'description' => ''], ['errorCode' => 'INVALID_WEIGHT_PARAM', 'errorMessage' => 'Specified value of weight invalid', 'description' => ''], ['errorCode' => 'FORBIDDEN_USE_VPC_AS_INTERNET_GATEWAY', 'errorMessage' => 'The Specified CIDR must be in vpc CIDR.', 'description' => ''], ['errorCode' => 'INVALID_VPC_ID', 'errorMessage' => 'The Specified VpcId not match.', 'description' => 'The specified VPC does not exist.'], ['errorCode' => 'InvalidRouteEntrySize', 'errorMessage' => 'The Specified routerEntry size not legal.', 'description' => 'You must specify two to four router interfaces as next hops if you want to configure ECMP routing.'], ['errorCode' => 'RouteConflict.AlreadyExist', 'errorMessage' => 'Route conflict exists in routing table.', 'description' => 'Route conflicts exist in the route table.'], ['errorCode' => 'InvalidRouteEntryName.Malformed', 'errorMessage' => 'Specified RouteEntry name is not valid.', 'description' => 'The new name of the route is invalid.'], ['errorCode' => 'Duplicated.VpcNextHop', 'errorMessage' => 'Route entry nexthop duplicate.', 'description' => 'Duplicate next hops are specified.'], ['errorCode' => 'InvalidNexthop.DirectEni', 'errorMessage' => 'The direct Eni cannot be nexthop.', 'description' => 'An ENI in cut-through mode cannot be specified as a next hop.'], ['errorCode' => 'InvalidAttachment.NotFound', 'errorMessage' => 'The attachment is not found.', 'description' => 'The specified transit router does not exist.'], ['errorCode' => 'OperationFailed.ActiveNetworkInterfaceNotFound', 'errorMessage' => 'No active network interface is found on the attachment.', 'description' => 'No ENI is available on the specified transit router.'], ['errorCode' => 'InvalidNetworkInterface.NotFound', 'errorMessage' => 'The network interface is not found on the attachment.', 'description' => 'No ENI is associated with the specified transit router.'], ['errorCode' => 'OperationFailed.QueryAttachmentInfo', 'errorMessage' => 'Failed to query attachment information.', 'description' => 'The system fails to query the transit router.'], ['errorCode' => 'IllegalParam.AttachmentId', 'errorMessage' => 'The attachment is invalid.', 'description' => 'The specified transit router is invalid.'], ['errorCode' => 'OperationFailed.NotSupportIPV6', 'errorMessage' => 'The specified next hop does not support IPv6.', 'description' => '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.', 'description' => 'The IPv6 address that is specified as the next hop is being created or being deleted.'], ['errorCode' => 'OperationUnsupported.Ipv6EntryOnPrimaryNetworkInterface', 'errorMessage' => 'You cannot create IPv6 route entries on a primary network interface.', 'description' => 'You cannot create an IPv6 route whose next hop is a primary ENI.'], ['errorCode' => 'OperationUnsupported.SpecifyIpOnIpv6Entry', 'errorMessage' => 'You cannot specify the private IP address when you create IPv6 route entries.', 'description' => 'You cannot specify a private IPv6 address as the destination CIDR block.'], ['errorCode' => 'OperationUnsupported.MutipleIpv6Address', 'errorMessage' => 'You cannot specify a next hop that has bound multiple IPv6 addresses.', 'description' => 'You cannot specify a next hop that is assigned multiple IPv6 addresses.'], ['errorCode' => 'OperationDenied.Ipv6EntryOnCustomTable', 'errorMessage' => 'You cannot create any IPv6 route entry on a custom route table.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Publish or withdraw VPN routes', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-07-21T09:24:31.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'PublishVpnRouteEntry'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:PublishVpnRouteEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\\\t\\"\\n}","type":"json"}]', ], 'RecoverPhysicalConnection' => [ 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The instance ID of the Express Connect circuit.'."\n" ."\n" .'> Currently, only shared Express Connect circuits can be recovered.', 'type' => 'string', 'required' => true, 'example' => 'pc-bp1mrgfbtmc9brre7****'], ], [ 'name' => 'Token', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'The client generates the value of this parameter. The value must be unique among different requests and cannot exceed 64 ASCII characters in length.', 'type' => 'string', 'required' => false, 'example' => 'CBCE910E-D396-4944-8****'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run without recovering access to the Express Connect circuit. The system checks the required parameters, request format, and instance status. If the check fails, the corresponding error is returned. If the check succeeds, the request ID is returned.'."\n" .'- **false** (default): sends the request. After the request passes the check, access to the Express Connect circuit is recovered.', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the Express Connect circuit.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The response.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'CD14EA74-E9C3-59A9-942A-DFEC7E12818D'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.PhysicalConnection', 'errorMessage' => 'The status of %s is incorrect.', 'description' => 'The operation failed because the status of the Express Connect circuit is invalid.'], ['errorCode' => 'ResourceNotFound', 'errorMessage' => 'The specified resource %s is not found.', 'description' => 'The specified resource %s is not found.'], ['errorCode' => 'OperationDenied.TerminateVirtualPhysicalConnection', 'errorMessage' => 'The operation is not allowed because of TerminateVirtualPhysicalConnection.', 'description' => 'The VirtualPhysicalConnection does not have permission or is in arrears, the operation is not allowed'], ['errorCode' => 'OperationDenied.PconnNotAllowRecover', 'errorMessage' => 'Exclusive physical connection does not allow recovery.', 'description' => 'The current resource cannot perform this operation. Please contact the duty officer for assistance.'], ], ], 'title' => 'Recover access to an express connect circuit', 'summary' => 'Recovers access to an Express Connect circuit by calling the RecoverPhysicalConnection operation.', 'description' => '### Operation description'."\n" ."\n" .'You can call the RecoverPhysicalConnection operation to recover access to an Express Connect circuit that has been terminated. Currently, only shared Express Connect circuits can be recovered.', 'changeSet' => [ ['createdAt' => '2024-06-13T08:13:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-01-04T01:43:50.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-09-27T03:23:37.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RecoverPhysicalConnection'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:RecoverPhysicalConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#physicalconnectionId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CD14EA74-E9C3-59A9-942A-DFEC7E12818D\\"\\n}","type":"json"}]', ], 'RecoverVirtualBorderRouter' => [ 'summary' => 'Enables a disabled virtual border router (VBR).', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VBR.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'VbrId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VBR.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vbr-bp1lhl0taikrte****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidOperation.OperationNotAllowedInState', 'errorMessage' => 'The specified VirutalBorderRouter is in invalid state', 'description' => ''], ['errorCode' => 'OperationFailed.VlanIdAlreadyInUse', 'errorMessage' => 'The specifed vlanId has been used.', 'description' => ''], ['errorCode' => 'OperationFailed.PconnTrafficNotEnable', 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', 'description' => 'Billing for outbound data transfer is disabled.'], ], 403 => [ ['errorCode' => 'Forbidden.OperationRecoverNotAllowedByUser', 'errorMessage' => 'The caller is not allowed to recover the specified VirtualBorderRouter.', 'description' => 'The caller is not allowed to recover the specified VirtualBorderRouter.'], ], [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidVbrId.NotFound', 'errorMessage' => 'The specified VirutalBorderRouter is not found.', 'description' => ''], ], ], 'title' => 'RecoverVirtualBorderRouter', 'description' => 'After you call this operation, the VBR changes from the **terminated** state to the **recovering** state. After the operation is performed, the VBR enters the **active** state.'."\n" ."\n" .'When you call this operation, take note of the following items:'."\n" ."\n" .'* Only the owner of the Express Connect circuit can call this operation.'."\n" .'* The Express Connect circuit to which the VBR connects must be in the **Enabled** state.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], '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"}]', ], 'ReleaseEipAddress' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'autoTest' => true, 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the EIP to release. You can call [DescribeRegions](~~36063~~) to query the region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'AllocationId', 'in' => 'query', 'schema' => ['description' => 'The ID of the EIP to release.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eip-2zeerraiwb7uj6i0d****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '748C38F6-9A3D-482E-83FB-DB6C39C68AEA', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectEipStatus', 'errorMessage' => 'Current elastic IP status does not support this operation.', 'description' => ''], ['errorCode' => 'TaskConflict.AssociateGlobalAccelerationInstance', 'errorMessage' => 'Operate too frequent.', 'description' => ''], ['errorCode' => 'InvalidOperation.DeletionProtection', 'errorMessage' => 'The instance cannnot delete because of deletion protecion.', 'description' => ''], ['errorCode' => 'Forbidden.ReleaseSegmentEip', 'errorMessage' => 'Release single segment eip is forbidden.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'The eip instance owner error', 'description' => 'The EIP does not belong to your account. Check whether you are authorized to perform the operation on the EIP.'], ['errorCode' => 'Mismatch.%sAnd%s', 'errorMessage' => 'The %s and %s are mismatched.', 'description' => 'The parameter does not match. Check the parameter.'], ], 404 => [ ['errorCode' => 'InvalidAllocationId.NotFound', 'errorMessage' => 'Specified allocation ID is not found.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeEipAddresses', 'callbackInterval' => 3, 'maxCallbackTimes' => 10], 'title' => 'Release a specified EIP', 'summary' => 'Releases a specified elastic IP address (EIP).', 'description' => 'Before you begin:'."\n" ."\n" .'- Before releasing an EIP, make sure the following conditions are met:'."\n" ."\n" .' - Only EIPs in the **Available** state can be released.'."\n" ."\n" .' - Only EIPs that use the pay-as-you-go billing method can be released. Subscription EIPs cannot be released.'."\n" ."\n" .'- The **ReleaseEipAddress** operation is asynchronous. After you invoke this operation, the system returns a request ID, but the EIP instance has not been released yet. The release node continues to execute in the background. You can invoke [DescribeEipAddresses](~~120193~~) to query the status of the EIP instance:'."\n" ."\n" .' - If the EIP instance is in the **Releasing** state, the EIP instance is being released. In this state, you can only execute query operations and cannot execute other operations.'."\n" ."\n" .' - If the EIP instance cannot be found, the EIP instance has been released.'."\n" ."\n" .'- The **ReleaseEipAddress** operation does not support concurrent release of the same EIP instance.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2022-11-28T03:45:29.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-17T11:38:45.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ReleaseEipAddress'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ReleaseEipAddress', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:tag', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"748C38F6-9A3D-482E-83FB-DB6C39C68AEA\\"\\n}","type":"json"}]', ], 'ReleaseEipSegmentAddress' => [ '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' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the contiguous EIPs. You can call [DescribeRegions](~~36063~~) to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'SegmentInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the contiguous EIP group to release.'."\n" ."\n" .'The system releases all EIPs in the contiguous EIP group.', 'type' => 'string', 'required' => true, 'example' => 'eipsg-2zett8ba055tbsxme****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001sdfg', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F7A6301A-64BA-41EC-8284-8F4838C15D1F', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectEipStatus', 'errorMessage' => 'Current elastic IP status does not support this operation.', 'description' => ''], ['errorCode' => 'Forbidden.ChargeTypeIsPrepaid', 'errorMessage' => 'It\'s forbidden to release a prepaid EIP', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'The eip instance owener error', 'description' => 'The EIP does not belong to your account. Check whether you have the permissions to perform the operation on the EIP.'], ['errorCode' => 'TaskConflict.AssociateGlobalAccelerationInstance', 'errorMessage' => 'Operate too frequent.', 'description' => ''], ['errorCode' => 'InvalidOperation.DeletionProtection', 'errorMessage' => 'The instance cannnot delete because of deletion protecion.', 'description' => ''], ['errorCode' => 'OperationFailed.InstanceNotExist', 'errorMessage' => 'Operation failed because eip segment instance not exist.', 'description' => ''], ['errorCode' => 'OperationFailed.EipNumInconsistent', 'errorMessage' => 'Operation failed because the number of eip is inconsistent.', 'description' => ''], ['errorCode' => 'OperationFailed.EipStatusInvalid', 'errorMessage' => 'Operation failed because eip instance status invalid.', 'description' => 'The operation failed because the status of the EIP is invalid.'], ['errorCode' => 'OperationFailed.EipInBwp', 'errorMessage' => 'Operation failed because eip instance has been added to the bandwidth package.', 'description' => ''], ['errorCode' => 'Forbidden.EipInBwp', 'errorMessage' => 'The EIP has been associated with an EIP bandwidth plan.', 'description' => 'You cannot delete the contiguous EIP group because EIPs in the group are associated with an EIP bandwidth plan.'], ], 404 => [ ['errorCode' => 'InvalidAllocationId.NotFound', 'errorMessage' => 'Specified allocation ID is not found.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Release contiguous eIPs', 'summary' => 'Releases contiguous Elastic IP addresses (EIPs) by calling ReleaseEipSegmentAddress.', 'description' => '- The **ReleaseEipSegmentAddress** operation releases all EIPs in a contiguous EIP group.'."\n" ."\n" .'- Before you call **ReleaseEipSegmentAddress**, make sure that:'."\n" ."\n" .' - All EIPs in the contiguous EIP group are in the unassociated state. To disassociate an EIP from a cloud resource, call [UnassociateEipAddress](~~2518066~~).'."\n" ."\n" .' - No EIPs in the contiguous EIP group are added to an Internet Shared Bandwidth instance. To remove an EIP from an Internet Shared Bandwidth instance, call [RemoveCommonBandwidthPackageIp](~~2518602~~).'."\n" ."\n" .'- **ReleaseEipSegmentAddress** is an asynchronous operation. After you call this operation, the system returns a request ID, but the contiguous EIPs are not yet released. The release task continues to run in the background. You can call [DescribeEipSegment](~~156063~~) to query the status of the contiguous EIP group: '."\n" .' - If the contiguous EIP group is in the **Releasing** state, the contiguous EIPs are being released. In this state, you can only perform query operations.'."\n" .' - If the contiguous EIP group cannot be found, the contiguous EIPs are released.'."\n" ."\n" .'- **ReleaseEipSegmentAddress** does not support concurrent release of the same contiguous EIP group.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-06-26T06:23:08.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-05-15T06:29:29.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ReleaseEipSegmentAddress'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:ReleaseEipSegmentAddress', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SegmentAddress', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F7A6301A-64BA-41EC-8284-8F4838C15D1F\\"\\n}","type":"json"}]', ], 'ReleaseIpv6Address' => [ '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' => 'The region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Ipv6AddressId', 'in' => 'query', 'schema' => ['description' => 'The ID of the IPv6 address.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ipv6-2zen5j4axcp5l5qyy****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must ensure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF', 'title' => ''], ], 'description' => '', 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'DependencyViolation.Ipv6InternetBandwidth', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => 'The specified resource is dependent on other resources and the current operation is not allowed.'], ['errorCode' => 'OperationFailed.AssociationExist', 'errorMessage' => 'Operation failed because the existence of an association.', 'description' => 'The operation failed because there is a bind operation failure.'], ['errorCode' => 'OperationFailed.ResourceInBinding', 'errorMessage' => 'The operation is failed because of the resource is in binding.', 'description' => 'The operation failed because the resource is in binding.'], ['errorCode' => 'IncorrectStatus.Ipv6Instance', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The IPv6 address is in an unstable state. Try again later.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.Ipv6InstanceId', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The specified IPv6 instance ID does not exist. Please check whether your input is correct.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ReleaseIpv6Address', 'summary' => 'Releases an idle IPv6 address.', 'changeSet' => [ ['createdAt' => '2024-06-28T01:52:06.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:ReleaseIpv6Address', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6address/{#Ipv6AddressId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\"\\n}","type":"json"}]', ], 'RemoveCommonBandwidthPackageIp' => [ 'summary' => 'Disassociates an EIP from an Internet Shared Bandwidth instance.', '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' => 'RegionId', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => 'The region ID of the Internet Shared Bandwidth instance. '."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) API to obtain the region ID. ', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'BandwidthPackageId', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => 'The ID of the Internet Shared Bandwidth instance. ', 'required' => true, 'docRequired' => true, 'example' => 'cbwp-2ze2ic1xd2qeqk145****', 'title' => ''], ], [ 'name' => 'IpInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => 'The ID of the EIP instance. '."\n" ."\n" .'You can call the [DescribeEipAddresses](~~36018~~) API to query the ID of the EIP instance. ', 'required' => true, 'docRequired' => true, 'example' => 'eip-2zeerraiwb7uj6i0d****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => 'A client token used to ensure the idempotence of the request. '."\n" ."\n" .'Generate a unique value for this parameter from your client to guarantee uniqueness across different requests. ClientToken supports only ASCII characters. '."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may differ for each API request. ', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The list of returned information. ', 'type' => 'object', 'properties' => [ 'RequestId' => ['type' => 'string', 'description' => 'The request ID. ', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IpInstanceId.NotBandwidthPackage', 'errorMessage' => 'The specified IpInstanceId does not in bandwidthPackage.', 'description' => ''], ['errorCode' => 'DependencyViolation.ip', 'errorMessage' => 'The specified BandwidthPackageId has eip in it.', 'description' => ''], ['errorCode' => 'EIP_BIND_NATGATEWAY', 'errorMessage' => 'The eip have bind natgateway.', 'description' => ''], ['errorCode' => 'IncorrectStatus.Eip', 'errorMessage' => 'Eip status error.', 'description' => ''], ['errorCode' => 'OperationFailed.SnatPoolIp', 'errorMessage' => 'Multi ip in snat pool cannot remove ip from bandwidth package.', 'description' => ''], ['errorCode' => 'DependencyViolation.RouteEntry', 'errorMessage' => 'vpc route table has route entry.', 'description' => ''], ['errorCode' => 'OperationFailed.DistibuteLock', 'errorMessage' => 'Distibute lock fail.', 'description' => 'The operation is locked by another request;'], ['errorCode' => 'Trade_Sync_Create_Sub_ERROR', 'errorMessage' => 'SyncOrderToSub error.', 'description' => ''], ['errorCode' => 'FAILED_INVOKE_INNER_API', 'errorMessage' => 'Failed to invoke inner api.', 'description' => ''], ['errorCode' => 'InvalidIP.IpInSnatPool', 'errorMessage' => 'Multi ip in snat pool cannot remove ip from bandwidth package.', 'description' => ''], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The specified bandwidthPackageId does not exist in our records.', 'description' => ''], ['errorCode' => 'OperationUnsupported.IpNotInCbwp', 'errorMessage' => 'The specified eip not exist in the commonBandwidthPackage.', 'description' => 'The EIP is not associated with the EIP bandwidth plan.'], ['errorCode' => 'InvalidIpInstanceId.Malformed', 'errorMessage' => 'The specified IpInstanceId is invalid.', 'description' => ''], ['errorCode' => 'OperationUnsupported.EipBindRemote', 'errorMessage' => 'Eip bind remote ecs/slb, cannot remove it from bandwidthPackage.', 'description' => ''], ['errorCode' => 'InvalidBandwidthPackageId.NotFound', 'errorMessage' => 'The specified BandwidthPackageId not exist.', 'description' => ''], ['errorCode' => 'InvalidEIPStatus.BizDisabled', 'errorMessage' => 'The EIP has been locked.', 'description' => 'The error message returned because the EIP is locked.'], ['errorCode' => 'Forbidden.FinancialLocked', 'errorMessage' => 'The ip business status is invalid.', 'description' => 'The error message returned because the instance has overdue payments.'], ['errorCode' => 'OperationFailed.SystemBusy', 'errorMessage' => 'Operation failed because system is busy.', 'description' => 'The error message returned because the system is busy. Try again later.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidBandwidthPackageId.NotFound', 'errorMessage' => 'The specified bandwidthPackageId does not exist in our records.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeCommonBandwidthPackages', 'callbackInterval' => 3, 'maxCallbackTimes' => 10], 'title' => 'RemoveCommonBandwidthPackageIp', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-06-26T06:23:10.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-29T10:25:34.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","type":"json"}]', ], 'RemoveGlobalAccelerationInstanceIp' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the shared-bandwidth instance is located.'."\n" ."\n" .'To query the region ID, call DescribeRegions.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'GlobalAccelerationInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the shared-bandwidth instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-m5ex47zwya1sejyni****', 'title' => ''], ], [ 'name' => 'IpInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the EIP.'."\n" ."\n" .'To query the EIP ID, call DescribeEipAddresses.'."\n", 'type' => 'string', 'required' => true, 'example' => 'eip-bp13e9i2qst4g6jzi****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '5BE01CD7-5A50-472D-AC14-CA181C5C03BE', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IpInstanceId.NotBandwidthPackage', 'errorMessage' => 'The specified IpInstanceId does not in bandwidthPackage.', 'description' => ''], ['errorCode' => 'DependencyViolation.ip', 'errorMessage' => 'The specified BandwidthPackageId has eip in it.', 'description' => ''], ['errorCode' => 'EIP_BIND_NATGATEWAY', 'errorMessage' => 'The eip have bind natgateway.', 'description' => ''], ['errorCode' => 'IpInstanceId.StatusNotAvailable', 'errorMessage' => 'The specified Eip Status is not Available, Cannot remove from GlobalAcceleration.', 'description' => ''], ['errorCode' => 'OperationUnsupported.IpNotInCbwp', 'errorMessage' => 'The specified eip is not in commonbandwidthPackage.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidBandwidthPackageId.NotFound', 'errorMessage' => 'The specified bandwidthPackageId does not exist in our records.', 'description' => ''], ], ], 'title' => 'Remove an EIP from a bandwidth-sharing instance', 'summary' => 'Invoke the RemoveGlobalAccelerationInstanceIp API to remove an elastic IP address (EIP) from a bandwidth-sharing instance.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:RemoveGlobalAccelerationInstanceIp', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5BE01CD7-5A50-472D-AC14-CA181C5C03BE\\"\\n}","type":"json"}]', ], 'RemoveIPv6TranslatorAclListEntry' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region of the ACL.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'AclId', 'in' => 'query', 'schema' => ['description' => 'The ID of the ACL to which the ACL entry belongs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ipv6transacl-bp1de2****', 'title' => ''], ], [ 'name' => 'AclEntryId', 'in' => 'query', 'schema' => ['description' => 'The ID of the ACL entry to be deleted.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ipv6transaclentry-bp105jrs****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidIPv6TranslatorAclId.NotFound', 'errorMessage' => 'The specified ipv6 translator acl instance id does not exist.', 'description' => ''], ['errorCode' => 'InvalidIPv6TranslatorAclEntryId.NotFound', 'errorMessage' => 'The specified ipv6 translator acl entry id does not exist.', 'description' => ''], ['errorCode' => 'IPv6TranslatorAcl.DeleteLastEntry', 'errorMessage' => 'The last acl entry can not be deleted when ipv6 translator acl is be used.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => ''], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], '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' => 'RemoveIPv6TranslatorAclListEntry', 'summary' => 'Deletes an IP entry from an ACL.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:RemoveIPv6TranslatorAclListEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#Ipv6TranslatorId}'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveIPv6TranslatorAclListEntry'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'RemoveSourcesFromTrafficMirrorSession' => [ 'summary' => 'Deletes a traffic mirror source from a traffic mirror session.', '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' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" ."\n" .'> If you do not set this parameter, the system uses **RequestId** as **ClientToken**. **RequestId** may be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to check the request without performing the operation. Valid values:'."\n" ."\n" .'* **true**: checks the request without performing the operation. The system checks the required parameters, request format, and limits. If the request fails the check, an error message is returned. If the request passes the check, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): sends the request. After the request passes the check, the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'TrafficMirrorSessionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the traffic mirror session from which you want to delete a traffic mirror source.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tms-j6cla50buc44ap8tu****', 'title' => ''], ], [ 'name' => 'TrafficMirrorSourceIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The ID of the traffic mirror source to be deleted. Maximum value of N: 10.', 'type' => 'array', 'items' => ['description' => 'The ID of the traffic mirror source to be deleted. Maximum value of **N**: **10**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'eni-j6c8znm5l1yt4sox****', 'title' => ''], 'required' => true, 'example' => 'eni-j6c8znm5l1yt4sox****', 'maxLength' => 128, 'maxItems' => 30, 'title' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region to which the traffic mirror session belongs. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list. For more information about regions that support traffic mirror, see [Overview of traffic mirror](~~207513~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hongkong', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'A33B2C6A-89D1-4DEA-A807-A6E8CC552484', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectBusinessStatus.TrafficMirror', 'errorMessage' => 'The business status of traffic mirror is incorrect.', 'description' => 'Traffic mirroring is in an invalid state.'], ['errorCode' => 'OptInRequired.TrafficMirror', 'errorMessage' => 'You need to subscribe to the traffic mirror service first.', 'description' => 'Traffic mirroring is disabled.'], ['errorCode' => 'DuplicatedParam.SourceInstanceIds', 'errorMessage' => 'The parameter of source instance IDs contains duplicate values.', 'description' => 'Duplicate values are set for TrafficMirrorSourceIds.N.'], ['errorCode' => 'ResourceNotFound.TrafficMirrorSession', 'errorMessage' => 'The specified resource of traffic mirror session is not found.', 'description' => ''], ['errorCode' => 'IncorrectStatus.TrafficMirrorSession', 'errorMessage' => 'The status of traffic mirror session is incorrect.', 'description' => ''], ['errorCode' => 'ResourceNotAssociated.TrafficMirrorSource', 'errorMessage' => 'The specified traffic mirror source and session are not associated.', 'description' => ''], ['errorCode' => 'ResourceNotFound.NetworkInterface', 'errorMessage' => 'The specified resource of network interface is not found.', 'description' => 'The specified ENI does not exist.'], ['errorCode' => 'ResourceNotFound.EcsInstance', 'errorMessage' => 'The specified resource of ECS instance is not found.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::ListTrafficMirrorSessions', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A33B2C6A-89D1-4DEA-A807-A6E8CC552484\\"\\n}","type":"json"}]', 'title' => 'RemoveSourcesFromTrafficMirrorSession', 'description' => '- **RemoveSourcesFromTrafficMirrorSession**接口属于异步接口,即系统返回一个请求ID,但该镜像源尚未删除成功,系统后台的删除任务仍在进行。您可以调用[ListTrafficMirrorSessions](~~261367~~)查询镜像会话的状态:'."\n" .' - 当镜像会话处于**Modifying**状态时,表示镜像源正在删除中。'."\n" .' - 当镜像会话处于**Created**状态时,表示镜像源删除成功。'."\n" .'- **RemoveSourcesFromTrafficMirrorSession**接口不支持并发删除同一个镜像会话中的镜像源。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-03-16T08:04:23.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:RemoveSourcesFromTrafficMirrorSession', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorSession', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorsession/{#TrafficMirrorSessionId}'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveSourcesFromTrafficMirrorSession'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'ReplaceVpcDhcpOptionsSet' => [ 'summary' => 'Replaces the DHCP options set that is associated with a virtual private cloud (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' => 'The region to which the DHCP options set belongs. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'DhcpOptionsSetId', 'in' => 'query', 'schema' => ['description' => 'The ID of the new DHCP options set.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dopt-o6w0df4epg9zo8isy****', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the associated VPC.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-dsferghthth****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not set this parameter, the system uses **RequestId** as **ClientToken**. **RequestId** may be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to check the request without performing the operation. Valid values:'."\n" ."\n" .'* **true**: checks the request without performing the operation. The system checks whether your AccessKey pair is valid, whether the Resource Access Management (RAM) user is authorized, and whether the required parameters are set. If the request fails to pass the check, the corresponding error message is returned. If the request passes the check, the DryRunOperation error code is returned.'."\n" .'* **false** (default): sends the request. If the request passes the check, a 2XX HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.AttachmentNotExist', 'errorMessage' => 'The current VPC is not attahced to a DHCP options set.', 'description' => 'The VPC is not associated with a DHCP options set.'], ['errorCode' => 'IncorrectStatus.VpcDhcpOptionsSet', 'errorMessage' => 'The dhcpOptionsSet status of VPC does not support this operation.', 'description' => 'The DHCP options set that is associated with the VPC is being configured. As a result, the DHCP options set does not support this operation.'], ['errorCode' => 'AttrMismatching.VpcDhcpOptionsSetId', 'errorMessage' => 'The dhcpOptionsSetId does not match the VPC.', 'description' => 'The ID of the DHCP options set does not match the VPC. Check whether the specified DHCP options set is associated with the VPC.'], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent. Please wait a moment and try again.', 'description' => 'The system is unavailable. Try again later.'], ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'Specified value of VpcId is not found in our record.', 'description' => ''], ['errorCode' => 'InvalidDhcpOptionsSetId.NotFound', 'errorMessage' => 'The specified dhcpOptionsSetId does not exist.', 'description' => 'The DHCP options set does not exist. Check whether the parameter is set to a valid value.'], ['errorCode' => 'IncorrectStatus.DhcpOptionsSet', 'errorMessage' => 'The DhcpOptionsSet status does not support this operation.', 'description' => 'The DHCP options set that is associated with the VPC is being configured. As a result, the DHCP options set does not support this operation. You can perform the operation after the status of the DHCP options set is stable.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::GetDhcpOptionsSet', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'ReplaceVpcDhcpOptionsSet', 'description' => '* The **ReplaceVpcDhcpOptionsSet** operation is asynchronous. After you send the request, the system returns a request ID. However, the operation is still being performed in the system background. You can call the [DescribeVpcAttribute](~~94565~~) operation to query the status of a DHCP options set:'."\n" ."\n" .' * If the DHCP options set is in the **Pending** state, the DHCP options set is being replaced.'."\n" .' * If the DHCP options set is in the **InUse** state, the DHCP options set is replaced.'."\n" ."\n" .'* You cannot repeatedly call the **ReplaceVpcDhcpOptionsSet** operation to replace the DHCP options set associated with a VPC within the specified period of time.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-07-12T15:28:50.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ReplaceVpcDhcpOptionsSet', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'DhcpOptionsSet', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:dhcpoptionsset/{#DhcpOptionsSetId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ReplaceVpcDhcpOptionsSet'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'RetryVpcPrefixListAssociation' => [ 'summary' => 'Re-applies a prefix list.', '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' => 'The ID of the prefix list that you want to re-apply.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'pl-0b7hwu67****', 'title' => ''], ], [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => ['description' => 'The type of the resource with which the prefix list is associated. Valid values:'."\n" ."\n" .'* **vpcRouteTable**: VPC route table'."\n" .'* **trRouteTable**: route table of a transit router'."\n", 'type' => 'string', 'required' => true, 'example' => 'vpcRouteTable', 'title' => ''], ], [ 'name' => 'ResourceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the associated resource.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vtb-bp1drpcfz9srr393h****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not set this parameter, the system automatically uses **RequestId** as **ClientToken**. **RequestId** may be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to only precheck the request. Valid values:'."\n" ."\n" .'* **true**: prechecks the request without associating the prefix list. The system prechecks the required parameters, request syntax, and limits. If the request fails the precheck, an error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n" .'* **false**: sends the request. If the request passes the precheck, a 2xx HTTP status code is returned and the prefix list is associated. This is the default value.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the prefix list that you want to re-apply.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'The feature of prefixList entry is not supported in this region.', 'description' => ''], ['errorCode' => 'OperationDenied.SystemPrefixList', 'errorMessage' => 'The operation is not allowed because of SystemPrefixList.', 'description' => 'You cannot manage the system prefix list.'], ['errorCode' => 'OperationFailed.OperateShareResource', 'errorMessage' => 'This is not allowed to operate shared prefixList.', 'description' => ''], ['errorCode' => 'IncorrectStatus.PrefixList', 'errorMessage' => 'The status of prefixList is incorrect.', 'description' => 'The prefix list is in an unstable state.'], ['errorCode' => 'OperationFailed.NotExistAssociateRelation', 'errorMessage' => 'The operation is failed because of association not exist.', 'description' => ''], ['errorCode' => 'ResourceNotFound.PrefixList', 'errorMessage' => 'The specified resource of prefixList is not found.', 'description' => 'The prefix list does not exist.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::GetVpcPrefixListAssociations', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'RetryVpcPrefixListAssociation', 'description' => '* If you modify the information about a prefix list but the modification is not automatically applied to the route table that is associated with the prefix list, you can call this operation to apply the latest prefix list to the associated route table.'."\n" ."\n" .'* The **RetryVpcPrefixListAssociation** operation is asynchronous. After you send the request, the system returns a request ID. However, the operation is still being performed in the background. You can call the [GetVpcPrefixListAssociations](~~445478~~) to check whether the prefix list is re-applied.'."\n" ."\n" .' * If the prefix list is in the **Modifying** state, the prefix list is being re-applied.'."\n" .' * If the prefix list is in the **ModifyFailed** state, the prefix list fails to be re-applied.'."\n" .' * If the prefix list is in the **Created** state, the prefix list is re-applied.'."\n" ."\n" .'* After you call the **RetryVpcPrefixListAssociation** operation to re-apply a prefix list, you cannot call the operation again until the current task is complete.', 'changeSet' => [ ['createdAt' => '2023-09-21T07:57:21.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-07-18T12:44:59.000Z', 'description' => 'OpenAPI offline'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:RetryVpcPrefixListAssociation', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PrefixList', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:prefixlist/{#PrefixListId}'], ], ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RetryVpcPrefixListAssociation'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'RevokeInstanceFromCen' => [ 'summary' => 'Revokes the permissions granted to a Cloud Enterprise Network (CEN) instance on a network instance.', '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' => 'The ID of the region where the network instance is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the network instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vpc-uf6o8d1dj8sjwxi6o****', 'title' => ''], ], [ 'name' => 'InstanceType', 'in' => 'query', 'schema' => ['description' => 'The type of the network instance. Valid values:'."\n" ."\n" .'* **VPC**'."\n" .'* **VBR**'."\n" .'* **CCN**'."\n", 'type' => 'string', 'required' => true, 'example' => 'VPC', 'title' => ''], ], [ 'name' => 'CenId', 'in' => 'query', 'schema' => ['description' => 'The ID of the CEN instance to which the network instance is attached.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''], ], [ 'name' => 'CenOwnerId', 'in' => 'query', 'schema' => ['description' => 'The user ID (UID) of the Alibaba Cloud account to which the CEN instance belongs.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '123456789', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus', 'errorMessage' => 'Current Instance status does not support this operation.', 'description' => ''], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The operation is too frequent, TaskConflict.', 'description' => 'The system is unavailable. Try again later.'], ['errorCode' => 'IncorrectStatus.cbnStatus', 'errorMessage' => 'Current CBN status does not support this operation.', 'description' => 'The status of the CEN instance is invalid.'], ['errorCode' => 'OperationDenied.InstanceAttachCen', 'errorMessage' => 'Operation denied because instance association CEN.', 'description' => 'Operation failed due to instance association CEN'], ], 404 => [ ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'Specified Instance does not exist.', 'description' => ''], ['errorCode' => 'InstanceType.Invalid', 'errorMessage' => 'Specified type is not valid.', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ], ], 'title' => 'RevokeInstanceFromCen', 'description' => '- **RevokeInstanceFromCen**接口是VPC的API,所以调用该接口必须使用`vpc.aliyuncs.com`域名。API version为`2016-04-28`。'."\n" ."\n" .'- **RevokeInstanceFromCen**接口不支持在同一个VPC、VBR或者CCN中并发撤销网络实例对指定云企业网实例的授权。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-03-23T02:32:42.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-09-21T07:57:21.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', ], 'RevokeInstanceFromVbr' => [ 'summary' => 'Revokes the permissions granted to a virtual border router (VBR) on a virtual private cloud (VPC).', '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' => 'The ID of the region where the VPC is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VbrOwnerUid', 'in' => 'query', 'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the VBR belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => '1210123456123456', 'title' => ''], ], [ 'name' => 'VbrInstanceIds', 'in' => 'query', 'style' => 'simple', 'schema' => [ 'description' => 'The IDs of the VBRs for which you want to revoke the permissions.'."\n", 'type' => 'array', 'items' => ['description' => 'The VBR ID. You can specify multiple VBRs and separate them with commas (,).'."\n" ."\n" .'* If you set **GrantType** to **ALL**, this parameter is optional. Permissions on the VPC are revoked for all VBRs in the specified region.'."\n" .'* If you set **GrantType** to **Specify**, this parameter is required. Permissions on the VPC are revoked for the specified VBRs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vbr-m5ex0xf63xk8s5bob****,vbr-bp1h6efd7a5g66xxd****', 'title' => ''], 'required' => false, 'title' => '', 'example' => '', ], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The VPC ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vpc-bp1brjuegjc88v3u9****', 'title' => ''], ], [ 'name' => 'GrantType', 'in' => 'query', 'schema' => ['description' => 'The VBRs for which you want to revoke permissions on the VPC. Valid values:'."\n" ."\n" .'* **ALL**: Permissions on the VPC are revoked for all VBRs in the specified region. **VbrInstanceIds** can be left empty.'."\n" .'* **Specify**: Permissions on the VPC are revoked for the specified VBRs. **VbrInstanceIds** must be assigned a value.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ALL', 'title' => ''], ], [ 'name' => 'VbrRegionNo', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the VBR is deployed.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '45B7AA4A-4658-5FFC-90DD-9B8729F301BB', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Instance.StatusError', 'errorMessage' => 'The status of instance error. ', 'description' => ''], ['errorCode' => 'InvalidParam.NotNull', 'errorMessage' => 'The parameter must not be null.', 'description' => ''], ['errorCode' => 'Parameter.Illegal', 'errorMessage' => 'The parameter is illegal.', 'description' => 'The parameter is invalid.'], ], 404 => [ ['errorCode' => 'Instance.NotExist', 'errorMessage' => 'The instance not exist.', 'description' => ''], ['errorCode' => 'EcGrantRelation.NotExist', 'errorMessage' => 'The ec grant relation not exist.', 'description' => 'The Express Connect circuit is not authorized.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'RevokeInstanceFromVbr', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"45B7AA4A-4658-5FFC-90DD-9B8729F301BB\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 45B7AA4A-4658-5FFC-90DD-9B8729F301BB\\n","errorExample":""}]', ], 'SecondApplyPhysicalConnectionLOA' => [ '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' => '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.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region where the Express Connect circuit is deployed. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The bandwidth of the Express Connect circuit. Unit: Mbit/s.'."\n" ."\n" .'Valid values: **2** to **10240**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'default' => '100', 'title' => ''], ], [ 'name' => 'PeerLocation', 'in' => 'query', 'schema' => ['description' => 'The geographic location where the Express Connect circuit is deployed.'."\n", 'type' => 'string', 'required' => false, 'example' => '杭州', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Express Connect circuit.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'pc-bp1qrb3044eqi****', 'title' => ''], ], [ 'name' => 'CompanyName', 'in' => 'query', 'schema' => ['description' => 'The name of the customer company that requires the Express Connect circuit.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'company', 'title' => ''], ], [ 'name' => 'LineType', 'in' => 'query', 'schema' => ['description' => 'The type of Express Connect circuit. Valid values:'."\n" ."\n" .'* **MSTP**'."\n" .'* **MPLSVPN**'."\n" .'* **FIBRE**'."\n" .'* **Other**'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FIBRE', 'title' => ''], ], [ 'name' => 'Si', 'in' => 'query', 'schema' => ['description' => 'The construction company.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '阿里', 'title' => ''], ], [ 'name' => 'ConstructionTime', 'in' => 'query', 'schema' => ['description' => 'The time when construction started. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2022-02-28T16:00:00Z', 'title' => ''], ], [ 'name' => 'PMInfo', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The information about the construction engineer.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'PMCertificateNo' => ['description' => 'The ID number of the construction engineer. You can specify the ID number of an ID card or an international passport.'."\n" ."\n" .'You can configure information for up to 16 construction engineers.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '5****************9 '."\n", 'title' => ''], 'PMName' => ['description' => 'The name of the construction engineer.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '张三', 'title' => ''], 'PMCertificateType' => ['description' => 'The type of the identity document of the construction engineer. Valid values:'."\n" ."\n" .'* **IDCard**'."\n" .'* **Passport**'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'IDCard', 'title' => ''], 'PMGender' => ['description' => 'The gender of the construction engineer.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'Male', 'title' => ''], 'PMContactInfo' => ['description' => 'The contact information about the construction engineer.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '1390000****', 'title' => ''], ], 'required' => false, 'docRequired' => true, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 16, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'A47BD386-7FDE-42C4-8D22-C6223D18AA1C '."\n", 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.PconnTrafficNotEnable', 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', 'description' => 'Billing for outbound data transfer is disabled.'], ['errorCode' => 'IllegalParam.Bandwidth', 'errorMessage' => 'Invalid Bandwidth.', 'description' => 'The bandwidth of the Express Connect circuit is invalid.'], ['errorCode' => 'IllegalParam.CompanyLocalizedName', 'errorMessage' => 'Invalid CompanyLocalizedName.', 'description' => 'The localized name of the company is invalid.'], ['errorCode' => 'IllegalParam.CompanyName', 'errorMessage' => 'Invalid CompanyName.', 'description' => 'The company name is invalid.'], ['errorCode' => 'IllegalParam.LineType', 'errorMessage' => 'Invalid LineType.', 'description' => 'The Express Connect circuit type is invalid.'], ['errorCode' => 'IllegalParam.PeerLocation', 'errorMessage' => 'Invalid PeerLocation.', 'description' => 'The location of the Express Connect circuit is invalid.'], ['errorCode' => 'IllegalParam.PmCertificateType', 'errorMessage' => 'Invalid PmCertificateType.', 'description' => 'The certificate type of the engineer is invalid.'], ['errorCode' => 'IllegalParam.PmCertificateNo', 'errorMessage' => 'Invalid PmCertificateNo.', 'description' => 'The certificate number of the engineer is invalid.'], ['errorCode' => 'IllegalParam.PmContactInfo', 'errorMessage' => 'Invalid PmContactInfo.', 'description' => 'The contact information about the engineer is invalid.'], ['errorCode' => 'IllegalParam.PmGender', 'errorMessage' => 'Invalid PmGender.', 'description' => 'The engineer gender is invalid.'], ['errorCode' => 'IllegalParam.PmName', 'errorMessage' => 'Invalid PmName.', 'description' => 'The engineer name is invalid.'], ['errorCode' => 'IllegalParam.Si', 'errorMessage' => 'Invalid Si.', 'description' => 'The construction company is invalid.'], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'InstanceId is not found.', 'description' => 'The Express Connect circuit ID is invalid.'], ['errorCode' => 'IncorrectStatus.PhysicalConnection', 'errorMessage' => 'Invalid physical connection status.', 'description' => 'The Express Connect circuit is in an invalid state.'], ['errorCode' => 'IncorrectStatus.PhysicalConnectionLOA', 'errorMessage' => 'Invalid Express Connect circuit LOA status.', 'description' => 'The construction status of the Express Connect circuit is invalid.'], ['errorCode' => 'OperationDenied.LOAForVirtualPhysicalConnection', 'errorMessage' => 'The operation is not allowed because of LOAForVirtualPhysicalConnection.', 'description' => 'The shared Express Connect circuit does not allow construction.'], ['errorCode' => 'MissingParam.InstanceId', 'errorMessage' => 'The parameter InstanceId is mandatory.', 'description' => 'You must specify the Express Connect circuit ID.'], ['errorCode' => 'MissingParam.ConstructionTime', 'errorMessage' => 'The parameter ConstructionTime is mandatory.', 'description' => 'You must specify the start time.'], ['errorCode' => 'MissingParam.PMInfo', 'errorMessage' => 'The parameter PMInfo is mandatory.', 'description' => 'You must specify the engineer information.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'SecondApplyPhysicalConnectionLOA', 'summary' => 'If your application for a Letter of Authorization (LOA) by calling the ApplyPhysicalConnectionLOA operation is denied, you can call this operation to apply again.', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A47BD386-7FDE-42C4-8D22-C6223D18AA1C\\\\t\\\\n\\"\\n}","type":"json"}]', ], 'SetHighDefinitionMonitorLogStatus' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => [], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the instance.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LogProject', 'in' => 'query', 'schema' => ['description' => 'The name of the Simple Log Service (SLS) project.'."\n", 'type' => 'string', 'required' => true, 'example' => 'hdmonitor-cn-shenzhen', 'title' => ''], ], [ 'name' => 'LogStore', 'in' => 'query', 'schema' => ['description' => 'The name of the Logstore.'."\n", 'type' => 'string', 'required' => true, 'example' => 'hdmonitor', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance for which you want to configure fine-grained monitoring.'."\n", 'type' => 'string', 'required' => true, 'example' => 'eip-wz9fi6qboho9fwgx7****', 'title' => ''], ], [ 'name' => 'InstanceType', 'in' => 'query', 'schema' => ['description' => 'The instance type. Set the value to **EIP**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'EIP', 'default' => 'EIP', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'The status of fine-grained monitoring. Valid values:'."\n" ."\n" .'* **ON**'."\n" .'* **OFF**'."\n", 'type' => 'string', 'required' => true, 'example' => 'ON', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'Success' => ['description' => 'Indicates whether the operation is performed. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Instance does not exist.', 'description' => 'The error message returned because the specified instance does not exist.'], ['errorCode' => 'ProjectOrLogstoreNotExist', 'errorMessage' => 'The specified project or logstore does not exist.', 'description' => 'The error message returned because the specified project or Logstore does not exist.'], ['errorCode' => 'SourceProjectNotExist', 'errorMessage' => 'The Source Project or logstore does not exist.', 'description' => 'The error message returned because the source project or Logstore does not exist.'], ['errorCode' => 'Unauthorized', 'errorMessage' => 'This api does not support sub user or role.', 'description' => 'The error message returned because you cannot call this operation as a RAM user.'], ['errorCode' => 'ParameterInvalid', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because a parameter is invalid.'], ['errorCode' => 'InvalidAction.NotSupport', 'errorMessage' => 'This region does not support this action.', 'description' => ''], ['errorCode' => 'RuleExist', 'errorMessage' => 'The rule has already existed.', 'description' => ''], ['errorCode' => 'InvalidHdMonitorStatus', 'errorMessage' => 'Current instance status is not valid for this action.', 'description' => ''], ['errorCode' => 'HdMonitorEipNumberOverLimit', 'errorMessage' => 'This user has reached the maximum Eip number of high definination.', 'description' => ''], ['errorCode' => 'InvalidAllocationId.NotFound', 'errorMessage' => 'Specified allocation id is not found.', 'description' => ''], ], ], 'title' => 'SetHighDefinitionMonitorLogStatus', 'summary' => 'Configures fine-grained monitoring for an elastic IP address (EIP).', 'description' => 'You cannot repeatedly call **SetHighDefinitionMonitorLogStatus** within a specific period of time.'."\n", 'changeSet' => [ ['createdAt' => '2023-06-09T08:58:31.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'StartFailoverTestJob' => [ 'summary' => 'Calls the StartFailoverTestJob operation to start an Express Connect failover test job.', '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' => 'The region ID of the failover test job. '."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query region IDs.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000'."\n", 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000'."\n", 'title' => ''], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the failover test job.', 'type' => 'string', 'required' => true, 'example' => 'ftj-bp1yh6mvi13aq3g8w****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF'."\n", 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.JobId', 'errorMessage' => 'The specified parameter JobId is illegal.', 'description' => 'The entered failover test job ID is invalid.'], ['errorCode' => 'IncorrectStatus.OnlyForInit', 'errorMessage' => 'Only the init status failover test job can be started.', 'description' => 'Only the fault drill task to be drilled can be modified or started.'], ['errorCode' => 'EcFailoverTestJobResourceInAnotherProcessingJob', 'errorMessage' => 'There is another processing failover test job.', 'description' => 'The current user already has a failover test job in progress. Please complete it and try again.'], ['errorCode' => 'IllegalParam.ResourceId', 'errorMessage' => 'The input parameter resource ID is invalid.', 'description' => 'The input parameter resource ID is invalid.'], ['errorCode' => 'IncorrectStatus.ResourceId', 'errorMessage' => 'The specified resource status is invalid.', 'description' => 'The resource status corresponding to the entered resource ID is invalid.'], ['errorCode' => 'IncorrectBusinessStatus.ResourceId', 'errorMessage' => 'The specified resource business status is invalid.', 'description' => 'The entered resource is in arrears.'], ['errorCode' => 'VpconnNotAssociatedVbr', 'errorMessage' => 'The specified vpconn is not associated with vbr.', 'description' => 'The entered virtual physical connection is not associated with a virtual border router.'], ['errorCode' => 'VpconnWithVlan0NotSupportShutdown', 'errorMessage' => 'The specified virtualPhysicalConnection with vlan 0 does not support shutdown.', 'description' => 'The shared physical connection of VLAN 0 does not support failover test.'], ['errorCode' => 'PconnContainsMoreThanOneVpconn', 'errorMessage' => 'The specified physicalConnection contains more than one virtualPhysicalConnection.', 'description' => 'A physical line that contains more than one shared physical line does not support failover test.'], ['errorCode' => 'PconnContailsMoreThanOneAcrossCountVbr', 'errorMessage' => 'The specified physicalConnection contains more than one virtualBorderRouter which is across count.', 'description' => 'Physical connections that contain more than one cross-account VBR do not support failover test.'], ['errorCode' => 'EcFailoverTestJobConflict', 'errorMessage' => 'The current failover test job task is in operation, please try again later.', 'description' => 'The current failover test job task is in operation, please try again later.'], ['errorCode' => 'AnotherJobTesting', 'errorMessage' => 'There is another job which is testing.', 'description' => 'The same user can only perform one fault drill task in the same region at the same time.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Start an express connect failover test job', 'description' => 'Only failover test jobs in the **Pending** state can be started.', 'changeSet' => [ ['createdAt' => '2024-07-19T02:56:58.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartFailoverTestJob'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:StartFailoverTestJob', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\\\n\\"\\n}","type":"json"}]', ], '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' => 'The region ID of the failover test.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000'."\n", 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000'."\n", 'title' => ''], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the failover test.', 'type' => 'string', 'required' => true, 'example' => 'ftj-bp1yh6mvi13aq3g8w****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF'."\n", 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.JobId', 'errorMessage' => 'The specified parameter JobId is illegal.', 'description' => 'The entered failover test job ID is invalid.'], ['errorCode' => 'IncorrectStatus.OnlyForTesting', 'errorMessage' => 'Only the failover test job in the testing state can be stopped.', 'description' => '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.', 'description' => 'The current failover test job task is in operation, please try again later.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'StopFailoverTestJob', 'summary' => 'Terminates a failover test.', 'description' => '只支持结束处于**演练中**状态的故障演练任务。', 'changeSet' => [ ['createdAt' => '2024-07-19T02:56:58.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\\\n\\"\\n}","type":"json"}]', ], 'SwitchActiveRouteTarget' => [ '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' => 'The instance ID of the RouteTargetGroup.', 'type' => 'string', 'required' => true, 'example' => 'rtg-xxxx', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID where the RouteTargetGroup is located.'."\n" ."\n" .'You can obtain the region ID by calling the [DescribeRegions](~~36063~~) API.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'Client token, used to ensure the idempotence of the request. Generate a unique value for this parameter from your client to ensure that it is unique across different requests. The ClientToken only supports ASCII characters. Note: If you do not specify this, the system will automatically use the RequestId of the API request as the ClientToken identifier. The RequestId may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe6****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'Resource tags.', 'type' => 'array', 'items' => [ 'description' => 'List of resource tags.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of the resource tag. Up to 20 tag keys are supported. If you need to pass this value, you cannot input an empty string.'."\n" ."\n" .'Each tag key can have up to 128 characters and cannot start with `aliyun` or `acs:`. It also cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of the resource tag. Up to 20 tag values are supported. If you need to pass this value, you can input an empty string. A maximum of 128 characters is allowed. The value cannot start with `aliyun` or `acs:`, and it must not contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => 'C1221A1F-2ACD-4592-8F27-474E02883159', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.RouteTargetGroup', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The specified resource% s does not exist.'], ['errorCode' => 'IncorrectStatus.RouteTargetGroup', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The current state of the RouteTargetGroup prohibits the operation.'], ['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.', 'description' => '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'], 'title' => 'SwitchActiveRouteTarget', 'summary' => 'Switch Active and Standby For RouteTargetGroup.', 'description' => 'Switch Active and Standby For RouteTargetGroup.', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:SwitchActiveRouteTarget', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTargetGroup', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetargetgroup/{#RouteTargetGroupId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C1221A1F-2ACD-4592-8F27-474E02883159\\"\\n}","type":"json"}]', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SwitchActiveRouteTarget'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'TagResources' => [ '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' => 'The resource type. Valid values:'."\n" ."\n" .'* **VPC**: a VPC'."\n" .'* **VSWITCH**: a vSwitch'."\n" .'* **ROUTETABLE**: a route table'."\n" .'* **EIP**: an EIP'."\n" .'* **VpnGateway**: a VPN gateway'."\n" .'* **NATGATEWAY**: a NAT gateway'."\n" .'* **COMMONBANDWIDTHPACKAGE**: an EIP bandwidth plan'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'VPC', 'title' => ''], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The resource ID. You can specify at most 20 IDs.'."\n", 'type' => 'array', 'items' => ['description' => 'The resource ID. You can specify up to 20 resource IDs.'."\n" ."\n" .'> When you call this operation, **ResourceId.N** is required.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vpc-bp16qjewdsunr41m1****', 'title' => ''], 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp16qjewdsunr41m1****', 'maxItems' => 51, 'title' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the resource.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag information.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of the tag that is added to the resource. You can specify at most 20 tag keys.'."\n" ."\n" .'The key cannot exceed 128 characters in length. The key cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.'."\n" ."\n" .'> When you call this operation, the **Tag.N.Key** parameter is required and cannot be an empty string.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The value of the tag that is added to the resource. You can specify at most 20 tag values.'."\n" ."\n" .'The tag value cannot exceed 128 characters in length. The value cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n" ."\n" .'> When you call this operation, the **Tag.N.Value** parameter is required and can be an empty string.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => true, 'docRequired' => true, 'example' => 'TagResources', 'maxItems' => 21, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidTagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The tag index is invalid.'], ['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The tag value is invalid.'], ['errorCode' => 'MissingParam', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidInstanceType.NotFound', 'errorMessage' => 'The instance type is not found', 'description' => 'The instance type is not found.'], ['errorCode' => 'InvalidInstanceIds.NotFound', 'errorMessage' => 'The instanceIds are not found', 'description' => 'The instance ID is not found.'], ['errorCode' => 'Forbidden.TagKeys', 'errorMessage' => 'The request do not allow to operate the tag keys', 'description' => 'You do not have the permissions to set the TagKeys parameter.'], ['errorCode' => 'QuotaExceeded.TagNum', 'errorMessage' => 'Custom Tags quota exceeded', 'description' => 'The upper limit is reached.'], ['errorCode' => 'InvalidTagScope.NotFound', 'errorMessage' => 'The tag scope is not found', 'description' => 'The resource scope is invalid.'], ['errorCode' => 'Forbidden.NotAllowedCategary', 'errorMessage' => 'The System tag is not valid', 'description' => 'The error message returned because the system tag is invalid.'], ['errorCode' => 'Forbidden.TagKey.Duplicated', 'errorMessage' => 'The specified tag key already exists.', 'description' => 'The tag resources are duplicate.'], ['errorCode' => 'SizeLimitExceeded.TagNum', 'errorMessage' => 'The maximum number of tags is exceeded.', 'description' => 'The number of tags has reached the upper limit.'], ['errorCode' => 'SizeLimitExceeded.ResourceId', 'errorMessage' => 'The maximum number of resource IDs is exceeded.', 'description' => 'The number of resource group IDs has reached the upper limit.'], ['errorCode' => 'MissingParameter.TagValue', 'errorMessage' => 'The input parameter TagValue that is mandatory for processing this request is not supplied.', 'description' => 'The TagValue parameter is not set.'], ['errorCode' => 'MissingParameter.TagKey', 'errorMessage' => 'The input parameter TagKey that is mandatory for processing this request is not supplied.', 'description' => 'The TagKey parameter is not set.'], ['errorCode' => 'MissingParam.Tags', 'errorMessage' => 'You must specify the Tags parameter.', 'description' => 'The error message returned because the Tags parameter is not set.'], ['errorCode' => 'DuplicatedParam.ResourceIds', 'errorMessage' => 'The parameter of ResourceIds contains duplicate values.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'TagResources', 'summary' => 'Creates and adds tags to resources.', 'description' => 'Tags are used to classify instances. Each tag consists of a key-value pair. Before you use tags, take note of the following limits:'."\n" ."\n" .'* The keys of tags that are added to the same instance must be unique.'."\n" ."\n" .'* You cannot create tags without adding them to instances. All tags must be added to instances.'."\n" ."\n" .'* Tag information is not shared across regions.'."\n" ."\n" .' For example, you cannot view the tags that are created in the China (Hangzhou) region from the China (Shanghai) region.'."\n" ."\n" .'* Virtual private clouds (VPCs), route tables, vSwitches, and elastic IP addresses (EIPs) that belong to the same Alibaba Cloud account and are deployed in the same region share tag information with each other.'."\n" ."\n" .' For example, if you added a tag to a VPC, the tag is available to vSwitches, route tables, and EIPs that belong to the same account and are deployed in the same region in which the VPC is created. You can select this tag from the editing page without the need to enter the tag again. You can modify the key and the value of a tag or remove a tag from an instance. After you delete an instance, all tags that are added to the instance are deleted.'."\n" ."\n" .'* You can add up to 20 tags to each instance. Before you add a tag to an instance, the system automatically checks the number of existing tags. An error message is returned if the maximum number of tags is reached.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-07-28T01:53:52.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-07-10T06:55:02.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-04-06T11:04:07.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-03-23T02:20:38.000Z', 'description' => 'Error codes changed, Response parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n C46FF5A8-C5F0-4024-8262-B16B639225A0\\n","errorExample":""}]', ], 'TagResourcesForExpressConnect' => [ 'summary' => 'Creates and binds tags to specified Express Connect circuit instances by calling the TagResourcesForExpressConnect operation.', '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' => 'The resource type. Valid values:'."\n" .'- **PHYSICALCONNECTION**: Express Connect circuit instance.'."\n" .'- **VIRTUALBORDERROUTER**: Virtual Border Router.'."\n" .'- **ROUTERINTERFACE**: VBR uplink.'."\n" .'- **TRAFFICQOS**: QoS policy.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'PHYSICALCONNECTION', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the resource to which you want to create and bind tags.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The resource ID. You can specify up to 20 resource IDs.', 'type' => 'array', 'items' => ['description' => 'The resource ID. You can specify up to 20 resource IDs.', 'type' => 'string', 'required' => false, 'example' => 'pc-bp16qjewdsunr41m1****', 'title' => ''], 'required' => true, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of resource tags.', 'type' => 'array', 'items' => [ 'description' => 'The list of resource tags.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" ."\n" .'The tag value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidTagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The tag index is invalid.'], ['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The tag value is invalid.'], ['errorCode' => 'InvalidInstanceType.NotFound', 'errorMessage' => 'The instance type is not found', 'description' => 'The instance type is not found.'], ['errorCode' => 'InvalidInstanceIds.NotFound', 'errorMessage' => 'The instanceIds are not found', 'description' => 'The instance ID is not found.'], ['errorCode' => 'Forbidden.TagKeys', 'errorMessage' => 'The request do not allow to operate the tag keys', 'description' => 'You do not have the permissions to set the TagKeys parameter.'], ['errorCode' => 'QuotaExceeded.TagNum', 'errorMessage' => 'Custom Tags quota exceeded', 'description' => 'The upper limit is reached.'], ['errorCode' => 'InvalidTagScope.NotFound', 'errorMessage' => 'The tag scope is not found', 'description' => 'The resource scope is invalid.'], ['errorCode' => 'Forbidden.TagKey.Duplicated', 'errorMessage' => 'The specified tag key already exists.', 'description' => 'The tag resources are duplicate.'], ['errorCode' => 'SizeLimitExceeded.TagNum', 'errorMessage' => 'The maximum number of tags is exceeded.', 'description' => 'The number of tags has reached the upper limit.'], ['errorCode' => 'SizeLimitExceeded.ResourceId', 'errorMessage' => 'The maximum number of resource IDs is exceeded.', 'description' => 'The number of resource group IDs has reached the upper limit.'], ['errorCode' => 'MissingParameter.TagValue', 'errorMessage' => 'The input parameter TagValue that is mandatory for processing this request is not supplied.', 'description' => 'The TagValue parameter is not set.'], ['errorCode' => 'MissingParameter.TagKey', 'errorMessage' => 'The input parameter TagKey that is mandatory for processing this request is not supplied.', 'description' => 'The TagKey parameter is not set.'], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Create and bind tags to specified express connect circuit instances', 'description' => 'Tags are labels that you assign to instances. Each tag consists of a key-value pair. Take note of the following items when you use tags: '."\n" ."\n" .'- The tag key of each tag on an instance must be unique.'."\n" ."\n" .'- Tags cannot exist without being bound to an instance. Empty tags that are not bound to instances are not supported.'."\n" ."\n" .'- Tag information is not shared across regions. '."\n" ."\n" .' For example, tags created in the China (Hangzhou) region are not visible in the China (Shanghai) region.'."\n" ."\n" .'- You can bind up to 20 tags to a single instance. Before binding tags, Alibaba Cloud checks the number of existing tags on the resource. If the limit is exceeded, an error message is returned.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResourcesForExpressConnect'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:TagResourcesForExpressConnect', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouterInterface', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routerinterface/{#RouterInterfaceId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficQos', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficqos/{#QosId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","type":"json"}]', ], 'TerminatePhysicalConnection' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the Express Connect circuit.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'PhysicalConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Express Connect circuit.'."\n", 'type' => 'string', 'required' => true, 'example' => 'pc-119mfjzm****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Forbidden.NotAllowedInState', 'errorMessage' => 'The request does not allow in this state.', 'description' => ''], ['errorCode' => 'Forbidden.VbrAttached', 'errorMessage' => 'Cannot terminate physical connection when virtual border routers are still attached.', 'description' => ''], ['errorCode' => 'OperationFailed.VpconnAttached', 'errorMessage' => 'Cannot terminate physical connection when vpconn are still attached.', 'description' => 'The shared port still exists and the physical port cannot be disabled.'], ['errorCode' => 'OperationDenied.MacsecAttached', 'errorMessage' => 'The operation is not allowed because of MacsecAttached.', 'description' => 'The current operation is rejected because there is still a MACSec key binding on the physical connection.'], ['errorCode' => 'OperationFailed.ResourceLockedBySystem', 'errorMessage' => 'The specified resource is locked by system.', 'description' => 'The operating resource is locked by the system and cannot be operated temporarily.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidPhysicalConnectionId.NotFound', 'errorMessage' => 'The PhysicalConnectionId provided does not exist in our records.', 'description' => ''], ], ], 'title' => 'TerminatePhysicalConnection', 'summary' => 'Disables an Express Connect circuit after it is enabled.', 'description' => 'After you call this operation, the specified Express Connect circuit changes to the **Terminating** state. After the Express Connect circuit is disabled, it changes to the **Terminated** state. When you call this operation, take note of the following limits:'."\n" ."\n" .'* You can only disable an Express Connect circuit that is in the **Enabled** state.'."\n" .'* Before you disable an Express Connect circuit, you must delete the virtual border routers (VBRs) associated with it.'."\n", 'changeSet' => [], 'ramActions' => [], '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{\\n \\"RequestId\\": \\"513E0A50-4F2D-4CBE-BF35-40559DF65D79\\"\\n}"}]', 'operationType' => 'write', ], 'TerminateVirtualBorderRouter' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VBR.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'VbrId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VBR.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vbr-bp15zckdt37pq72****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidOperation.OperationNotAllowedInState', 'errorMessage' => 'The specified VirutalBorderRouter is in invalid state.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbidden.OperationTerminateNotAllowedByUser', 'errorMessage' => 'The caller is not allowed to terminate the specified VirtualBorderRouter.', 'description' => 'The caller is not allowed to terminate the specified VirtualBorderRouter.'], ], [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidVbrId.NotFound', 'errorMessage' => 'The specified VirutalBorderRouter is not found.', 'description' => ''], ], ], 'title' => 'TerminateVirtualBorderRouter', 'summary' => 'Terminates a virtual border router (VBR).', 'description' => 'After you call this operation, the VBR enters the **terminating** state from the **active** state. After the VBR is terminated, the VBR enters the **terminated** state.'."\n" ."\n" .'> Only the owner of an Express Connect circuit can call this operation.'."\n", 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', ], 'TransformEipSegmentToPublicIpAddressPool' => [ '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' => 'The instance ID of the contiguous EIP group to migrate.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eipsg-2zett8ba055tbsxme****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the contiguous EIP group. You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'allowEmptyValue' => false, 'schema' => ['description' => 'The name of the IP address pool instance.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'AddressPoolName', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the IP address pool instance.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'AddressPoolDescription', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The resource group ID of the IP address pool.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4pcdvf****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'PublicIpAddressPoolId' => ['description' => 'The instance ID of the IP address pool.', 'type' => 'string', 'example' => 'pippool-6wetvn6fumkgycssx****', 'title' => ''], 'ResourceGroupId' => ['description' => 'The resource group ID of the IP address pool.', 'type' => 'string', 'example' => 'rg-acfmxazb4pcdvf****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], '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.', 'description' => 'The RAM authentication failed.'], ['errorCode' => 'IllegalParam.Name', 'errorMessage' => 'The param of Name [%s] is illegal.', 'description' => 'The error message returned because the Name parameter is set to an invalid value. Specify a valid value and try again.'], ['errorCode' => 'IllegalParam.Description', 'errorMessage' => 'The param of Description [%s] is illegal.', 'description' => 'The error message returned because the Description parameter is set to an invalid value. Specify a valid values and try again.'], ['errorCode' => 'Forbidden.CreatePublicIpAddressPool', 'errorMessage' => 'Authentication is failed for creating public ip address pool.', 'description' => 'The error message returned because you cannot create an IP address pool. Check whether you have the relevant permissions.'], ['errorCode' => 'QuotaExceeded.PublicIpAddressPool', 'errorMessage' => 'The quota of PublicIpAddressPool is exceeded.', 'description' => 'The error message returned because the number of your IP address pools has reached the upper limit. Request a quota increase.'], ['errorCode' => 'IncorrectBusinessStatus.PublicIpAddressPool', 'errorMessage' => 'The business status of publicIpAddressPool is incorrect.', 'description' => 'The current service status does not support creating an IP address pool instance.'], ['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.', 'description' => 'You are not authorized to use the requested IP address pool service. Make sure you have subscribed to the service you are trying to use.'], ['errorCode' => 'QuotaExceeded.PoolIpQuantity', 'errorMessage' => 'The quota of PoolIpQuantity is exceeded.', 'description' => 'The number of IP addresses in the pool has reached the upper limit.'], ['errorCode' => 'ResourceNotFound.EipSegment', 'errorMessage' => 'The specified resource of Eip Segment is not found.', 'description' => 'The passed-in consecutive EIP group instances do not exist.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::ListPublicIpAddressPools', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'title' => 'Migrate a contiguous EIP group to an IP address pool', 'summary' => 'Migrates a contiguous Elastic IP Address (EIP) group to an IP address pool.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TransformEipSegmentToPublicIpAddressPool'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:TransformEipSegmentToPublicIpAddressPool', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PublicIpAddressPoolId\\": \\"pippool-6wetvn6fumkgycssx****\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4pcdvf****\\",\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","type":"json"}]', ], 'UnTagResources' => [ 'summary' => 'Removes tags from resources.', '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' => 'The resource type. Valid values:'."\n" ."\n" .'* **VPC**'."\n" .'* **VSWITCH**'."\n" .'* **ROUTETABLE**'."\n" .'* **EIP**'."\n" .'* **VpnGateway**'."\n" .'* **NATGATEWAY**'."\n" .'* **COMMONBANDWIDTHPACKAGE**: EIP bandwidth plan'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'VPC', 'title' => ''], ], [ 'name' => 'All', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to remove all tags from the specified resource. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false** (default)'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The resource ID. You can specify up to 20 resource IDs.'."\n", 'type' => 'array', 'items' => ['description' => 'The resource ID. You can specify up to 20 resource IDs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vpc-bp16qjewdsunr41m1****', 'title' => ''], 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp16qjewdsunr41m1****', 'maxItems' => 51, 'title' => '', ], ], [ 'name' => 'TagKey', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The key of the tag that you want to remove. You can specify at most 20 tag keys. It can be an empty string.'."\n" ."\n" .'The key cannot exceed 64 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). The key must start with a letter but cannot start with `aliyun` or `acs:`. The key cannot contain `http://` or `https://`.'."\n", 'type' => 'array', 'items' => ['description' => 'The key of the tag that you want to remove. You can specify at most 20 tag keys. It can be an empty string.'."\n" ."\n" .'The key cannot exceed 64 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). The key must start with a letter but cannot start with `aliyun` or `acs:`. The key cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'required' => false, 'example' => 'FinanceDept', 'maxItems' => 21, 'title' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the resource.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou ', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0 ', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidTagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The tag index is invalid.'], ['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The tag value is invalid.'], ['errorCode' => 'MissingParam', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidInstanceType.NotFound', 'errorMessage' => 'The instance type is not found', 'description' => 'The instance type is not found.'], ['errorCode' => 'InvalidInstanceIds.NotFound', 'errorMessage' => 'The instanceIds are not found', 'description' => 'The instance ID is not found.'], ['errorCode' => 'Forbidden.TagKeys', 'errorMessage' => 'The request do not allow to operate the tag keys', 'description' => 'You do not have the permissions to set the TagKeys parameter.'], ['errorCode' => 'QuotaExceeded.TagNum', 'errorMessage' => 'Custom Tags quota exceeded', 'description' => 'The upper limit is reached.'], ['errorCode' => 'Forbidden.NotAllowedCategary', 'errorMessage' => 'The System tag is not valid', 'description' => 'The error message returned because the system tag is invalid.'], ['errorCode' => 'Forbidden.TagKey.Duplicated', 'errorMessage' => 'The specified tag key already exists.', 'description' => 'The tag resources are duplicate.'], ['errorCode' => 'SizeLimitExceeded.TagNum', 'errorMessage' => 'The maximum number of tags is exceeded.', 'description' => 'The number of tags has reached the upper limit.'], ['errorCode' => 'SizeLimitExceeded.ResourceId', 'errorMessage' => 'The maximum number of resource IDs is exceeded.', 'description' => 'The number of resource group IDs has reached the upper limit.'], ['errorCode' => 'DuplicatedParam.ResourceIds', 'errorMessage' => 'The parameter of ResourceIds contains duplicate values.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'UnTagResources', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-07-28T01:53:52.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ['createdAt' => '2023-07-10T06:55:02.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-05-16T09:35:26.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-23T02:20:38.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], '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":""}]', ], 'UnassociateEipAddress' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'Force', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to forcefully disassociate the EIP when the EIP is associated with a NAT gateway that has DNAT or SNAT entries configured. Valid values:'."\n" ."\n" .'- **false** (default): does not forcefully disassociate the EIP.'."\n" ."\n" .'- **true**: forcefully disassociates the EIP.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the EIP to disassociate.'."\n" .' You can call [DescribeRegions](~~36063~~) to query the region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'AllocationId', 'in' => 'query', 'schema' => ['description' => 'The ID of the EIP to disassociate.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eip-2zeerraiwb7uj6i0d****', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the cloud resource instance from which to disassociate the EIP.'."\n" .'You can enter the instance ID of a NAT gateway, Classic Load Balancer (CLB) instance, ECS instance, secondary elastic network interface controller (NIC) instance, high-availability virtual IP address instance, or an IP address.', 'type' => 'string', 'required' => false, 'example' => 'i-hp3akk9irtd69jad****', 'title' => ''], ], [ 'name' => 'InstanceType', 'in' => 'query', 'schema' => ['description' => 'The type of the cloud resource from which to disassociate the EIP. Valid values: '."\n" ."\n" .'- **EcsInstance** (default): an ECS instance in a virtual private cloud (VPC). '."\n" ."\n" .'- **SlbInstance**: an SLB instance in a virtual private cloud (VPC). '."\n" ."\n" .'- **NetworkInterface**: a secondary elastic network interface controller (NIC) in a virtual private cloud (VPC).'."\n" ."\n" .'- **Nat**: a NAT gateway. '."\n" ."\n" .'- **HaVip**: a high-availability virtual IP address.'."\n" .'- **IpAddress**: an IP address.', 'type' => 'string', 'required' => false, 'example' => 'EcsInstance', 'title' => ''], ], [ 'name' => 'PrivateIpAddress', 'in' => 'query', 'schema' => ['description' => 'The private IP address of the ECS instance or secondary elastic network interface controller (NIC) instance from which to disassociate the EIP.', 'type' => 'string', 'required' => false, 'example' => '192.XX.XX.2', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11**** ', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectEipStatus', 'errorMessage' => 'Current elastic IP status does not support this operation.', 'description' => ''], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'Specified instance does not exist.', 'description' => ''], ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of instance does not support this operation.', 'description' => ''], ['errorCode' => 'InvalidInstanceType.ValueNotSupported', 'errorMessage' => 'The specified value of InstanceType is not supported.', 'description' => ''], ['errorCode' => 'IncorrectHaVipStatus', 'errorMessage' => 'This operation is denied because satus of the specified HaVip is neither Available nor InUse.', 'description' => 'You cannot perform the operation when the specified HAVIP is in the Available or InUse state.'], ['errorCode' => 'OperationDenied', 'errorMessage' => 'Eip of default vpc not allow this operation', 'description' => ''], ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is not valid.', 'description' => ''], ['errorCode' => 'TaskConflict', 'errorMessage' => 'The eip operate too frequent, TaskConflict.', 'description' => 'Operations are too frequent and tasks conflict with each other.'], ['errorCode' => 'InvalidBindingStatus', 'errorMessage' => 'The eip binding status invalid.', 'description' => ''], ['errorCode' => 'Forbidden.FinancialLocked', 'errorMessage' => 'The ip business status is invalid.', 'description' => 'The error message returned because the instance has overdue payments.'], ['errorCode' => 'InvalidIpStatus.HasBeenUsedBySnatTable', 'errorMessage' => 'The removed ip address has been used by snat table.', 'description' => ''], ['errorCode' => 'InvalidIpStatus.HasBeenUsedByForwardEntry', 'errorMessage' => 'The specified address has been used by forwardTable.', 'description' => ''], ['errorCode' => 'Eni.Attached', 'errorMessage' => 'The eni should be detached from ecs when associating with direct eip.', 'description' => 'If the ENI is associated with an EIP in cut-through mode, you must disassociate the ENI from the ECS instance.'], ['errorCode' => 'InvalidEIPStatus.BizDisabled', 'errorMessage' => 'The EIP has been locked.', 'description' => 'The error message returned because the EIP is locked.'], ['errorCode' => 'InvalidStatus.EcsStatusNotSupport', 'errorMessage' => 'The special instance status Pending is not support operate', 'description' => 'The operation is not supported because the instance is suspended.'], ['errorCode' => 'InvalidStatus.EniStatusNotSupport', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidStatus.SnatOrDnat', 'errorMessage' => 'Operation failed because snat or dnat in unstable status.', 'description' => 'The EIP failed to be disassociated because the SNAT or DNAT entry is in an unstable state.'], ['errorCode' => 'DependencyViolation.SnatEntry', 'errorMessage' => 'The specified eip is in ip pool.', 'description' => ''], ['errorCode' => '%s', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidStatus.NotAllow', 'errorMessage' => 'Bind instance status invalid', 'description' => 'The status of the associated instance is invalid.'], ['errorCode' => 'Forbidden', 'errorMessage' => 'The eip instance owener error', 'description' => 'The EIP does not belong to your account. Check whether you have the permissions to perform the operation on the EIP.'], ['errorCode' => 'InvalidLoadBalancerId.NotFound', 'errorMessage' => 'LoadBalancerId does not exist.', 'description' => 'The ID of the SLB instance does not exist.'], ['errorCode' => 'OperationFailed.SystemBusy', 'errorMessage' => 'Operation failed because system is busy.', 'description' => 'The error message returned because the system is busy. Try again later.'], ], 404 => [ ['errorCode' => 'InvalidAllocationId.NotFound', 'errorMessage' => 'Specified allocation ID is not found', 'description' => 'The specified EIP does not exist. Check whether the specified value is valid.'], ['errorCode' => 'InvalidBindInstance.NotFound', 'errorMessage' => 'The specified bind instance does not exist.', 'description' => ''], ], ], 'title' => 'Disassociate an EIP from a cloud resource', 'summary' => 'Disassociates an elastic IP address (EIP) from a cloud resource.', 'description' => '- The **UnassociateEipAddress** operation is asynchronous. After you call this operation, the system returns a request ID, but the EIP is not immediately disassociated. The disassociation task runs in the background. You can call [DescribeEipAddresses](~~120193~~) to query the status of the EIP: '."\n" .' - If the EIP is in the **Unassociating** state, the EIP is being disassociated. In this state, you can only perform query operations.'."\n" .' - If the EIP is in the **Available** state, the EIP is disassociated.'."\n" .'- The **UnassociateEipAddress** operation does not support concurrent disassociation of the same EIP.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-06-26T06:23:10.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-25T03:42:37.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-17T11:38:45.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnassociateEipAddress'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:UnassociateEipAddress', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'HaVip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/{#HaVipId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]', ], 'UnassociateGlobalAccelerationInstance' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the GA instance.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'GlobalAccelerationInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-1sxeedefrr33****', 'title' => ''], ], [ 'name' => 'InstanceType', 'in' => 'query', 'schema' => ['description' => 'The backend server type. Valid values:'."\n" ."\n" .'* **RemoteEcsInstance**: Elastic Compute Service (ECS) instance'."\n" .'* **RemoteSlbInstance**: Server Load Balancer (SLB) instance'."\n" .'* **RemoteEniInstance**: elastic network interface (ENI)'."\n", 'type' => 'string', 'required' => false, 'example' => 'RemoteEcsInstance', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BD5BCEE8-F62C-40C2-9AC3-89XXXXXXXXX', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectGlobalAccelerationInstanceIdStatus', 'errorMessage' => 'Current GlobalAccelerationInstance status does not support this operation.', 'description' => ''], ['errorCode' => 'Forbidden.FinancialLocked', 'errorMessage' => 'The ip business status is invalid.', 'description' => 'The error message returned because the instance has overdue payments.'], ['errorCode' => 'Forbbiden.InvaildOwner', 'errorMessage' => 'The GlobalAccelerationInstance owener error', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified region is not supported.', 'description' => ''], ['errorCode' => 'InvalidGlobalAccelerationInstanceId.NotFound', 'errorMessage' => 'The specified GlobalAccelerationInstanceId is not found.', 'description' => ''], ], ], 'title' => 'UnassociateGlobalAccelerationInstance', 'summary' => 'Disassociates a Global Accelerator (GA) instance from a backend server.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:UnassociateGlobalAccelerationInstance', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], '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}"}]', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnassociateGlobalAccelerationInstance'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'UnassociateHaVip' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The `token` can contain only ASCII characters and cannot exceed 64 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the HAVIP.'."\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', 'title' => ''], ], [ 'name' => 'HaVipId', 'in' => 'query', 'schema' => ['description' => 'The ID of the HAVIP that you want to disassociate.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'havip-2zeo05qre24nhrqpy****', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the ECS instance or ENI from which you want to disassociate the HAVIP.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'i-faf344422ffsfad****', 'title' => ''], ], [ 'name' => 'Force', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to forcefully disassociate the HAVIP from the ECS instance or ENI. Valid values:'."\n" ."\n" .'* **True**'."\n" .'* **False** (default)'."\n" ."\n" .'> If you set the value to **False**, you cannot disassociate the HAVIP from the primary instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'True', 'title' => ''], ], [ 'name' => 'InstanceType', 'in' => 'query', 'schema' => ['description' => 'The type of the instance from which you want to disassociate the HAVIP. Valid values:'."\n" ."\n" .'* **EcsInstance**: an ECS instance'."\n" .'* **NetworkInterface**: an ENI'."\n" ."\n" .'> If you want to disassociate the HAVIP from an ENI, this parameter is required.'."\n", 'type' => 'string', 'required' => false, 'example' => 'EcsInstance', 'title' => ''], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectHaVipStatus', 'errorMessage' => 'HaVip can be operated by this action only when it\'s status is InUse.', 'description' => ''], ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'ECS instance can be operated by this action only when it\'s status is Running or Stopped.', 'description' => ''], ['errorCode' => 'ResourceNotAssociated', 'errorMessage' => 'The HaVip and ECS instance are not associated.', 'description' => ''], ['errorCode' => 'Forbidden.UnassociateMaster', 'errorMessage' => 'Unassociating a master instance is not allowed unless the parameter Force is True.', 'description' => ''], ['errorCode' => 'HA.VIP.NOT.ASSOCIATED.WITH.INSTANCE', 'errorMessage' => 'ha vip not associated with instance.', 'description' => ''], ['errorCode' => 'OperationFailed.DistibuteLock', 'errorMessage' => 'Distibute lock fail.', 'description' => 'The operation is locked by another request;'], ['errorCode' => 'OperationFailed.QueryNetworkInterfaceInfo', 'errorMessage' => 'Failed to query network interface information.', 'description' => 'The system failed to query ENI information.'], ['errorCode' => 'IllegalParam.InstanceType', 'errorMessage' => 'The specified instance type is invalid. Only ECS instances and network interface are allowed.', 'description' => 'The type of the associated instance does not support this operation.'], ['errorCode' => 'InvalidNetworkInterfaceId.NotFound', 'errorMessage' => 'The network interface is not found.', 'description' => 'The ENI does not exist.'], ['errorCode' => 'ResourceNotFound.Instance', 'errorMessage' => 'The specified binding resource is not found.', 'description' => ''], ['errorCode' => 'Forbidden.HaVip', 'errorMessage' => 'No permissions to perform operations on HAVIPs. Please apply for privilege--vpc_privilege_allow_buy_havip_instance.', 'description' => 'The error message returned because you do not have the permissions to manage the HAVIP. Go to the Quota Center page to acquire the permissions.'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidHaVipId.NotFound', 'errorMessage' => 'The specified HaVip does not exist in the specified region.', 'description' => 'The specified HAVIP does not exist in the specified region. Check whether the specified region is correct.'], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The specified Instance does not exist in the specified region.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'title' => 'UnassociateHaVip', 'summary' => 'Disassociates a high-availability virtual IP address (HaVip) from an Elastic Compute Service (ECS) in a virtual private cloud (VPC) or from an elastic network interface (ENI).', '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' => ' ', 'changeSet' => [ ['createdAt' => '2023-01-11T06:07:05.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-01-10T15:26:10.000Z', 'description' => 'Error codes changed, Response parameters changed'], ['createdAt' => '2021-11-16T13:33:39.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:UnassociateHaVip', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Instance', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:instance/{#InstanceId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'HaVip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/{#HaVipId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\"\\n}","type":"json"}]', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnassociateHaVip'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'UnassociateNetworkAcl' => [ 'summary' => 'Disassociates a network ACL from a vSwitch by calling the UnassociateNetworkAcl operation.', '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' => 'The information about the associated resources.', 'type' => 'array', 'items' => [ 'description' => 'The information about the associated resources.', 'type' => 'object', 'properties' => [ 'ResourceType' => ['description' => 'The type of the associated resource to disassociate. Set the value to **VSwitch**.'."\n" ."\n" .'Valid values of **N**: **0** to **29**. You can disassociate up to 30 resources at a time.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'VSwitch', 'title' => ''], 'ResourceId' => ['description' => 'The ID of the associated resource to disassociate.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'vsw-bp1de348lntdw****', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 100, 'title' => '', 'example' => '', ], ], [ 'name' => 'NetworkAclId', 'in' => 'query', 'schema' => ['description' => 'The ID of the network ACL to disassociate from the associated resources.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'nacl-a2do9e413e0sp****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the network ACL.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'The client generates the value. The value must be unique among different requests and cannot exceed 64 ASCII characters in length.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" .'* **true**: performs a dry run. The system checks the request for potential issues without performing the actual operation.'."\n" .'* **false** (default): performs the actual request.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the network ACL.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'AD024BAA-2D91-48FD-810B-8FB7489B6EE6', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ParameterMissing.AliUid', 'errorMessage' => 'ParameterMissing.AliUid', 'description' => ''], ['errorCode' => 'ParameterMissing.Bid', 'errorMessage' => 'ParameterMissing.Bid', 'description' => ''], ['errorCode' => 'ParameterMissing.RegionId', 'errorMessage' => 'ParameterMissing.RegionId', 'description' => ''], ['errorCode' => 'ParameterEmpty.RegionId', 'errorMessage' => 'ParameterEmpty.RegionId', 'description' => ''], ['errorCode' => 'ParameterMissing.NetworkAclId', 'errorMessage' => 'ParameterMissing.NetworkAclId', 'description' => ''], ['errorCode' => 'ParameterEmpty.NetworkAclId', 'errorMessage' => 'ParameterEmpty.NetworkAclId', 'description' => ''], ['errorCode' => 'ParameterMissing.Resources', 'errorMessage' => 'ParameterMissing.Resources', 'description' => ''], ['errorCode' => 'ParameterEmpty.Resources', 'errorMessage' => 'ParameterEmpty.Resources', 'description' => ''], ['errorCode' => 'InvalidNetworkAcl.NotFound', 'errorMessage' => 'The special Network Acl is not found.', 'description' => 'The network ACL is not found.'], ['errorCode' => 'NetworkStatus.Modifying', 'errorMessage' => 'The special Network Acl is in modifying.', 'description' => 'The network ACL is being modified.'], ['errorCode' => 'ResourceStatus.Error', 'errorMessage' => 'The binding instance is in middle status.', 'description' => 'The status of the instance is invalid.'], ['errorCode' => 'InvalidResource.NotFound', 'errorMessage' => 'The binding instance is not found.', 'description' => ''], ['errorCode' => 'InvalidResource.VpcError', 'errorMessage' => 'The network acl and resource not in same vpc.', 'description' => ''], ['errorCode' => 'InvalidResource.NotBinding', 'errorMessage' => 'The resource has not been binded.', 'description' => ''], ['errorCode' => 'NotSupport.NetworkAcl', 'errorMessage' => 'Network acl is not support now.', 'description' => ''], ['errorCode' => 'Mismatch.NetworkAclAndVSwitch', 'errorMessage' => 'The specified network ACL and vSwitch are not matched.', 'description' => 'The error message returned because the specified network ACL is not associated with the vSwitch.'], ['errorCode' => 'MissingParam.Resource', 'errorMessage' => 'Missing parameter Resource.', 'description' => 'Missing parameter Resource'], ['errorCode' => 'OperationDenied.NetworkAclAttachmentInMiddleStatus', 'errorMessage' => 'The network ACL is being bound to or unbound from the switch.', 'description' => '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.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeNetworkAcls', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AD024BAA-2D91-48FD-810B-8FB7489B6EE6\\"\\n}","type":"json"}]', 'title' => 'Disassociate a network ACL from a vSwitch', 'description' => '- **UnassociateNetworkAcl** is an asynchronous operation. After you send a request, the system returns a request ID, but the network ACL is not yet disassociated from the vSwitch. The disassociation task continues to run in the background. You can call [DescribeNetworkAclAttributes](~~116542~~) to query the disassociation status of the network ACL and the vSwitch:'."\n" .' - If the network ACL and the vSwitch are in the **UNBINDING** state, the disassociation is in progress.'."\n" .' - If no corresponding bindingrecord is found, the network ACL is disassociated from the vSwitch.'."\n" .'- You cannot concurrently disassociate vSwitches from the same network ACL by calling the **UnassociateNetworkAcl** operation.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-12-13T02:34:41.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-11-14T07:59:30.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-11-24T05:37:29.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnassociateNetworkAcl'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UnassociateNetworkAcl', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NetworkAcl', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:networkacl/{#NetworkAclId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], ], ], 'UnassociatePhysicalConnectionFromVirtualBorderRouter' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the Express Connect circuit.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'VbrId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VBR that you want to disassociate from the Express Connect circuit.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vbr-bp16ksp61j7e0tkn*****', 'title' => ''], ], [ 'name' => 'PhysicalConnectionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Express Connect circuit.'."\n", 'type' => 'string', 'required' => true, 'example' => 'pc-bp1qrb3044eqixog****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '980960B0-2969-40BF-8542-EBB34FD358AB', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'PARAMETER_MUST_NOT_NULL', 'errorMessage' => 'The specified physical connection id or vbrId must not be null.', 'description' => ''], ['errorCode' => 'PHYSICAL_NOT_ASSOCIATE_TO_VBR', 'errorMessage' => 'The specified PhysicalConnection have not associate to the vbr.', 'description' => 'No VBR is created for the Express Connect circuit.'], ['errorCode' => 'ROUTER_INTERFACE_REFERED_BY_ROUTEENTRY', 'errorMessage' => 'The specified VlanInterface has been used by routeEntry.', 'description' => ''], ['errorCode' => 'InvalidStatus.NotAllowed', 'errorMessage' => 'Invalid virtual border router status.', 'description' => ''], ['errorCode' => 'PHYSICAL_NOT_ALLOW_ASSOCIATE_VBR', 'errorMessage' => 'The specified operation not allow.', 'description' => ''], ['errorCode' => 'Forbidden.OperationNotAllowed', 'errorMessage' => 'The caller must be PhysicalConnection or VirtualBorderRouter\'s owner.', 'description' => ''], ['errorCode' => 'OperationFailed.ResourceLockedBySystem', 'errorMessage' => 'The specified resource is locked by system.', 'description' => 'The operating resource is locked by the system and cannot be operated temporarily.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The RegionId provided does not exist in our records.', 'description' => ''], ['errorCode' => 'InvalidVbrId.NotFound', 'errorMessage' => 'The specified VirutalBorderRouter does not exist in our records.', 'description' => ''], ], ], 'title' => 'UnassociatePhysicalConnectionFromVirtualBorderRouter', 'summary' => 'Disassociates a virtual border router (VBR) from an Express Connect circuit.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"980960B0-2969-40BF-8542-EBB34FD358AB\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 980960B0-2969-40BF-8542-EBB34FD358AB\\n","errorExample":""}]', 'operationType' => 'readAndWrite', ], 'UnassociateRouteTable' => [ 'summary' => 'Disassociates a route table from a vSwitch.', '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' => 'The region ID of the virtual private cloud (VPC) to which the custom route table belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RouteTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the route table.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vtb-bp145q7glnuzdvzu2****', 'title' => ''], ], [ 'name' => 'VSwitchId', 'in' => 'query', 'schema' => ['description' => 'The ID of the vSwitch from which you want to disassociate the route table.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vsw-25naue4****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016e04115b', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the virtual private cloud (VPC) to which the custom route table belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '62172DD5-6BAC-45DF-8D44-xxxxxxx', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'Specified value of RegionId is not supported.', 'description' => ''], ['errorCode' => 'InvalidParameter.Action', 'errorMessage' => 'This vpc feature is not supported in this region', 'description' => ''], ['errorCode' => 'IncorrectVSwitchStatus', 'errorMessage' => 'The current status of the virtual switch does not support this operation.', 'description' => ''], ['errorCode' => 'OperationUnsupported.SystemRouteTable', 'errorMessage' => 'System route table can not be unassociated.', 'description' => 'You cannot disassociate the system route table.'], ['errorCode' => 'InvalidStatus.VSwitch', 'errorMessage' => 'Specified vswitch is not in stable status and cannot operate.', 'description' => ''], ], 404 => [ ['errorCode' => 'InvalidRouteTableId.NotFound', 'errorMessage' => 'Specified route table does not exist.', 'description' => ''], ['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'Specified VSwitch does not exist.', 'description' => ''], ['errorCode' => 'InvalidBindingStatus.RouteTable', 'errorMessage' => 'The specified virtual switch and route table does not bind', 'description' => ''], ['errorCode' => 'OperationFailed.VSwitchNotAssociate', 'errorMessage' => 'Specified vswitch is not associated with the routeTable and cannot operate.', 'description' => ''], ], ], 'title' => 'UnassociateRouteTable', 'description' => '## [](#)References'."\n" ."\n" .'* **UnassociateRouteTable** 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 [DescribeVSwitchAttributes](~~94567~~) operation to query the status of the task.'."\n" ."\n" .' * If the vSwitch is in the **Pending** state, the route table is being disassociated.'."\n" .' * If the vSwitch is in the **Available** state, the route table is disassociated.'."\n" ."\n" .'* You cannot repeatedly call the **UnassociateRouteTable** operation to disassociate a route table from a vSwitch within the specified period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UnassociateRouteTable', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], ], '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"}]', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnassociateRouteTable'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'UnassociateVpcCidrBlock' => [ 'summary' => 'Removes a secondary CIDR block from a virtual private cloud (VPC).', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPC to which the secondary CIDR block to be deleted belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'ch-hangzhou', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VPC from which you want to delete a secondary CIDR block.', 'type' => 'string', 'required' => true, 'example' => 'vpc-o6wrloqsdqc9io3mg****', 'title' => ''], ], [ 'name' => 'SecondaryCidrBlock', 'in' => 'query', 'schema' => ['description' => 'The secondary IPv4 CIDR block to be deleted.'."\n" ."\n" .'> '."\n" .'> - You must set one of the SecondaryCidrBlock and Ipv6CidrBlock parameters.', 'type' => 'string', 'required' => false, 'example' => '192.168.0.0/16', 'title' => ''], ], [ 'name' => 'IPv6CidrBlock', 'in' => 'query', 'schema' => ['description' => 'The secondary IPv6 CIDR block to be deleted.'."\n" ."\n" .'> '."\n" .'> - You must set one of the Ipv6CidrBlock and SecondaryCidrBlock parameters.', 'type' => 'string', 'required' => false, 'example' => '2408:XXXX:0:6a::/56', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPC to which the secondary CIDR block to be deleted belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'ch-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C1221A1F-2ACD-4592-8F27-474E02883159', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.Ipv6Gateway', 'errorMessage' => 'The operation is failed because of ipv6Gateway is in use.', 'description' => 'The operation failed because the IPv6 gateway is being used.'], ['errorCode' => 'InvalidVpc.NotFound', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'IncorrectStatus.Vpc', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'ParamExclusive.SecondaryCidrAndIpv6Cidr', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'MissingParam.SecondaryCidrOrIpv6Cidr', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidSecondaryCidrBlock.NotFound', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationFailed.CidrInUse', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'InvalidIpv6CidrBlock.NotFound', 'errorMessage' => '%s', 'description' => ''], ['errorCode' => 'OperationFailed.IpV6VSwitchInuse', 'errorMessage' => 'Operation failed because some vswitch ipv6 is in use.', 'description' => ''], ['errorCode' => 'MissingParam.SecondaryCidrBlockOrIpv6CidrBlock', 'errorMessage' => 'Either SecondaryCidrBlock or Ipv6CidrBlock must be specified.', 'description' => 'The secondary CIDR block or the IPv6 CIDR block is not specified.'], ], ], 'title' => 'UnassociateVpcCidrBlock', 'description' => '- 删除VPC的附加网段前,请先删除以附加网段创建的交换机。更多信息,请参见[DeleteVSwitch](~~35746~~)。'."\n" ."\n" .'- **UnassociateVpcCidrBlock**接口不支持在同一个VPC下并发删除附加网段。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-08-24T07:18:02.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-10T01:47:39.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-11-03T13:35:20.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2021-08-16T09:15:55.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C1221A1F-2ACD-4592-8F27-474E02883159\\"\\n}","type":"json"}]', ], 'UntagResourcesForExpressConnect' => [ 'summary' => 'Removes tags from an Express Connect circuit at a time.', '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' => 'The type of the resource. Valid values:'."\n" ."\n" .'* **PHYSICALCONNECTION**: Express Connect circuit.'."\n" .'* **VIRTUALBORDERROUTER**: virtual border router (VBR).'."\n" .'* **ROUTERINTERFACE**: router interface.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'PHYSICALCONNECTION', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region in which the resource is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'All', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to remove all tags from the specified resource. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false** (default)'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The IDs of the resources from which you want to remove tags.'."\n", 'type' => 'array', 'items' => ['description' => 'The resource ID. You can specify up to 20 resource IDs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'pc-bp16qjewdsunr41m1****', 'title' => ''], 'required' => true, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'TagKey', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags to remove from the specified resource.'."\n", 'type' => 'array', 'items' => ['description' => 'The key of the tag to remove from the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key must be 1 to 128 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'DE65F6B7-7566-4802-9007-96F2494AC512', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidTagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The tag index is invalid.'], ['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The tag value is invalid.'], ['errorCode' => 'InvalidInstanceType.NotFound', 'errorMessage' => 'The instance type is not found', 'description' => 'The instance type is not found.'], ['errorCode' => 'InvalidInstanceIds.NotFound', 'errorMessage' => 'The instanceIds are not found', 'description' => 'The instance ID is not found.'], ['errorCode' => 'Forbidden.TagKeys', 'errorMessage' => 'The request do not allow to operate the tag keys', 'description' => 'You do not have the permissions to set the TagKeys parameter.'], ['errorCode' => 'QuotaExceeded.TagNum', 'errorMessage' => 'Custom Tags quota exceeded', 'description' => 'The upper limit is reached.'], ['errorCode' => 'Forbidden.TagKey.Duplicated', 'errorMessage' => 'The specified tag key already exists.', 'description' => 'The tag resources are duplicate.'], ['errorCode' => 'SizeLimitExceeded.TagNum', 'errorMessage' => 'The maximum number of tags is exceeded.', 'description' => 'The number of tags has reached the upper limit.'], ['errorCode' => 'SizeLimitExceeded.ResourceId', 'errorMessage' => 'The maximum number of resource IDs is exceeded.', 'description' => 'The number of resource group IDs has reached the upper limit.'], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'UntagResourcesForExpressConnect', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DE65F6B7-7566-4802-9007-96F2494AC512\\"\\n}","errorExample":""},{"type":"xml","example":"\\n DE65F6B7-7566-4802-9007-96F2494AC512\\n","errorExample":""}]', ], 'UpdateDhcpOptionsSetAttribute' => [ 'summary' => 'Modifies the configuration of a DHCP options set.', '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' => 'The region where the DHCP options set is deployed. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'DhcpOptionsSetId', 'in' => 'query', 'schema' => ['description' => 'The ID of the DHCP options set.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dopt-o6w0df4epg9zo8isy****', 'title' => ''], ], [ 'name' => 'DomainNameServers', 'in' => 'query', 'schema' => ['description' => 'The IP address of the DNS server. You can enter at most four DNS server IP addresses. Separate IP addresses with commas (,).'."\n" ."\n" .'> If you do not specify a DNS server IP address, Elastic Compute Service (ECS) instances use the IP addresses of the Alibaba Cloud DNS servers, which are 100.100.2.136 and 100.100.2.138.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.XX.XX.123', 'title' => ''], ], [ 'name' => 'DomainName', 'in' => 'query', 'schema' => ['description' => 'The root domain. For example, you can set the value to example.com.'."\n" ."\n" .'After a DHCP options set is associated with a virtual private cloud (VPC), the root domain in the DHCP options set is automatically synchronized with the ECS instances in the VPC.'."\n", 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'DhcpOptionsSetName', 'in' => 'query', 'schema' => ['description' => 'The name of the DHCP options set.'."\n" ."\n" .'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'name', 'title' => ''], ], [ 'name' => 'DhcpOptionsSetDescription', 'in' => 'query', 'schema' => ['description' => 'Enter a description for the DHCP options set.'."\n" ."\n" .'The description must be 2 to 256 characters in length. It must start with a letter and cannot start with `http://` or `https://`. You can also leave the description empty.'."\n", 'type' => 'string', 'required' => false, 'example' => 'description', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request may be different.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'**true**: performs a dry run. The system checks the required parameters, request format, and limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" ."\n" .'**false** (default): performs a dry run and sends the request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'LeaseTime', 'in' => 'query', 'schema' => ['description' => 'The lease time of the IPv4 addresses for the DHCP options set.'."\n" ."\n" .'* If you use hours as the unit, valid values are **24h to 1176h** and **87600h to 175200h**. Default value: **87600h**.'."\n" .'* If you use days as the unit, valid values are **1d to 49d** and **3650d to 7300d**. Default value: **3650d**.'."\n" ."\n" .'> If you specify a value, you must also specify the unit.'."\n", 'type' => 'string', 'required' => false, 'example' => '3650d', 'title' => ''], ], [ 'name' => 'Ipv6LeaseTime', 'in' => 'query', 'schema' => ['description' => 'The lease time of the IPv6 addresses for the DHCP options set.'."\n" ."\n" .'* If you use hours as the unit, valid values are **24h to 1176h** and **87600h to 175200h**. Default value: **87600h**.'."\n" .'* If you use days as the unit, valid values are **1d to 49d** and **3650d to 7300d**. Default value: **3650d**.'."\n" ."\n" .'> If you specify a value, you must also specify the unit.'."\n", 'type' => 'string', 'required' => false, 'example' => '3650d', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidDhcpOptionsSetId.NotFound', 'errorMessage' => 'The specified dhcpOptionsSetId does not exist.', 'description' => 'The DHCP options set does not exist. Check whether the parameter is set to a valid value.'], ['errorCode' => 'IncorrectStatus.DhcpOptionsSet', 'errorMessage' => 'The DhcpOptionsSet status does not support this operation.', 'description' => 'The DHCP options set that is associated with the VPC is being configured. As a result, the DHCP options set does not support this operation. You can perform the operation after the status of the DHCP options set is stable.'], ['errorCode' => 'IllegalParam.DomainNameServers', 'errorMessage' => 'The specified DomainNameServers is invalid.', 'description' => 'DomainNameServers is set to an invalid value.'], ['errorCode' => 'IllegalParam.DomainName', 'errorMessage' => 'The specified DomainName is invalid.', 'description' => 'The error message returned because DomainName is set to an invalid value.'], ['errorCode' => 'IllegalParam.DhcpOptionsSetName', 'errorMessage' => 'The specified DhcpOptionsSetName is invalid.', 'description' => 'DhcpOptionsSetName is set to an invalid value.'], ['errorCode' => 'IllegalParam.DhcpOptionsSetDescription', 'errorMessage' => 'The specified DhcpOptionsSetDescription is invalid.', 'description' => 'DhcpOptionsSetDescription is set to an invalid value.'], ['errorCode' => 'OperationUnsupported.DhcpLeaseTime', 'errorMessage' => 'The DhcpOptionsSet of this region does not support custom LeaseTime.', 'description' => 'DHCP options sets in the region do not support a custom lease time.'], ['errorCode' => 'OperationUnsupported.DhcpOptionsSet', 'errorMessage' => 'The DHCP options set feature in this region is not supported.', 'description' => 'The current region does not support the DHCP options sets feature.'], ['errorCode' => 'OperationDenied.ModifyDefaultDhcpOptionsSet', 'errorMessage' => 'The default DHCP options set is not allowed to be modified.', 'description' => 'The default DHCP options set is not allowed to be modified.'], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist.', 'description' => 'The specified region does not exist.'], ], ], 'title' => 'UpdateDhcpOptionsSetAttribute', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-12-13T02:34:41.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-04-22T03:18:36.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-05T07:33:20.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-10-27T07:35:46.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2021-11-16T13:33:39.000Z', 'description' => 'Request parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', ], 'UpdateEnhancedVpnGateway' => [ 'summary' => 'Call UpdateEnhancedVpnGateway to modify the name, description, or automatic route propagation of an enhanced VPN gateway.', 'path' => '', 'methods' => ['post', 'get'], 'schemes' => ['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' => 'The ID of the region where the enhanced VPN gateway is located. You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can generate a token from your client to make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify a `ClientToken`, the system automatically uses the `RequestId` of the API request as the `ClientToken`. Each API request has a different `RequestId`.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''], ], [ 'name' => 'VpnGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the enhanced VPN gateway.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The new name of the enhanced VPN gateway.'."\n" ."\n" .'The name must be 2 to 100 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). It must start with a letter and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'myvpn', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The new description of the enhanced VPN gateway.'."\n" ."\n" .'The description must be 1 to 100 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'AutoPropagate', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable automatic route propagation for the enhanced VPN gateway. Valid values:'."\n" ."\n" .'- **true**
'."\n" .' The enhanced VPN gateway automatically learns system routes from the system route table of the VPC and propagates routes from the on-premises data center to the system route table of the VPC.
'."\n" ."\n" .'- **false**
'."\n" .' Automatic route propagation is disabled. Before you disable this feature, make sure that BGP dynamic routing is disabled for all IPsec-VPN connections of the enhanced VPN gateway.
', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response data.', 'title' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'VpnType' => ['description' => 'The type of the Enhanced VPN Gateway.'."\n" ."\n" .'- **Normal** (default): standard type.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], 'Status' => ['description' => 'The status of the Enhanced VPN Gateway.'."\n" ."\n" .'- **init**: The gateway is being initialized.'."\n" ."\n" .'- **provisioning**: The gateway is being provisioned.'."\n" ."\n" .'- **active**: The gateway is active.'."\n" ."\n" .'- **updating**: The gateway is being updated.'."\n" ."\n" .'- **deleting**: The gateway is being deleted.', 'type' => 'string', 'example' => 'active', 'title' => ''], 'VpcId' => ['description' => 'The ID of the VPC to which the Enhanced VPN Gateway belongs.', 'type' => 'string', 'example' => 'vpc-bp1ub1yt9cvakoel****', 'title' => ''], 'CreateTime' => ['description' => 'The timestamp when the Enhanced VPN Gateway was created. Unit: milliseconds.
'."\n" .'This value is a Unix timestamp that represents the number of milliseconds that have elapsed since 00:00:00 UTC on January 1, 1970.
', 'type' => 'integer', 'format' => 'int64', 'example' => '1492753580000', 'title' => ''], 'AutoPropagate' => ['description' => 'Indicates whether BGP routes are automatically propagated to the VPC. Valid values:'."\n" ."\n" .'- **true**: Automatic propagation is enabled.'."\n" ."\n" .'- **false**: Automatic propagation is disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'VpnGatewayId' => ['description' => 'The ID of the Enhanced VPN Gateway.', 'type' => 'string', 'example' => 'vpn-bp1q8bgx4xnkm2ogj****', 'title' => ''], 'Tag' => ['description' => 'A JSON string that indicates the features supported by the Enhanced VPN Gateway.', 'type' => 'string', 'example' => '{"VpnEnableBgp": true}', 'title' => ''], 'VSwitchId' => ['description' => 'The ID of the vSwitch associated with the Enhanced VPN Gateway.', 'type' => 'string', 'example' => 'vsw-bp1y9ovl1cu9ou4tv****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457', 'title' => ''], 'EnableBgp' => ['description' => 'Indicates whether BGP is enabled for the Enhanced VPN Gateway. Valid values:
'."\n" ."\n" .'- **true**: Enabled.'."\n" ."\n" .'- **false**: Disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Name' => ['description' => 'The name of the Enhanced VPN Gateway.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'Description' => ['description' => 'The description of the Enhanced VPN Gateway.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'Tags' => [ 'itemNode' => true, 'description' => 'The tags of the Enhanced VPN Gateway.', 'type' => 'object', 'properties' => [ 'Tag' => [ 'description' => 'A list of tags.', 'type' => 'array', 'items' => [ 'description' => 'The details of the tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'key1', 'title' => ''], 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'val1', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'NetworkType' => ['description' => 'The network type of the Enhanced VPN Gateway. Valid values:'."\n" ."\n" .'- **public** (default): a public gateway.', 'type' => 'string', 'example' => 'public', 'title' => ''], 'DisasterRecoveryVSwitchId' => ['description' => 'The ID of the second vSwitch with which the Enhanced VPN Gateway is associated.', 'type' => 'string', 'example' => 'vsw-p0w95ql6tmr2ludkt****', 'title' => ''], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the Enhanced VPN Gateway belongs.
'."\n" .'You can call the [ListResourceGroups](~~158855~~) operation to query the details of resource groups.
', 'type' => 'string', 'example' => 'rg-acfmzs372yg****', 'title' => ''], 'EniInstanceIds' => [ 'itemNode' => true, 'description' => 'The ENIs created for the Enhanced VPN Gateway.', 'type' => 'object', 'properties' => [ 'EniInstanceId' => [ 'description' => 'The list of ENI IDs.', 'type' => 'array', 'items' => ['description' => 'The ENI ID.', 'type' => 'string', 'example' => 'eni-uf6cwkwt0f6zuul5****', 'title' => ''], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'GatewayType' => ['description' => 'The type of the Enhanced VPN Gateway. Only **Enhanced.SiteToSite** is returned, which indicates an enhanced site-to-site VPN gateway that supports only the IPsec-VPN feature.'."\n" ."\n" .'- **Enhanced.SiteToSite**, an enhanced site-to-cloud VPN that supports only the IPsec feature.', 'type' => 'string', 'example' => 'Enhanced.SiteToSite', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidName', 'errorMessage' => 'The name is not valid', 'description' => ''], ['errorCode' => 'InvalidDescription', 'errorMessage' => 'The description is not valid', 'description' => ''], ['errorCode' => 'OperationUnsupported.EnableBgp', 'errorMessage' => 'Current version of the VPN does not support enable BGP.', 'description' => 'The current version of the VPN gateway does not support BGP.'], ['errorCode' => 'OperationFailed.VpnConnectionExist', 'errorMessage' => 'Auto propagate cannot be closed when VPN connections with BGP enabled exist.', 'description' => 'Auto propagation cannot be closed when VPN connections with BGP enabled exist.'], ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => 'The specified VPN gateway does not exist. Check whether the specified VPN gateway is valid.'], ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['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.', 'description' => '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.', 'description' => 'The VPC system route table is not enabled to accept the propagation route.'], ['errorCode' => 'OperationFailed.VpcRoutePublishEnabledInTR', 'errorMessage' => 'A VPC supports at most one dynamic route learning source. In the forwarding router, disable route synchronization for the VPC.', 'description' => '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.', 'description' => 'A VPC supports at most one dynamic route learning source. Remove the VPC from ECR'], ['errorCode' => 'OperationFailed.BondingVpnNotSupportBGP', 'errorMessage' => 'The architecture does not support BGP capabilities (single tunnel bonding architecture VPN gateway).', 'description' => 'the architecture does not support the bgp capability (single-tunnel bonding vpn gateway)'], ['errorCode' => 'OperationFailed.StaleBGPRoutes', 'errorMessage' => 'BGP routes are still there and automatic route propagation cannot be disabled.', 'description' => 'Automatic route propagation cannot be disabled because a BGP route is left.'], ], 403 => [ ['errorCode' => 'Forbidden.SubUser', 'errorMessage' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'description' => 'The error message returned because you are unauthorized to perform this operation on the specified resource. Acquire the required permissions and try again.'], ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidVpnGatewayInstanceId.NotFound', 'errorMessage' => 'The specified vpn gateway instance id does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 6000, 'maxCallbackTimes' => 100], 'title' => 'Modify the name, description, or automatic BGP route propagation feature of an enhanced VPN Gateway ', 'description' => '- **UpdateEnhancedVpnGateway** is an asynchronous API. A call returns information about the Enhanced VPN Gateway, but the configuration is updated in the background. You can call [DescribeVpnGateway](~~73720~~) to check the status of the update:'."\n" ."\n" .' - If the Enhanced VPN Gateway\'s status is **updating**, the configuration update is in progress.'."\n" ."\n" .' - If the Enhanced VPN Gateway\'s status is **active**, the configuration update is complete.'."\n" ."\n" .'- **UpdateEnhancedVpnGateway** does not support concurrent updates on the same Enhanced VPN Gateway.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateEnhancedVpnGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"VpnType\\": \\"Normal\\",\\n \\"Status\\": \\"active\\",\\n \\"VpcId\\": \\"vpc-bp1ub1yt9cvakoel****\\",\\n \\"CreateTime\\": 1492753580000,\\n \\"AutoPropagate\\": true,\\n \\"VpnGatewayId\\": \\"vpn-bp1q8bgx4xnkm2ogj****\\",\\n \\"Tag\\": \\"{\\\\\\"VpnEnableBgp\\\\\\": true}\\",\\n \\"VSwitchId\\": \\"vsw-bp1y9ovl1cu9ou4tv****\\",\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B457\\",\\n \\"EnableBgp\\": true,\\n \\"Name\\": \\"test\\",\\n \\"Description\\": \\"test\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"key1\\",\\n \\"Value\\": \\"val1\\"\\n }\\n ]\\n },\\n \\"NetworkType\\": \\"public\\",\\n \\"DisasterRecoveryVSwitchId\\": \\"vsw-p0w95ql6tmr2ludkt****\\",\\n \\"ResourceGroupId\\": \\"rg-acfmzs372yg****\\",\\n \\"EniInstanceIds\\": {\\n \\"EniInstanceId\\": [\\n \\"eni-uf6cwkwt0f6zuul5****\\"\\n ]\\n },\\n \\"GatewayType\\": \\"Enhanced.SiteToSite\\"\\n}","type":"json"}]', ], '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' => 'The region ID of the failover test.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" ."\n" .'> If you do not set this parameter, the system uses the value of **RequestId** as **ClientToken**. The value of **RequestId** for each API request is different.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000'."\n", 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" ."\n" .'> If you do not set this parameter, the system uses the value of **RequestId** as **ClientToken**. The value of **RequestId** for each API request is different.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000'."\n", 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The name of the failover test.'."\n" ."\n" .'The name must be 0 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The description of the failover test.'."\n" ."\n" .'The description must be 0 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ 'name' => 'ResourceId', 'in' => 'query', 'allowEmptyValue' => false, 'style' => 'repeatList', 'schema' => [ 'title' => '', 'description' => 'The IDs of the failover test resources. You can add at most 16 resources.', 'type' => 'array', 'items' => ['description' => 'The ID of the resource.', 'type' => 'string', 'required' => false, 'example' => 'pc-uf66k4e8pq3r00jfq****', 'title' => ''], 'required' => false, 'maxItems' => 16, 'minItems' => 1, 'example' => '', ], ], [ 'name' => 'JobDuration', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The duration of the failover test. Unit: minutes. Valid values: **1** to **4320**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '4320', 'minimum' => '1', 'example' => '60'], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the failover test.', 'type' => 'string', 'required' => true, 'example' => 'ftj-bp1yh6mvi13aq3g8w****'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including invalid AccessKey pairs, unauthorized RAM users, and missing parameter values. If the request fails the dry run, an error message is returned. If the request passes the dry run, the DryRunOperation error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'C44F62BE-9CE7-4277-B117-69243F3988BF'."\n", 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.Name', 'errorMessage' => 'The param of Name [%s] is illegal.', 'description' => 'The error message returned because the Name parameter is set to an invalid value. Specify a valid value and try again.'], ['errorCode' => 'IllegalParam.Description', 'errorMessage' => 'The param of Description [%s] is illegal.', 'description' => 'The error message returned because the Description parameter is set to an invalid value. Specify a valid values and try again.'], ['errorCode' => 'EcFailoverTestJobExceedMaxResourceNum', 'errorMessage' => 'The input resource number is exceeded the quota of 16.', 'description' => 'The failover test job can add up to 16 resources.'], ['errorCode' => 'EcFailoverTestJobResourceInAnotherProcessingJob', 'errorMessage' => 'There is another processing failover test job.', 'description' => 'The current user already has a failover test job in progress. Please complete it and try again.'], ['errorCode' => 'IllegalParam.ResourceId', 'errorMessage' => 'The input parameter resource ID is invalid.', 'description' => 'The input parameter resource ID is invalid.'], ['errorCode' => 'IncorrectStatus.ResourceId', 'errorMessage' => 'The specified resource status is invalid.', 'description' => 'The resource status corresponding to the entered resource ID is invalid.'], ['errorCode' => 'IncorrectBusinessStatus.ResourceId', 'errorMessage' => 'The specified resource business status is invalid.', 'description' => 'The entered resource is in arrears.'], ['errorCode' => 'VpconnNotAssociatedVbr', 'errorMessage' => 'The specified vpconn is not associated with vbr.', 'description' => 'The entered virtual physical connection is not associated with a virtual border router.'], ['errorCode' => 'VpconnWithVlan0NotSupportShutdown', 'errorMessage' => 'The specified virtualPhysicalConnection with vlan 0 does not support shutdown.', 'description' => 'The shared physical connection of VLAN 0 does not support failover test.'], ['errorCode' => 'PconnContainsMoreThanOneVpconn', 'errorMessage' => 'The specified physicalConnection contains more than one virtualPhysicalConnection.', 'description' => 'A physical line that contains more than one shared physical line does not support failover test.'], ['errorCode' => 'PconnContailsMoreThanOneAcrossCountVbr', 'errorMessage' => 'The specified physicalConnection contains more than one virtualBorderRouter which is across count.', 'description' => 'Physical connections that contain more than one cross-account VBR do not support failover test.'], ['errorCode' => 'IllegalParam.JobDuration', 'errorMessage' => 'The specified parameter JobDuration is illegal.', 'description' => 'The task duration entered is illegal.'], ['errorCode' => 'IllegalParam.JobId', 'errorMessage' => 'The specified parameter JobId is illegal.', 'description' => 'The entered failover test job ID is invalid.'], ['errorCode' => 'IncorrectStatus.OnlyForInit', 'errorMessage' => 'Only the init status failover test job can be started.', 'description' => 'Only the fault drill task to be drilled can be modified or started.'], ['errorCode' => 'MultiplePconnSingleVbrNotSupportShutdown', 'errorMessage' => 'Vbr for single vbr and multiple pconn scenarios does not support failover test job.', 'description' => 'The vbr of a 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.', 'description' => 'The current failover test job task is in operation, please try again later.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'UpdateFailoverTestJob', 'summary' => 'Updates a failover test.', 'description' => '只支持更新处于**待演练**状态的故障演练任务。', 'changeSet' => [ ['createdAt' => '2024-07-19T02:56:58.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C44F62BE-9CE7-4277-B117-69243F3988BF\\\\n\\"\\n}","type":"json"}]', ], 'UpdateGatewayRouteTableEntryAttribute' => [ 'summary' => 'Modifies the next hop type and next hop of a gateway route table.', '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' => 'The region ID of the gateway route table that you want to modify.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-southeast-6', 'title' => ''], ], [ 'name' => 'IPv4GatewayRouteTableId', 'in' => 'query', 'schema' => ['description' => 'The ID of the gateway route table that you want to modify.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'vtb-5ts0ohchwkp3dydt2****', 'title' => ''], ], [ 'name' => 'GatewayRouteTableId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the gateway route table that you want to modify.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'vtb-5ts0ohchwkp3dydt2****'], ], [ '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 ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" .'- **true**: performs a dry run without modifying the gateway route table. The system checks the required parameters, request format, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'- **false** (default): performs a dry run and sends the request. If the request passes the dry run, an HTTP 2xx status code is returned and the gateway route table is modified.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'DestinationCidrBlock', 'in' => 'query', 'schema' => ['description' => 'The destination CIDR block of the route entry in the gateway route table.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '47.100.XX.XX/16', 'title' => ''], ], [ 'name' => 'NextHopType', 'in' => 'query', 'schema' => ['description' => 'The next hop type of the route that you want to modify. Valid values:'."\n" ."\n" .'- **Instance**: ECS instance.'."\n" .'- **NetworkInterface**: elastic network interface controller (NIC) instance.'."\n" ."\n" .'- **Local**: local.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Instance', 'title' => ''], ], [ 'name' => 'NextHopId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the next hop that you want to modify.'."\n" ."\n" .'- If **NextHopType** is set to **Instance**, set **NextHopId** to the ID of an ECS instance.'."\n" .'- If **NextHopType** is set to **NetworkInterface**, set **NextHopId** to the ID of an elastic network interface controller (NIC) instance.'."\n" .'- If **NextHopType** is set to **Local**, leave **NextHopId** empty, which indicates a local next hop.'."\n" ."\n" .'> If the next hop type of the route is **Instance** or **NetworkInterface** and you want to modify the next hop, you must first change **NextHopType** to **Local**, and then change **NextHopType** to **Instance** or **NetworkInterface** and specify the **NextHopId**. You cannot directly change the next hop from one network interface controller (NIC) or ECS instance to another network interface controller (NIC) or ECS instance when the next hop type is network interface controller (NIC) or ECS instance.', 'type' => 'string', 'required' => false, 'example' => 'i-bp18xq9yguxoxe7m****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the gateway route table.'."\n" ."\n" .'The name must be 2 to 128 characters in length and must start with a letter or Chinese character. It can contain digits, periods (.), underscores (_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the gateway route table.'."\n" ."\n" .'The description must be 2 to 256 characters in length and must start with a letter or Chinese character. It cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'new', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the gateway route table that you want to modify.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-southeast-6', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationDenied.UpdateGatewayRouteEntry', 'errorMessage' => 'The operation is not allowed because of need switch to local first.', 'description' => 'The system failed to modify the route. You must first set the next hop to a local route before you can set a custom next hop.'], ['errorCode' => 'IllegalParam.DestCidrBlock', 'errorMessage' => 'The destCidrBlock is invalid.', 'description' => 'The specified destination address is invalid.'], ['errorCode' => 'ResourceNotFound.NetworkInterface', 'errorMessage' => 'The specified resource nextHop is not found.', 'description' => 'The next hop instance does not exist.'], ['errorCode' => 'ResourceNotFound.RouteEntry', 'errorMessage' => 'The specified resource routeEntry is not found.', 'description' => 'The specified route entry does not exist'], ['errorCode' => 'IncorrectStatus.RouteEntry', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'Route entry is in non-steady state'], ['errorCode' => 'IncorrectStatus.Vswitch', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The status of the specified vSwitch is incorrect.'], ['errorCode' => 'ResourceNotFound.Instance', 'errorMessage' => 'The specified resource nextHop is not found.', 'description' => 'The next hop instance does not exist.'], ['errorCode' => 'IncorrectStatus.NextHop', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'Specified next hop resource'], ['errorCode' => 'OperationDenied.NextHopTypeNonsupport', 'errorMessage' => 'The operation is not allowed because of nextHopType is nonsupport.', 'description' => 'Specifying the next hop of the resource type is not supported.'], ['errorCode' => 'OperationDenied.LocalEntryCanOnlyModifyNextHop', 'errorMessage' => 'Only the nextHop parameter can be modified for a local route entry.', 'description' => 'You can modify only the next hop of a local route.'], ['errorCode' => 'ExclusiveParam.NextHopTypeAndNextHopId', 'errorMessage' => 'The param of nextHopType and nextHopId are mutually exclusive.', 'description' => 'The next hop type does not match the next hop instance.'], ['errorCode' => 'ResourceNotFound.RouteTable', 'errorMessage' => 'The specified resource gatewayRouteTable is not found.', 'description' => 'The gateway route table does not exist.'], ['errorCode' => 'InvalidRouterInterfaceId.NotFound', 'errorMessage' => 'The specified RouterInterfaceId does not exist in our record.', 'description' => ''], ['errorCode' => 'OperationUnsupported.OnlySupportNormalNetworkInterface', 'errorMessage' => 'Next hop only supports binding normal network Interface.', 'description' => 'Next hop only supports binding to common ENIs'], ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'The feature is not supported in current region.', 'description' => 'The feature is not supported in the current region.'], ['errorCode' => 'UnsupportedFeature.Ipv6GatewayRouteTable', 'errorMessage' => 'The feature of %s is not supported.', 'description' => 'The border gateway route table cannot be associated with the gateway.'], ['errorCode' => 'OperationDenied.TrAttachmentIpv6Disabled', 'errorMessage' => 'The operation is not allowed because tr attachment Ipv6 is disabled.', 'description' => 'The operation is not allowed because tr attachment Ipv6 is disabled.'], ['errorCode' => 'InvalidAttachment.NotFound', 'errorMessage' => 'The attachment is not found.', 'description' => 'The specified transit router does not exist.'], ['errorCode' => 'BothEmptyParam.GatewayRouteTableIdAndIpv4GatewayRouteTableId', 'errorMessage' => 'The parameter GatewayRouteTableId and Ipv4GatewayRouteTableId cannot be empty at the same time. We recommend that you use GatewayRouteTableId.', 'description' => 'The parameter GatewayRouteTableId and Ipv4GatewayRouteTableId cannot be empty at the same time. We recommend that you use GatewayRouteTableId.'], ['errorCode' => 'OperationUnsupported.Ipv6EntryOnPrimaryNetworkInterface', 'errorMessage' => 'You cannot create IPv6 route entries on a primary network interface.', 'description' => 'You cannot create an IPv6 route whose next hop is a primary ENI.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.GatewayLoadBalancerEndpoint', 'errorMessage' => 'GatewayLoadBalancerEndpoint instance not found.', 'description' => 'GatewayLoadBalancerEndpoint instance not found.'], ], ], 'title' => 'Modify the next hop type and next hop of a gateway route table', 'changeSet' => [ ['createdAt' => '2025-02-28T03:16:18.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-02-20T10:04:55.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-02-19T03:25:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-12-31T01:51:55.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-09-03T02:21:01.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-12-19T02:49:08.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2023-12-08T08:53:53.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-20T13:04:55.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-05-05T08:44:55.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-01-19T08:55:17.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-02T02:19:49.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateGatewayRouteTableEntryAttribute'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateGatewayRouteTableEntryAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","type":"json"}]', ], 'UpdateIpsecServer' => [ 'summary' => 'Modifies the configuration of an IPsec server.', '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' => 'The ID of the region where the IPsec server is created.'."\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', 'title' => ''], ], [ 'name' => 'IpsecServerId', 'in' => 'query', 'schema' => ['description' => 'The IPsec server ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'iss-bp1bo3xuvcxo7ixll****', 'title' => ''], ], [ 'name' => 'LocalSubnet', 'in' => 'query', 'schema' => ['description' => 'The local CIDR blocks, which are the CIDR blocks of the virtual private cloud (VPC) for the client to access.'."\n" ."\n" .'Multiple CIDR blocks are separated with commas (,). Example: 192.168.1.0/24,192.168.2.0/24.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.0.0/24,172.17.0.0/16', 'title' => ''], ], [ 'name' => 'ClientIpPool', 'in' => 'query', 'schema' => ['description' => 'The client CIDR block from which an IP address is allocated to the virtual network interface controller (NIC) of the client.'."\n" ."\n" .'> The client CIDR block must not overlap with the CIDR blocks of the VPC.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.0.0/24', 'title' => ''], ], [ 'name' => 'IpsecServerName', 'in' => 'query', 'schema' => ['description' => 'The name of the IPsec server.'."\n" ."\n" .'It must be 1 to 100 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'maxLength' => 100, 'title' => ''], ], [ 'name' => 'EffectImmediately', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to delete the negotiated IPsec tunnel and initiate the negotiation again. Valid values:'."\n" ."\n" .'* **true**: immediately initiates negotiations after the configuration is complete.'."\n" .'* **false**: initiates negotiations when inbound traffic is detected.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'IkeConfig', 'in' => 'query', 'schema' => ['description' => 'The configuration of Phase 1 negotiations. Valid values:'."\n" ."\n" .'* **IkeVersion**: The IKE version. Valid values: **ikev1** and **ikev2**.'."\n" .'* **IkeMode**: The IKE negotiation mode. Default value: **main**.'."\n" .'* **IkeEncAlg**: the encryption algorithm that is used in Phase 1 negotiation. Default value: **aes**.'."\n" .'* **IkeAuthAlg**: the authentication algorithm that is used in Phase 1 negotiation. Default value: **sha1**.'."\n" .'* **IkePfs**: The Diffie-Hellman key exchange algorithm that is used in Phase 1 negotiations. Default value: **group2**.'."\n" .'* **IkeLifetime**: The SA lifetime determined by Phase 1 negotiations. Unit: seconds. Valid values: **0** to **86400**. Default value: **86400**.'."\n" .'* **LocalId**: The identifier of the IPsec server. Only FQDN and IP address formats are supported.'."\n" .'* **RemoteId**: the peer identifier. Only FQDN and IP address formats are supported.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"IkeVersion":"ikev2","IkeMode":"main","IkeEncAlg":"aes","IkeAuthAlg":"sha1","IkePfs":"group2","IkeLifetime":86400}', 'title' => ''], ], [ 'name' => 'IpsecConfig', 'in' => 'query', 'schema' => ['description' => 'The configuration of Phase 2 negotiation. Valid values:'."\n" ."\n" .'* **IpsecEncAlg**: the encryption algorithm that is used in Phase 2 negotiation. Default value: **aes**.'."\n" .'* **IpsecAuthAlg**: the authentication algorithm that is used in Phase 2 negotiation. Default value: **sha1**.'."\n" .'* **IpsecPfs**: forwards packets of all protocols. The Diffie-Hellman key exchange algorithm that is used in Phase 2 negotiation. Default value: **group2**.'."\n" .'* **IpsecLifetime**: the SA lifetime determined by Phase 2 negotiation. Unit: seconds. Valid values: **0** to **86400**. Default value: **86400**.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400}', 'title' => ''], ], [ 'name' => 'PskEnabled', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable pre-shared key authentication. If you set the value to **true**, pre-shared key authentication is enabled.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'Psk', 'in' => 'query', 'schema' => ['description' => 'The pre-shared key.'."\n" ."\n" .'The pre-shared key that is used for authentication between the IPsec server and the client. The key must be 1 to 100 characters in length.'."\n" ."\n" .'You can call [ListIpsecServers](~~2794120~~) to query keys generated by the system.'."\n" ."\n" .'> The pre-shared key of the IPsec server key must be the same as that of the client. Otherwise, the connection between the IPsec server and the client cannot be established.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Cfd123****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate a value, and you must make sure that each request has a unique token value. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the value of **RequestId** as the value of **ClientToken**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => 'e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to only precheck this request. Valid values:'."\n" ."\n" .'* **true**: prechecks the request without modifying the configurations of the IPsec server. The system checks the required parameters, request format, and service limits. If the request fails to pass the precheck, an error code is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n" .'* **false**: sends the request. This is the default value. If the request passes the precheck, the system modifies the configurations of the IPsec server.'."\n", 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned results.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B61C08E5-403A-46A2-96C1-F7B1216DB10C', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'VpnGateway.Configuring', 'errorMessage' => 'The specified service is configuring.', 'description' => ''], ['errorCode' => 'VpnGateway.FinancialLocked', 'errorMessage' => 'The specified service is financial locked.', 'description' => ''], ['errorCode' => 'OperationUnsupported.IpsecPfs', 'errorMessage' => 'The specified IPsec Pfs is unsupported.', 'description' => 'The specified IPsec PFS property is not supported.'], ['errorCode' => 'IllegalParam.AuthMethod', 'errorMessage' => 'One authentication method (Psk or IDaaS) should be specified at least.', 'description' => 'You must specify at least one authentication method, such as PSK or IDaaS.'], ['errorCode' => 'IllegalParam.LocalSubnet', 'errorMessage' => 'The specified "LocalSubnet" (%s) is invalid.', 'description' => 'The specified "LocalSubnet" (%s) is invalid.'], ['errorCode' => 'IllegalParam.ClientIpPool', 'errorMessage' => 'The specified "ClientIpPool" (%s) is invalid.', 'description' => ''], ['errorCode' => 'MissingParam.IDaaSInstanceId', 'errorMessage' => 'The input parameter IDaaSInstanceId is mandatory when enable multi-factor authentication.', 'description' => 'You must specify the IDaaS instance ID when two-factor authentication is enabled.'], ['errorCode' => 'OperationFailed.NoRamPermission', 'errorMessage' => 'Vpn Service has no permission to operate your IDaaS instances.', 'description' => 'The VPN service does not have the permissions to manage your IDaaS instance.'], ['errorCode' => 'OperationFailed.AddVpcRoute', 'errorMessage' => 'It\'s failed to add VPC route after this operation.', 'description' => ''], ['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.', 'description' => 'The subnet mask of the client IP pool must range from 16 to 29.'], ['errorCode' => 'VpnRouteEntry.Conflict', 'errorMessage' => 'The specified client IP pool conflicts with VPN connection or SSL server.', 'description' => 'The specified client IP pool conflicts with the VPN connection or the SSL server.'], ['errorCode' => 'ClientIpPool.SubnetInvalid', 'errorMessage' => 'The specified client IP pool cannot be used.', 'description' => 'The client CIDR block is unavailable.'], ['errorCode' => 'InvalidClientIpPool.Conflict', 'errorMessage' => 'The specified client IP pool conflicts with other resources in the same VPC.', 'description' => 'The client CIDR block conflicts with resources in the VPC.'], ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy. Please try again later.', 'description' => ''], ], 403 => [ ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ], [ ['errorCode' => 'InvalidIpsecServerId.NotFound', 'errorMessage' => 'The specified IPsec server ID (%s) does not exist.', 'description' => ''], ['errorCode' => 'InvalidIDaaSInstanceId.NotFound', 'errorMessage' => 'The specified IDaaS instance ID does not exist.', 'description' => 'The specified IDaaS instance does not exist.'], ], 409 => [ ['errorCode' => 'OperationConflict', 'errorMessage' => 'The operation against this instance is too frequent, please try again later.', 'description' => 'Operations are too frequently performed on the instance. Try again later.'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeVpnGateway', 'callbackInterval' => 2000, 'maxCallbackTimes' => 60], 'title' => 'UpdateIpsecServer', 'description' => '* If you modify only **IpsecServerName** of the IPsec server, this operation is synchronous. If you modify other parameters besides **IpsecServerName**, this operation is asynchronous.'."\n" ."\n" .'* If **UpdateIpsecServer** 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 IPsec server is being modified.'."\n" .' * If the VPN gateway is in the **active** state, the IPsec server is modified.'."\n" ."\n" .'* You cannot repeatedly call **UpdateIpsecServer** within the specified period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], '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":""}]', ], 'UpdateIpv4GatewayAttribute' => [ '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' => 'The ID of the IPv4 gateway whose name or description you want to modify.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ipv4gw-5tsnc6s4ogsedtp3k****'], ], [ 'name' => 'Ipv4GatewayName', 'in' => 'query', 'schema' => ['description' => 'The new name of the IPv4 gateway.'."\n", 'type' => 'string', 'required' => false, 'example' => 'newname'], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'Ipv4GatewayDescription', 'in' => 'query', 'schema' => ['description' => 'The new description of the IPv4 gateway.'."\n", 'type' => 'string', 'required' => false, 'example' => 'new'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPv4 gateway whose name or description you want to modify.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-southeast-6'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IPv4 gateway whose name or description you want to modify.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-southeast-6'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '671CEB03-C98D-5916-950C-C55B0BD06621'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.Ipv4Gateway', 'errorMessage' => 'The specified resource ipv4Gateway is not found.', 'description' => 'The IPv4 gateway is not found and cannot be deleted.'], ['errorCode' => 'IncorrectStatus.Ipv4Gateway', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The IPv4 gateway is in an invalid state. Try again later.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'UpdateIpv4GatewayAttribute', 'summary' => 'Modifies the description or name of an IPv4 gateway.', 'description' => 'You cannot repeatedly call the **UpdateIpv4GatewayAttribute** operation to modify the name or description of an IPv4 gateway within the specified period of time.', 'changeSet' => [ ['createdAt' => '2021-11-02T02:19:49.000Z', 'description' => 'OpenAPI offline'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateIpv4GatewayAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv4Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv4gateway/{#ipv4gatewayId}'], ], ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"671CEB03-C98D-5916-950C-C55B0BD06621\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 671CEB03-C98D-5916-950C-C55B0BD06621\\n","errorExample":""}]', ], 'UpdateNatGatewayNatType' => [ 'summary' => 'Upgrades a standard NAT gateway to an enhanced NAT gateway.', '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' => 'The ID of the region where the NAT gateway that you want to upgrade is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ 'name' => 'NatGatewayId', 'in' => 'query', 'schema' => ['description' => 'The ID of the standard NAT gateway to be upgraded.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ngw-bp1b0lic8uz4r6vf2****', 'title' => ''], ], [ 'name' => 'VSwitchId', 'in' => 'query', 'schema' => ['description' => 'The vSwitch to which the enhanced Internet NAT gateway belongs.'."\n" ."\n" .'> If you do not set this parameter, the system generates an Internet NAT gateway in a random vSwitch of a virtual private cloud (VPC).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vsw-bp17nszybg8epodke****', 'title' => ''], ], [ 'name' => 'NatType', 'in' => 'query', 'schema' => ['description' => 'The type of Internet NAT gateway. Set the value to **Enhanced**, which specifies an enhanced Internet NAT gateway.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Enhanced', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to only precheck this request. Valid values:'."\n" ."\n" .'**true**: prechecks the request without upgrading the Internet NAT gateway. The system checks whether your AccessKey pair is valid, whether RAM users are granted required permissions, and whether the required parameters are set. If the request fails to pass the precheck, an error code is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n" ."\n" .'**false**: sends the API request. This is the default value. After the request passes the precheck, a 2XX HTTP status code is returned and the Internet NAT gateway is upgraded.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate a value, and you must make sure that each request has a unique token value. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the value of **RequestId** as the value of **ClientToken**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the NAT gateway that you want to upgrade is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationUnsupported.NatConvert', 'errorMessage' => 'The NAT gateway conversion function is not supported.', 'description' => 'The NAT gateway conversion function is not supported.'], ['errorCode' => 'OperationFailed.VpcNotExist', 'errorMessage' => 'The specified VPC does not exist.', 'description' => 'The specified VPC does not exist.'], ['errorCode' => 'OperationFailed.VswNotExist', 'errorMessage' => 'The specified VSwitch does not exist.', 'description' => 'The specified VSwitch does not exist.'], ['errorCode' => 'OperationFailed.NatTypeNotEnhanced', 'errorMessage' => 'Operation failed because the specified NAT gateway type is not enhanced.', 'description' => '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.', 'description' => 'Operation failed because the NAT gateway is bound to bandwidth packages.'], ['errorCode' => 'IncorrectStatus.NatGateway', 'errorMessage' => 'The status of NAT gateway is incorrect.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => 'The stock of enhanced NAT gateways is insufficient in the specified zone.'], ['errorCode' => 'OperationFailed.EnhancedUserIsUnAuthorized', 'errorMessage' => 'Operation failed because the user is not authorized to create an enhanced NAT gateway.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => 'The vSwitch and NAT gateway do not belong to the same VPC.'], ['errorCode' => 'OperationUnsupported.VpcAttachedCen', 'errorMessage' => 'Operation failed because the VPC is attached to CEN.', 'description' => 'Operation failed because the VPC is attached to CEN.'], ['errorCode' => 'OperationUnsupported.RouterInterfaceExist', 'errorMessage' => 'Operation failed because the VPC has a router interface.', 'description' => 'The VPC has a router interface.'], ['errorCode' => 'OperationFailed.VRouterNotExist', 'errorMessage' => 'Operation failed because the VRouter does not exist.', 'description' => 'Operation failed because the VRouter does not exist.'], ['errorCode' => 'OperationFailed.SnatQuotaExceed', 'errorMessage' => 'Operation failed because the maximum number of SNAT entry is exceeded.', 'description' => '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.', 'description' => '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.', 'description' => 'The specified vSwitch is associated with a subnet route table.'], ['errorCode' => 'OperationFailed.VswBindedAcl', 'errorMessage' => 'The operation failed because a network ACL is associated with the specified VSwitch.', 'description' => 'The specified vSwitch is associated with a network ACL.'], ['errorCode' => 'Forbidden.Convert', 'errorMessage' => 'User does not have permission to operate.', 'description' => ''], ['errorCode' => 'NATGW_NOT_EXIST', 'errorMessage' => 'The specified NAT gateway does not exist.', 'description' => 'The specified NAT gateway does not exist.'], ], 404 => [ ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified RegionId does not exist in our records.', 'description' => ''], ], ], 'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], 'title' => 'UpdateNatGatewayNatType', 'description' => 'Before you call this operation, take note of the following limits:'."\n" ."\n" .'* **UpdateNatGatewayNatType** is an asynchronous operation. After you send a request to call this operation, the system returns a request ID and the NAT gateway is still being upgraded in the backend. You can call the GetNatGatewayConvertStatus operation to query the upgrade progress of a NAT gateway. For more information, see [GetNatGatewayConvertStatus](~~184744~~).'."\n" ."\n" .' * If the NAT gateway is in the **processing** state, the NAT gateway is being upgraded. You can only query the status of the NAT gateway but cannot perform other operations.'."\n" .' * If the NAT gateway is in the **successful** state, the NAT gateway is upgraded.'."\n" .' * If the NAT gateway is in the **failed** state, the system failed to upgrade the NAT gateway.'."\n" ."\n" .'* You cannot repeatedly call the **UpdateNatGatewayNatType** operation for the same VPN gateway within the specified period of time.'."\n" ."\n" .'* The billing method and billable items remain the same after the upgrade.'."\n" ."\n" .'* It takes about five minutes to upgrade a standard NAT gateway to an enhanced NAT gateway. During the upgrade, transient connection errors may occur once or twice. The service can be recovered by reconnection. You can determine whether to enable automatic reconnection or use manual reconnection based on your business requirements.'."\n" ."\n" .'* You can only upgrade standard NAT gateways to enhanced NAT gateways. You are not allowed to downgrade enhanced NAT gateways to standard NAT gateways.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-10-18T10:15:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-03-01T06:45:55.000Z', 'description' => 'Response parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateNatGatewayNatType', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\n","errorExample":""}]', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateNatGatewayNatType'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], ], 'UpdateNetworkAclEntries' => [ 'summary' => 'Updates the rules of a network access control list (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' => 'The information about the inbound rules.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The information about the inbound rules.'."\n", 'type' => 'object', 'properties' => [ 'NetworkAclEntryId' => ['description' => 'The ID of the inbound rule.'."\n" ."\n" .'Valid values of **N**: **0** to **99**. You can specify at most 100 inbound rule IDs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nae-2zepn32de59j8m4****', 'title' => ''], 'EntryType' => ['description' => 'The rule type. Set the value to **custom**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'custom', 'title' => ''], 'NetworkAclEntryName' => ['description' => 'The name of the inbound rule.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acl-3', 'title' => ''], 'Policy' => [ 'description' => 'The access control policy. Valid values:'."\n" ."\n" .'* **accept**: allows network traffic.'."\n" .'* **drop**'."\n", 'enumValueTitles' => ['drop' => 'drop', 'accept' => 'accept'], 'type' => 'string', 'required' => false, 'example' => 'accept', 'title' => '', ], 'SourceCidrIp' => ['description' => 'The source CIDR block. Alternatively, a prefix list ID can be provided.', 'type' => 'string', 'required' => false, 'example' => '10.0.0.0/24'."\n" .'pl-xxxxxx', 'title' => ''], 'IpVersion' => [ 'description' => 'The IP version:'."\n" ."\n" .'* **IPv4**'."\n" .'* **IPv6**'."\n", 'enumValueTitles' => ['IPv6' => 'IPv6', 'IPv4' => 'IPv4'], 'type' => 'string', 'required' => false, 'example' => 'IPv4', 'title' => '', ], 'Description' => ['description' => 'The description of the inbound rule.'."\n" ."\n" .'The description must be 1 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'This is IngressAclEntries.', 'title' => ''], 'Protocol' => [ 'description' => 'Protocol type. Valid values:'."\n" ."\n" .'* **icmp**'."\n" .'* **gre**'."\n" .'* **tcp**'."\n" .'* **udp**'."\n" .'* **all**'."\n" .'* **icmpv6**'."\n", 'enumValueTitles' => ['all' => 'all', 'tcp' => 'tcp', 'udp' => 'udp', 'gre' => 'gre', 'icmp' => 'icmp', 'icmpv6' => 'icmpv6'], 'type' => 'string', 'required' => false, 'example' => 'all', 'title' => '', ], 'Port' => ['description' => 'The source port range of the inbound rule.'."\n" ."\n" .'* If **Protocol** is set to **all**, **icmp**, or **gre**, the port range is -1/-1, which indicates all ports are available.'."\n" .'* If **Protocol** is set to **tcp** or **udp**, valid port numbers are **1** to **65535**. Format: **1/200** (port 1 to 200) or **80/80** (port 80).'."\n", 'type' => 'string', 'required' => false, 'example' => '-1/-1', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 1000, 'title' => '', 'example' => '', ], ], [ 'name' => 'EgressAclEntries', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The information about the outbound rules.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The information about the outbound rules.'."\n", 'type' => 'object', 'properties' => [ 'NetworkAclEntryId' => ['description' => 'The ID of the outbound rule.'."\n" ."\n" .'Valid values of **N**: **0** to **99**. You can specify at most 100 outbound rule IDs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nae-2zecs97e0brcge46****', 'title' => ''], 'EntryType' => ['description' => 'The rule type. Set the value to **custom**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'custom', 'title' => ''], 'NetworkAclEntryName' => ['description' => 'The name of the outbound rule.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acl-2', 'title' => ''], 'Policy' => [ 'description' => 'The access control policy. Valid values:'."\n" ."\n" .'* **accept**'."\n" .'* **drop**'."\n", 'enumValueTitles' => ['drop' => 'drop', 'accept' => 'accept'], 'type' => 'string', 'required' => false, 'example' => 'accept', 'title' => '', ], 'Description' => ['description' => 'The description of the outbound rule.'."\n" ."\n" .'The description must be 1 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'This is EgressAclEntries.', 'title' => ''], 'Protocol' => [ 'description' => 'The protocol type. Valid values:'."\n" ."\n" .'* **icmp**'."\n" .'* **gre**'."\n" .'* **tcp**'."\n" .'* **udp**'."\n" .'* **all**'."\n" .'* **icmpv6**'."\n", 'enumValueTitles' => ['all' => 'all', 'tcp' => 'tcp', 'udp' => 'udp', 'gre' => 'gre', 'icmp' => 'icmp', 'icmpv6' => 'icmpv6'], 'type' => 'string', 'required' => false, 'example' => 'all', 'title' => '', ], 'DestinationCidrIp' => ['description' => 'The destination CIDR block. Alternatively, a prefix list ID can be provided.', 'type' => 'string', 'required' => false, 'example' => '10.0.0.0/24'."\n" .'pl-xxxxxx', 'title' => ''], 'IpVersion' => [ 'description' => 'The IP version:'."\n" ."\n" .'* **IPv4**'."\n" .'* **IPv6**'."\n", 'enumValueTitles' => ['IPv6' => 'IPv6', 'IPv4' => 'IPv4'], 'type' => 'string', 'required' => false, 'example' => 'IPv4', 'title' => '', ], 'Port' => ['description' => 'The destination port range of the outbound traffic.'."\n" ."\n" .'* If **Protocol** is set to **all**, **icmp**, or **gre**, the port range is -1/-1, which indicates all ports are available.'."\n" .'* If **Protocol** is set to **tcp** or **udp**, valid port numbers are **1** to **65535**. Format: **1/200** (port 1 to 200) or **80/80** (port 80).'."\n", 'type' => 'string', 'required' => false, 'example' => '-1/-1', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 1000, 'title' => '', 'example' => '', ], ], [ 'name' => 'UpdateIngressAclEntries', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to update inbound rules. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false** (default)'."\n" ."\n" .'> This parameter cannot be used to add inbound rules to ACLs. If you want to add more inbound rules to ACLs, you must specify both the existing rule and the rule that you want to add when you call this API operation. If you specify only the rule that you want to add, it overwrites the existing rule.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'UpdateEgressAclEntries', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to update outbound rules. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false** (default)'."\n" ."\n" .'> This parameter cannot be used to add outbound rules to ACLs. If you want to add more outbound rules to ACLs, specify both the existing rule and the rule that you want to add when you call this API operation. If you specify only the rule that you want to add, it overwrites the existing rule.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'NetworkAclId', 'in' => 'query', 'schema' => ['description' => 'The ID of the network ACL.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'nacl-bp1lhl0taikrzxsc****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the network ACL.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs a dry run. The system checks the request for potential issues, including the AccessKey pair, the permissions of the RAM user, and the required parameters. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the network ACL.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '1170A5A0-E760-4331-9133-A7D38D973215', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ParameterMissing.AliUid', 'errorMessage' => 'ParameterMissing.AliUid', 'description' => ''], ['errorCode' => 'ParameterMissing.Bid', 'errorMessage' => 'ParameterMissing.Bid', 'description' => ''], ['errorCode' => 'ParameterMissing.RegionId', 'errorMessage' => 'ParameterMissing.RegionId', 'description' => ''], ['errorCode' => 'ParameterEmpty.RegionId', 'errorMessage' => 'ParameterEmpty.RegionId', 'description' => ''], ['errorCode' => 'ParameterMissing.NetworkAclId', 'errorMessage' => 'ParameterMissing.NetworkAclId', 'description' => ''], ['errorCode' => 'ParameterEmpty.NetworkAclId', 'errorMessage' => 'ParameterEmpty.NetworkAclId', 'description' => ''], ['errorCode' => 'ParameterMissing.Port', 'errorMessage' => 'ParameterMissing.Port', 'description' => ''], ['errorCode' => 'ParameterIllegal.Port', 'errorMessage' => 'ParameterIllegal.Port', 'description' => ''], ['errorCode' => 'ParameterIllegal.Policy', 'errorMessage' => 'ParameterIllegal.Policy', 'description' => ''], ['errorCode' => 'ParameterMissing.Policy', 'errorMessage' => 'ParameterMissing.Policy', 'description' => ''], ['errorCode' => 'ParameterIllegal.Protocol', 'errorMessage' => 'ParameterIllegal.Protocol', 'description' => ''], ['errorCode' => 'ParameterMissing.Protocol', 'errorMessage' => 'ParameterMissing.Protocol', 'description' => ''], ['errorCode' => 'ParameterLengthIllegal.Name', 'errorMessage' => 'ParameterLengthIllegal.Name', 'description' => 'The length of the rule name is invalid.'], ['errorCode' => 'ParameterIllegal.Name', 'errorMessage' => 'ParameterIllegal.Name', 'description' => 'The name of the entry is invalid.'], ['errorCode' => 'ParameterLengthIllegal.Description', 'errorMessage' => 'ParameterLengthIllegal.Description', 'description' => ''], ['errorCode' => 'ParameterIllegal.Description', 'errorMessage' => 'ParameterIllegal.Description', 'description' => ''], ['errorCode' => 'ParameterIllegal.SourceCidrIp', 'errorMessage' => 'ParameterIllegal.SourceCidrIp', 'description' => ''], ['errorCode' => 'ParameterMissing.SourceCidrIp', 'errorMessage' => 'ParameterMissing.SourceCidrIp', 'description' => ''], ['errorCode' => 'ParameterIllegal.DestinationCidrIp', 'errorMessage' => 'ParameterIllegal.DestinationCidrIp', 'description' => ''], ['errorCode' => 'ParameterMissing.DestinationCidrIp', 'errorMessage' => 'ParameterMissing.DestinationCidrIp', 'description' => ''], ['errorCode' => 'QuotaExceed.NetworkAclEntry', 'errorMessage' => 'Network acl entry is over limit.', 'description' => 'The number of rules in the network ACL has reached the upper limit'], ['errorCode' => 'InvalidNetworkAcl.NotFound', 'errorMessage' => 'The special Network Acl is not found.', 'description' => 'The network ACL is not found.'], ['errorCode' => 'NetworkStatus.Modifying', 'errorMessage' => 'The special Network Acl is in modifying.', 'description' => 'The network ACL is being modified.'], ['errorCode' => 'ResourceStatus.Error', 'errorMessage' => 'The binding instance is in middle status.', 'description' => 'The status of the instance is invalid.'], ['errorCode' => 'NotSupport.NetworkAcl', 'errorMessage' => 'Network acl is not support now.', 'description' => ''], ['errorCode' => 'IllegalParam.IngressAclEntryId', 'errorMessage' => 'The specified IngressAclEntryId is invalid.', 'description' => 'The specified IngressAclEntryId is invalid.'], ['errorCode' => 'IllegalParam.EgressAclEntryId', 'errorMessage' => 'The specified EgressAclEntryId is invalid.', 'description' => 'The specified EgressAclEntryId is invalid.'], ['errorCode' => 'OperationDenied.VpcIpv6NotEnabled', 'errorMessage' => 'IPv6 has not been enabled for the VPC.', 'description' => 'The error message returned because the VPC does not support IPv6 and the operation is denied.'], ['errorCode' => 'IllegalParam.SourceCidrIp', 'errorMessage' => 'Param SourceCidrIp is illegal.', 'description' => 'Illegal parameters: Source CIDR'], ['errorCode' => 'IllegalParam.Policy', 'errorMessage' => 'Param Policy illegal.', 'description' => 'Illegal parameter: Policy'], ['errorCode' => 'IllegalParam.Protocol', 'errorMessage' => 'Param Protocol illegal.', 'description' => 'Illegal parameter: Protocol.'], ['errorCode' => 'IllegalParam.DestinationCidrIp', 'errorMessage' => 'Param DestinationCidrIp illegal.', 'description' => 'Illegal parameter: destination CIDR.'], ['errorCode' => 'IllegalParam.IpVersion', 'errorMessage' => 'Param IpVersion illegal.', 'description' => 'Illegal parameter: IpVersion'], ['errorCode' => 'IllegalParam.PortRange', 'errorMessage' => 'The specified port range is invalid.', 'description' => 'The port range is invalid.'], ['errorCode' => 'ResourceNotFound.PrefixList', 'errorMessage' => 'The specified resource of prefixList is not found.', 'description' => 'The prefix list does not exist.'], ['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.', 'description' => 'the ip version of the prefix list 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.', 'description' => 'You cannot manage the system prefix list.'], ['errorCode' => 'IncorrectStatus.PrefixList', 'errorMessage' => 'The status of prefixList is incorrect.', 'description' => 'The prefix list is in an unstable state.'], ['errorCode' => 'UnsupportedRegion.PrefixListEntry', 'errorMessage' => 'The feature of prefixList entry is not supported in this region.', 'description' => ''], ['errorCode' => 'OperationDenied.NetworkAclAttachmentInMiddleStatus', 'errorMessage' => 'The network ACL is being bound to or unbound from the switch.', 'description' => '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.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Vpc::2016-04-28::DescribeNetworkAcls', 'callbackInterval' => 3000, 'maxCallbackTimes' => 10], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1170A5A0-E760-4331-9133-A7D38D973215\\"\\n}","type":"json"}]', 'title' => 'UpdateNetworkAclEntries', 'description' => '- **UpdateNetworkAclEntries**接口属于异步接口,即系统返回一个请求ID,但该网络ACL规则尚未更新成功,系统后台的更新任务仍在进行。您可以调用[DescribeNetworkAclAttributes](~~116542~~)查询网络ACL规则的更新状态:'."\n" .' - 当网络ACL规则处于**Modifying**状态时,表示网络ACL规则正在更新中。'."\n" .' - 当网络ACL规则处于**Available**状态时,表示网络ACL规则更新成功。'."\n" .'- **UpdateNetworkAclEntries**接口不支持并发更新同一个网络ACL规则。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2024-10-25T13:40:05.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-03-26T11:08:48.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-11-24T05:37:29.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], 'ramActions' => [], 'translator' => 'manual', ], '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' => 'The ID of the IP address pool.'."\n", 'type' => 'string', 'required' => true, 'example' => 'pippool-6wetvn6fumkgycssx****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the IP address pool.'."\n" ."\n" .'This parameter is optional. The name must be 1 to 128 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AddressPoolName', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the IP address pool.'."\n" ."\n" .'This parameter is optional. If you enter a description, the description must be 2 to 256 characters in length, and cannot start with http:// or https://.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AddressPoolDescription', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the IP address pool that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-chengdu', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.Name ', 'errorMessage' => 'The param of Name [%s] is illegal.', 'description' => ''], ['errorCode' => 'IllegalParam.Description', 'errorMessage' => 'The param of Description [%s] is illegal.', 'description' => 'The error message returned because the Description parameter is set to an invalid value. Specify a valid values and try again.'], ['errorCode' => 'ResourceNotFound.PublicIpAddressPool', 'errorMessage' => 'The specified resource of PublicIpAddressPool [%s] is not found.', 'description' => 'The specified public IP address pool does not exist.'], ['errorCode' => 'OperationDenied.OperateSharedResource', 'errorMessage' => 'The operation is not allowed because of the PublicIpAddressPool is a shared resource.', 'description' => 'The public IP address pool is a shared resource and cannot be modified.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'UpdatePublicIpAddressPoolAttribute', 'summary' => 'Modifies the attributes of an IP address pool.', 'description' => 'You cannot repeatedly call the **UpdatePublicIpAddressPoolAttribute** operation to modify the attributes of an IP address pool within the specified period of time.'."\n", 'changeSet' => [ ['createdAt' => '2022-11-24T13:02:53.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', ], 'UpdateRouteTargetGroup' => [ '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' => 'The routing target group instance ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rtg-xxx', 'title' => ''], ], [ 'name' => 'RouteTargetGroupName', 'in' => 'query', 'schema' => ['description' => 'The name of the route target group.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with http:// or https://.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'myRouteTargetGroupName', 'title' => ''], ], [ 'name' => 'RouteTargetGroupDescription', 'in' => 'query', 'schema' => ['description' => 'The description of the route target group. '."\n" ."\n" .'The description must be 1 to 256 characters in length and cannot start with http:// or https://.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'myRouteTargetGroupDescription', 'title' => ''], ], [ 'name' => 'RouteTargetMemberList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The member list of the route target group.'."\n" ."\n" .'In active/standby mode, the following limits apply to route target group members:'."\n" ."\n" .'1. The number of route target group members must be 2.'."\n" .'2. The route target group members must belong to different zones.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'MemberId' => ['description' => 'The instance ID of the route target group member.', 'type' => 'string', 'required' => false, 'example' => 'ep-xxxx', 'title' => ''], 'MemberType' => ['description' => 'The member type of the route target group.'."\n" ."\n" .'Currently supported type:'."\n" ."\n" .'- **GatewayLoadBalancerEndpoint**'."\n" ."\n" .'In active/standby mode, all members of the route target group must be of the same type.', 'type' => 'string', 'required' => false, 'example' => 'GatewayLoadBalancerEndpoint', 'title' => ''], 'Weight' => ['description' => 'The weight of the route target group member. Valid values:'."\n" ."\n" .'- 100: The member is the active instance.'."\n" .'- 0: The member is the standby instance.'."\n" ."\n" .'The weight can only be set during creation and cannot be modified.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 16, 'title' => '', 'example' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the route target group instance. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. 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. If you do not specify this parameter, the system automatically uses the RequestId value as the ClientToken value. The RequestId value may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.RouteTargetGroup', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => 'The specified resource% s does not exist.'], ['errorCode' => 'IncorrectStatus.RouteTargetGroup', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The current state of the RouteTargetGroup prohibits the operation.'], ['errorCode' => 'Mismatch.GroupVpcIdAndInstanceVpcId', 'errorMessage' => 'The RouteTargetGroup VPC %s and the RouteTargetConfig VPC %s are mismatched.', 'description' => 'The VPC to which the route target group belongs is different from the VPC to which the route target configuration instance belongs.'], ['errorCode' => 'OperationDenied.UpdateMemberType', 'errorMessage' => 'The operation is not allowed because of the inability to update memberType.', 'description' => '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.', 'description' => '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.', 'description' => 'The operation is not allowed because of the inability to update the RouteTargetMember when it is in the enabled state.'], ['errorCode' => 'OperationDenied.NatGatewayIcmpReplyDisabled', 'errorMessage' => 'NAT gateway ICMP reply is disabled.', 'description' => 'The NAT gateway in the route target group must enable the ICMP return function to ensure that ICMP detection packets can be responded to normally.'], ['errorCode' => 'OperationDenied.NatGatewayNotSingleAZ', 'errorMessage' => 'NAT gateway must be in SingleAZ mode.', 'description' => 'A route target group only supports NAT gateways of a single AZ type.'], ['errorCode' => 'ResourceNotFound.NatGatewayVSwitch', 'errorMessage' => 'The VSwitch information associated with the selected NAT gateway was not found.', 'description' => 'VSwitch information associated with the selected NAT gateway was not found.'], ['errorCode' => 'ResourceNotFound.NatGateway', 'errorMessage' => 'The selected NAT gateway was not found when creating or modifying the route target group.', 'description' => 'The selected NAT gateway resource is not discovered when creating or modifying the routing target group.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.GatewayLoadBalancerEndpoint', 'errorMessage' => 'GatewayLoadBalancerEndpoint instance not found.', 'description' => 'GatewayLoadBalancerEndpoint instance not found.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Update a route target group', 'summary' => 'Updates the information of a route target group instance, including the name, description, and disabled members.', 'description' => '- **UpdateRouteTargetGroup** is an asynchronous operation. After you send a request, the system returns a request ID, but the route target group has not been updated yet. The update task is still running in the background. You can call ListRouteTargetGroup to query the update status of the route target group:'."\n" .' - If the route target group is in the **Updating** state, the route target group is being updated.'."\n" .' - If the route target group is in the **Available**, **Unavailable**, **Switched**, or **Abnormal** state, the route target group has been updated.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateRouteTargetGroup'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateRouteTargetGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTargetGroup', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetargetgroup/{#RouteTargetGroupId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC\\"\\n}","type":"json"}]', ], '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' => 'The ID of the filter.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tmf-j6cmls82xnc86vtpe****', 'title' => ''], ], [ 'name' => 'TrafficMirrorFilterDescription', 'in' => 'query', 'schema' => ['description' => 'The description of the filter.'."\n" ."\n" .'The description must be 1 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'This is a new filter.', 'title' => ''], ], [ 'name' => 'TrafficMirrorFilterName', 'in' => 'query', 'schema' => ['description' => 'The name of the filter.'."\n" ."\n" .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses **RequestId** as **ClientToken**. **RequestId** may be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to check the request without performing the operation. Valid values:'."\n" ."\n" .'* **true**: checks the request without performing the operation. The system checks the required parameters, request syntax, and limits. If the request fails the check, an error message is returned. If the request passes the check, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): sends the request. If the request passes the check, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region to which the mirrored traffic belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list. For more information about regions that support traffic mirror, see [Overview of traffic mirror](~~207513~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hongkong', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '5816D35F-94D5-48CE-838F-2327C8EE8D49', 'title' => ''], ], 'description' => '', 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.TrafficMirrorFilter', 'errorMessage' => 'The specified resource of traffic mirror filter is not found.', 'description' => 'The specified filter does not exist.'], ['errorCode' => 'IncorrectStatus.TrafficMirrorFilter', 'errorMessage' => 'The status of traffic mirror filter is incorrect.', 'description' => 'The filter is in an invalid state.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5816D35F-94D5-48CE-838F-2327C8EE8D49\\"\\n}","type":"json"}]', 'title' => 'UpdateTrafficMirrorFilterAttribute', 'summary' => 'Modifies the configuration of a filter for traffic mirror.', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateTrafficMirrorFilterAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/{#TrafficMirrorFilterId}'], ], ], ], ], ], 'UpdateTrafficMirrorFilterRuleAttribute' => [ 'summary' => 'Modifies the configuration of an inbound or outbound rule for traffic mirror.', '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' => 'The ID of the inbound or outbound rule.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tmr-j6c89rzmtd3hhdugq****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not set this parameter, the system uses **RequestId** as **ClientToken**. **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to check the request without performing the operation. Valid values:'."\n" ."\n" .'- **true**: only checks the API request. The configuration of the inbound or outbound rule is not modified. The system checks the required parameters, request syntax, and limits. If the request fails to pass the check, an error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n" ."\n" .'- **false**: sends the request. This is the default value. If the request passes the check, a 2xx HTTP status code is returned and the configuration of the inbound or outbound rule is modified.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'Priority', 'in' => 'query', 'schema' => ['description' => 'The new priority of the inbound or outbound rule. A smaller value indicates a higher priority.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'Protocol', 'in' => 'query', 'schema' => ['description' => 'The new protocol that is used by the traffic to be mirrored by the inbound or outbound rule. Valid values:'."\n" ."\n" .'- **ALL**: all protocols'."\n" ."\n" .'- **ICMP**: Internet Control Message Protocol (ICMP)'."\n" ."\n" .'- **TCP**: TCP'."\n" ."\n" .'- **UDP**: User Datagram Protocol (UDP)', 'type' => 'string', 'required' => false, 'example' => 'ICMP', 'title' => ''], ], [ 'name' => 'RuleAction', 'in' => 'query', 'schema' => ['description' => 'The new action of the inbound or outbound rule. Valid values:'."\n" ."\n" .'- **accept**: accepts network traffic.'."\n" ."\n" .'- **drop**: drops network traffic.', 'type' => 'string', 'required' => false, 'example' => 'accept', 'title' => ''], ], [ 'name' => 'DestinationCidrBlock', 'in' => 'query', 'schema' => ['description' => 'The new destination CIDR block of the inbound or outbound traffic.', 'type' => 'string', 'required' => false, 'example' => '10.0.0.0/24', 'title' => ''], ], [ 'name' => 'SourceCidrBlock', 'in' => 'query', 'schema' => ['description' => 'The new source CIDR block of the inbound or outbound traffic.', 'type' => 'string', 'required' => false, 'example' => '0.0.0.0/0', 'title' => ''], ], [ 'name' => 'DestinationPortRange', 'in' => 'query', 'schema' => ['description' => 'The new destination port range of the inbound or outbound traffic.'."\n" ."\n" .'> If you set **Protocol** to **ICMP**, you cannot change the port range.', 'type' => 'string', 'required' => false, 'example' => '-1/-1', 'title' => ''], ], [ 'name' => 'SourcePortRange', 'in' => 'query', 'schema' => ['description' => 'The new source port range of the inbound or outbound traffic.'."\n" ."\n" .'> If you set **Protocol** to **ICMP**, you cannot change the port range.', 'type' => 'string', 'required' => false, 'example' => '22/40', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region to which the mirrored traffic belongs.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list. For more information about regions that support traffic mirroring, see [Overview of traffic mirroring](~~207513~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hongkong', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '02EB8585-D4DC-4E29-A0F4-7C588C82863C', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.TrafficMirrorRule', 'errorMessage' => 'The specified resource of traffic mirror rule is not found.', 'description' => ''], ['errorCode' => 'IncorrectStatus.TrafficMirrorRule', 'errorMessage' => 'The status of traffic mirror rule is incorrect.', 'description' => 'The filter rule is in an invalid state.'], ['errorCode' => 'DuplicatedParam.Priority', 'errorMessage' => 'The specified priority conflicts with the existing priority.', 'description' => 'The specified priority is the same as an existing one.'], ['errorCode' => 'IllegalParam.Protocol', 'errorMessage' => 'The specified Protocol is invalid.', 'description' => 'The protocol is invalid.'], ['errorCode' => 'IllegalParam.SourceCidrBlock', 'errorMessage' => 'The param of SourceCidrBlock is illegal.', 'description' => 'The param of SourceCidrBlock is illegal.'], ['errorCode' => 'IllegalParam.DestinationCidrBlock', 'errorMessage' => 'The param of DestinationCidrBlock is illegal.', 'description' => 'The param of DestinationCidrBlock is illegal.'], ], ], 'title' => 'UpdateTrafficMirrorFilterRuleAttribute', 'description' => '- The **UpdateTrafficMirrorFilterRuleAttribute** operation is asynchronous. After you send the request, the system returns a request ID. However, the operation is still being performed in the system background. You can call the [ListTrafficMirrorFilters](~~261353~~) operation to query the status of an inbound or outbound rule:'."\n" ."\n" .' - If the rule is in the **Modifying** state, the rule is being modified.'."\n" ."\n" .' - If the rule is in the **Created** state, the rule is modified.'."\n" ."\n" .'- You cannot repeatedly call the **UpdateTrafficMirrorFilterRuleAttribute** operation to modify an inbound or outbound rule within the specified period of time.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-04-25T09:57:12.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateTrafficMirrorFilterRuleAttribute'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateTrafficMirrorFilterRuleAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/{#TrafficMirrorFilterId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"02EB8585-D4DC-4E29-A0F4-7C588C82863C\\"\\n}","type":"json"}]', ], 'UpdateTrafficMirrorSessionAttribute' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'TrafficMirrorSessionDescription', 'in' => 'query', 'schema' => ['description' => 'The new description of the traffic mirror session.'."\n" ."\n" .'The description must be 1 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'This is a new session.', 'title' => ''], ], [ 'name' => 'TrafficMirrorSessionName', 'in' => 'query', 'schema' => ['description' => 'The new name of the traffic mirror session.'."\n" ."\n" .'The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'abc', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe63****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'* **true**: performs a dry run, without performing the actual request. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false**: sends the request. If the request passes the check, a 2xx HTTP status code is returned and the operation is performed. This is the default value.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'TrafficMirrorSessionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the traffic mirror session.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tms-j6cla50buc44ap8tu****', 'title' => ''], ], [ 'name' => 'TrafficMirrorTargetId', 'in' => 'query', 'schema' => ['description' => 'The ID of the traffic mirror destination.'."\n", 'type' => 'string', 'required' => false, 'example' => 'eni-j6c2fp57q8rr47rp*****', 'title' => ''], ], [ 'name' => 'TrafficMirrorTargetType', 'in' => 'query', 'schema' => ['description' => 'The new type of the traffic mirror destination. Valid values:'."\n" ."\n" .'* **NetworkInterface**: an elastic network interface (ENI)'."\n" .'* **SLB**: an internal-facing Server Load Balancer (SLB) instance'."\n", 'type' => 'string', 'required' => false, 'example' => 'NetworkInterface', 'title' => ''], ], [ 'name' => 'TrafficMirrorFilterId', 'in' => 'query', 'schema' => ['description' => 'The ID of the traffic mirror filter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'tmf-j6cmls82xnc86vtpe****', 'title' => ''], ], [ 'name' => 'VirtualNetworkId', 'in' => 'query', 'schema' => ['description' => 'The VXLAN network identifier (VNI) that is used to distinguish different mirrored traffic. Valid values: **0** to **16777215**.'."\n" ."\n" .'You can use VNIs to identify mirrored traffic from different sessions at the traffic mirror destination. If you do not specify a VNI, the system randomly allocates a VNI. If you want the system to randomly allocate a VNI, ignore this parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'Priority', 'in' => 'query', 'schema' => ['description' => 'The new priority of the traffic mirror session. Valid values: **1** to **32766**.'."\n" ."\n" .'A smaller value indicates a higher priority. You cannot specify identical priorities for traffic mirror sessions that are created in the same region by using the same account.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], [ 'name' => 'PacketLength', 'in' => 'query', 'schema' => ['description' => 'The maximum transmission unit (MTU).'."\n" ."\n" .'Valid values: **64 to 9600**. Default value: **1500**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1500', 'title' => ''], ], [ 'name' => 'Enabled', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable the traffic mirror session. Valid values:'."\n" ."\n" .'* **false** (default)'."\n" .'* **true**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the traffic mirror session. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list. For more information about the regions that support traffic mirror, see [Overview of traffic mirror](~~207513~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hongkong', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '64DCAF03-E2C7-479A-ACEA-38B79876B006', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectBusinessStatus.TrafficMirror', 'errorMessage' => 'The business status of traffic mirror is incorrect.', 'description' => 'Traffic mirroring is in an invalid state.'], ['errorCode' => 'OptInRequired.TrafficMirror', 'errorMessage' => 'You need to subscribe to the traffic mirror service first.', 'description' => 'Traffic mirroring is disabled.'], ['errorCode' => 'DuplicatedParam.Priority', 'errorMessage' => 'The specified priority conflicts with the existing priority.', 'description' => 'The specified priority is the same as an existing one.'], ['errorCode' => 'ResourceNotFound.TrafficMirrorSession', 'errorMessage' => 'The specified resource of traffic mirror session is not found.', 'description' => ''], ['errorCode' => 'IncorrectStatus.TrafficMirrorSession', 'errorMessage' => 'The status of traffic mirror session is incorrect.', 'description' => ''], ['errorCode' => 'ResourceNotFound.TrafficMirrorFilter', 'errorMessage' => 'The specified resource of traffic mirror filter is not found.', 'description' => 'The specified filter does not exist.'], ['errorCode' => 'IncorrectStatus.TrafficMirrorFilter', 'errorMessage' => 'The status of traffic mirror filter is incorrect.', 'description' => 'The filter is in an invalid state.'], ['errorCode' => 'QuotaExceeded.FilterRelatedSession', 'errorMessage' => 'The quota of the number of traffic mirror sessions related to one filter is exceeded.', 'description' => 'The number of traffic mirror sessions associated with the filter has reached the upper limit.'], ['errorCode' => 'ResourceNotFound.NetworkInterface', 'errorMessage' => 'The specified resource of network interface is not found.', 'description' => 'The specified ENI does not exist.'], ['errorCode' => 'ResourceNotFound.EcsInstance', 'errorMessage' => 'The specified resource of ECS instance is not found.', 'description' => ''], ['errorCode' => 'ResourceNotFound.Slb', 'errorMessage' => 'The specified resource of SLB is not found.', 'description' => ''], ['errorCode' => 'OperationDenied.SlbNotInVpc', 'errorMessage' => 'The specified SLB is not in any VPC.', 'description' => ''], ['errorCode' => 'QuotaExceeded.NetworkInterfaceRelatedSession', 'errorMessage' => 'The quota of the number of traffic mirror sessions related to one network interface is exceeded.', 'description' => 'The number of traffic mirror sessions associated with an ENI has reached the upper limit.'], ['errorCode' => 'QuotaExceeded.SlbRelatedSession', 'errorMessage' => 'The quota of the number of traffic mirror sessions related to one SLB is exceeded.', 'description' => 'The number of traffic mirror sessions associated with an SLB instance has reached the upper limit.'], ['errorCode' => 'OperationDenied.EcsNotSupportTrafficMirror', 'errorMessage' => 'The ECS instance does not support traffic mirroring.', 'description' => ''], ['errorCode' => 'OperationDenied.DuplicateRole', 'errorMessage' => 'The network interface must not be the source and the target of traffic mirror sessions at the same time.', 'description' => ''], ['errorCode' => 'InvalidLoadBalancerId.NotFound', 'errorMessage' => 'The specified resource of load balancer is not found.', 'description' => 'The SLB instance does not exist.'], ['errorCode' => 'OperationDenied.FreeNetworkInterface', 'errorMessage' => 'The network interface is not attached to any ECS instance.', 'description' => 'The ENI is not associated with an ECS instance.'], ['errorCode' => 'OperationDenied.ClassicSLB', 'errorMessage' => 'The operation is not allowed because of ClassicSLB.', 'description' => 'The error message returned because you cannot perform the operation on a CLB instance.'], ['errorCode' => 'QuotaExceeded.SourceNumPerTarget', 'errorMessage' => 'The maximum number of traffic mirror sources for a target is exceeded.', 'description' => 'The number of traffic mirror sources associated with the image exceeds the upper limit.'], ['errorCode' => 'OperationFailed.NotSupportBizType', 'errorMessage' => 'The specified instance type does not support the operation.', 'description' => '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.', 'description' => 'When a NAT gateway NIC exists in the traffic mirroring source, the traffic mirroring purpose must be SLB type.'], ['errorCode' => 'OperationDenied.TargetTypeNotSupportBondEni', 'errorMessage' => 'Operation denied because of target type can not be Bond Network Interface.', 'description' => '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.', 'description' => 'Gateway-based load balancing endpoints are not supported as traffic mirrors mu d'], ['errorCode' => 'OperationDenied.InvalidTargetBondEniType', 'errorMessage' => 'The traffic mirroring target does not support the entered bond ENI type.', 'description' => '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.', 'description' => '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.', 'description' => 'Traffic mirror currently does not support source full packet mirroring. TrafficMirrorSourceTruncateMode can only be set to 0, which is the default mode.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.GatewayLoadBalancerEndpoint', 'errorMessage' => 'GatewayLoadBalancerEndpoint instance not found.', 'description' => 'GatewayLoadBalancerEndpoint instance not found.'], ], 500 => [ ['errorCode' => 'OperationFailed.GetEniInfo', 'errorMessage' => 'The back-end service failed to query the NIC information.', 'description' => 'The back-end service failed to query the NIC information.'], ], ], 'title' => 'UpdateTrafficMirrorSessionAttribute', 'summary' => 'Modifies the configuration of a traffic mirror session.', 'changeSet' => [ ['createdAt' => '2025-05-09T07:44:49.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2025-02-08T09:45:32.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-10-25T13:40:06.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-09-11T02:36:44.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2024-01-15T05:37:07.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-08-03T05:30:57.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-07-05T07:33:20.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-04-14T10:13:04.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateTrafficMirrorSessionAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorSession', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorsession/{#TrafficMirrorSessionId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/{#TrafficMirrorFilterId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"64DCAF03-E2C7-479A-ACEA-38B79876B006\\"\\n}","type":"json"}]', ], 'UpdateVirtualBorderBandwidth' => [ 'summary' => 'Calls the UpdateVirtualBorderBandwidth operation to update the bandwidth throttling for both the upstream and downstream routing directions on a Virtual Border Router (VBR).', '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' => 'The region ID of the VBR. '."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'VirtualBorderRouterId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the VBR.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vbr-bp15zckdt37pq72****', 'title' => ''], ], [ 'name' => 'Bandwidth', 'in' => 'query', 'schema' => ['description' => 'The new bandwidth limit of the VBR. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '2', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken value can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request is different.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-0016****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => '200', 'title' => ''], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'successful', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'AA4486A8-B6AE-469E-AB09-820EF8ECFA2B', 'title' => ''], 'Success' => ['description' => 'Indicates whether the modification was successful. Valid values:'."\n" ."\n" .'- **true**: Successful.'."\n" ."\n" .'- **false**: Failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.Vpconn', 'errorMessage' => 'The operation is failed because of Vpconn.', 'description' => 'You cannot set the Vpconn parameter.'], ['errorCode' => 'MissingParam.InstanceId', 'errorMessage' => 'Missing param of InstanceId.', 'description' => 'The InstanceId parameter is not set.'], ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'InstanceId not found.', 'description' => 'The InstanceId is set to an invalid value.'], ['errorCode' => 'MissingParam.Bandwidth', 'errorMessage' => 'Missing param of Bandwidth.', 'description' => 'The Bandwidth parameter is not set.'], ['errorCode' => 'IllegalParam.Bandwidth', 'errorMessage' => 'Illegal Param of Bandwidth.', 'description' => 'The Bandwidth parameter is set to an invalid value.'], ['errorCode' => 'MissingParam.regionNo', 'errorMessage' => 'Missing param of regionNo.', 'description' => ''], ['errorCode' => 'QuotaExceeded.VirtualBorderRouterBandwidth', 'errorMessage' => 'Quota Exceeded of VirtualBorderRouterBandwidth', 'description' => 'The bandwidth of the VBR exceeds the upper limit.'], ['errorCode' => 'OperationUnsupported.SetMultiPconnBandwidth', 'errorMessage' => 'Set Multi PhysicalConnection Bandwidth Unsupported.', 'description' => 'Bandwidth for multiple Express Connect circuits is not supported.'], ['errorCode' => 'OperationUnsupported.ModifyBandwidth', 'errorMessage' => 'Modify Sale VirtualBorderRouter Bandwidth Unsupported.', 'description' => 'You cannot save the modified bandwidth parameter.'], ['errorCode' => 'OperationFailed.PconnTrafficNotEnable', 'errorMessage' => 'The operation is failed because of PconnTrafficNotEnable.', 'description' => 'Billing for outbound data transfer is disabled.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Modify bandwidth throttling on a VBR', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2021-11-16T13:33:38.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2021-09-27T03:23:37.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateVirtualBorderBandwidth'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateVirtualBorderBandwidth', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:*:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"AA4486A8-B6AE-469E-AB09-820EF8ECFA2B\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], 'UpdateVirtualPhysicalConnection' => [ 'summary' => 'This operation modifies a virtual physical connection.', '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' => ['description' => 'The VLAN ID of the virtual physical connection. Valid values: **0** to **2999**.'."\n" ."\n" .'- If you set the VLAN ID to **0**, the physical switch port of the Virtual Border Router (VBR) operates in Layer 3 routed interface mode. In this mode, one physical connection corresponds to one VBR.'."\n" ."\n" .'- If you set the VLAN ID to a value from **1** to **2999**, the physical switch port of the VBR uses a VLAN-based Layer 3 subinterface. In this mode, each VLAN ID corresponds to one VBR. The physical connection can be attached to VPCs that belong to different accounts. VBRs in different VLANs are isolated at Layer 2 and cannot communicate with each other.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the virtual physical connection instance.', 'type' => 'string', 'required' => true, 'example' => 'pc-bp1mrgfbtmc9brre7****', 'title' => ''], ], [ 'name' => 'Token', 'in' => 'query', 'schema' => ['description' => 'The client token that ensures the idempotence of the request.'."\n" ."\n" .'A client-generated value that must be unique across requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the request as the **ClientToken**. The **RequestId** is different for each request.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'CBCE910E-D396-4944-8****'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['title' => 'DryRun', 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Performs a dry run to check for required parameters, the request format, and the instance status. The VLAN ID of the virtual physical connection is not modified. If the check fails, an error message is returned. If it passes, the request ID is returned.'."\n" ."\n" .'- **false** (default): Sends the request. If the check passes, the VLAN ID of the virtual physical connection is modified.', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ExpectSpec', 'in' => 'query', 'schema' => ['title' => 'ExpectSpec', 'description' => 'The expected bandwidth of the virtual physical connection. The new bandwidth takes effect only after the payment is complete.'."\n" ."\n" .'Valid values: **50M**, **100M**, **200M**, **300M**, **400M**, **500M**, **1G**, **2G**, **5G**, **8G**, and **10G**.'."\n" ."\n" .''."\n" ."\n" .'> Bandwidth settings of **2G**, **5G**, **8G**, and **10G** are not enabled by default. To use these settings, contact your account manager.'."\n" ."\n" .''."\n" ."\n" .''."\n" ."\n" .'> Bandwidth settings of **2G**, **5G**, **8G**, and **10G** are not enabled by default. To use these settings, contact your account manager.'."\n" ."\n" .''."\n" ."\n" .'Units: **M** indicates Mbps and **G** indicates Gbps.', 'type' => 'string', 'required' => false, 'example' => '50M'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the region where the virtual physical connection is deployed.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to obtain region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The response object.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '7035627E-1C1D-5BC7-A830-F897A35912D1'], 'Success' => ['description' => 'Indicates whether the VLAN ID of the virtual physical connection was successfully modified.'."\n" ."\n" .'- **true**: The VLAN ID was modified.'."\n" ."\n" .'- **false**: The VLAN ID was not modified.', 'type' => 'string', 'title' => '', 'example' => 'true'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.VlanId', 'errorMessage' => 'The param of VlanId is illegal.', 'description' => 'The VlanId parameter is set to an invalid value.'], ['errorCode' => 'ResourceNotFound.PhysicalConnectionId', 'errorMessage' => 'The specified PhysicalConnectionId [%s] is not found.', 'description' => 'PhysicalConnectionId is set to an invalid value.'], ['errorCode' => 'ResourceNotEnough.Bandwidth', 'errorMessage' => 'The specified resource of Bandwidth is not enough.', 'description' => 'The specified resource of Bandwidth is insufficient.'], ['errorCode' => 'IllegalParam.Bandwidth', 'errorMessage' => 'The param of bandwidth is illegal.', 'description' => 'The Bandwidth parameter is set to an invalid value.'], ['errorCode' => 'Forbidden.PhysicalConnection', 'errorMessage' => 'Only parent physical connection account is allowed to modify the virtual physical connection.', 'description' => 'You can modify only the physical port to which the shared port belongs.'], ['errorCode' => 'OperationFailed.PhysicalConnectionFinancialLocked', 'errorMessage' => 'Update failed, the physical connection is financial locked.', 'description' => 'The shared port is locked due to overdue payments and you cannot modify the VLAN.'], ['errorCode' => 'OperationFailed.PhysicalConnectionTerminated', 'errorMessage' => 'Update failed, the physical connection is terminated.', 'description' => 'The shared port is disabled and you cannot modify the VLAN.'], ['errorCode' => 'OperationDenied.CreateVpconn', 'errorMessage' => 'You are not allowed to create virtual physical connection. Please contact your CBM.', 'description' => 'If you do not have permission to create a shared line, please contact the business manager.'], ['errorCode' => 'IncorrectStatus.VBR', 'errorMessage' => 'The status of VBR is incorrect.', 'description' => 'The operation failed because the status of the VBR is invalid.'], ['errorCode' => 'IllegalParam.Spec', 'errorMessage' => 'The param of Spec is illegal.', 'description' => 'The Spec parameter is set to an invalid value.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7035627E-1C1D-5BC7-A830-F897A35912D1\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', 'title' => 'UpdateVirtualPhysicalConnection', 'changeSet' => [ ['createdAt' => '2024-08-01T04:02:59.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2024-06-13T08:13:13.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2023-12-21T05:47:23.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2022-12-05T08:06:02.000Z', 'description' => 'Error codes changed'], ['createdAt' => '2021-11-16T13:33:38.000Z', 'description' => 'Request parameters changed'], ['createdAt' => '2021-09-27T03:23:37.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateVirtualPhysicalConnection'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateVirtualPhysicalConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#physicalconnectionId}'], ], ], ], ], ], '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' => '', 'description' => 'The ID of the gateway endpoint that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vpce-bp1w1dmdqjpwul0v3****'], ], [ 'name' => 'EndpointName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The new name of the gateway endpoint.'."\n" ."\n" .'The name must be 1 to 128 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'update'], ], [ 'name' => 'EndpointDescription', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The new description of the gateway endpoint.'."\n" ."\n" .'The description must be 1 to 255 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'updateendpoint'], ], [ 'name' => 'PolicyDocument', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The access policy for the cloud service.'."\n" ."\n" .'For more information about the syntax and structure of the access policy, see [Policy syntax and structure](~~93739~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '{ "Version" : "1", "Statement" : [ { "Effect" : "Allow", "Resource" : [ "*" ], "Action" : [ "*" ], "Principal" : [ "*" ] } ] }'], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among all requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not set this parameter, the system uses **RequestId** as **ClientToken**. The value of **RequestId** of each API request may be different.'."\n", 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760'], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'* **true**: performs a dry run. The system checks your AccessKey pair, the RAM user permissions, and the required parameters If the request fails the dry run, the corresponding error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" .'* **false** (default): performs a dry run and sends the request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The region ID of the gateway endpoint.'."\n" ."\n" .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The returned information.'."\n", 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E9654534-5A38-5545-813F-0403D49042FB'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationFailed.ConcurrentOperation', 'errorMessage' => 'The operation is failed because of concurrent operation.', 'description' => ''], ['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.', 'description' => ''], ['errorCode' => 'ResourceNotFound.GatewayEndpoint', 'errorMessage' => 'The specified resource gateway endpoint is not found.', 'description' => 'The error message returned because the specified gateway endpoint does not exist.'], ['errorCode' => 'IllegalParam.PolicyDocument', 'errorMessage' => 'The param of PolicyDocument is illegal.', 'description' => ''], ['errorCode' => 'IllegalParam.GatewayEndpointName', 'errorMessage' => 'The param of GatewayEndpointName is illegal.', 'description' => ''], ['errorCode' => 'IllegalParam.GatewayEndpointDescription', 'errorMessage' => 'The param of GatewayEndpointDescription is illegal.', 'description' => ''], ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => ''], ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => ''], ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The regionId provided does not exist in our records.', 'description' => 'The RegionId parameter is set to an invalid value. Specify a valid value and try again.'], ['errorCode' => 'OperationDenied.PolicyDocument', 'errorMessage' => 'The gatewayEndpoint does not support policy.', 'description' => ''], ['errorCode' => 'IncorrectStatus.GatewayEndpoint', 'errorMessage' => 'The status of GatewayEndpoint [%s] is incorrect.', 'description' => ''], ['errorCode' => 'InvalidPolicy.WrongFormat', 'errorMessage' => 'Invalid input policy format.', 'description' => 'The format of the policy information is invalid.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'UpdateVpcGatewayEndpointAttribute', 'summary' => 'Modifies the configuration of a gateway endpoint.', 'description' => '* **UpdateVpcGatewayEndpointAttribute** 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 [GetVpcGatewayEndpointAttribute](~~311017~~) operation to query the status of the task.'."\n" ."\n" .' * If the gateway endpoint is in the **Updating** state, it is being modified.'."\n" .' * If the gateway endpoint is in the **Created** state, it is modified.'."\n" ."\n" .'* You cannot call the **UpdateVpcGatewayEndpointAttribute** operation within a specific period of time.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2023-05-29T06:12:36.000Z', 'description' => 'Error codes changed'], ], 'ramActions' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E9654534-5A38-5545-813F-0403D49042FB\\"\\n}","errorExample":""},{"type":"xml","example":"\\n E9654534-5A38-5545-813F-0403D49042FB\\n","errorExample":""}]', ], 'VpcDescribeVpcNatGatewayNetworkInterfaceQuota' => [ 'summary' => 'Queries the number of endpoints (EPs) that can be created for reverse access on a VPC NAT gateway.', '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' => 'The ID of the Alibaba Cloud account that owns the resource.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '132193271328****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The ClientToken parameter supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request may be different.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'NatGatewayId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The ID of the VPC NAT gateway to query.', 'type' => 'string', 'required' => false, 'example' => 'ngw-bp1uewa15k4iy5770****'], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the VPC NAT gateway to query.'."\n" ."\n" .'You can call the [DescribeRegions](~~448570~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'headers' => [], 'schema' => [ 'title' => '', 'description' => 'The request ID.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F'], 'Quota' => ['title' => '', 'description' => 'The number of EPs that can be created.', 'type' => 'integer', 'format' => 'int64', 'example' => '2'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OperationDenied.PrivateLinkNotEnabled', 'errorMessage' => 'The NAT gateway is not enable for private link.', 'description' => 'The error message returned because the NAT gateway cannot use PrivateLink.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.NatGateway', 'errorMessage' => 'The NatGateway instance not exist.', 'description' => 'The NAT gateway does not exist.'], ], ], 'title' => 'Query the number of ePs available for reverse access on a VPC NAT gateway', 'description' => 'Before you call this operation, make sure that you have created a VPC NAT gateway instance. For more information, see [CreateNatGateway](~~2522320~~).', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'VpcDescribeVpcNatGatewayNetworkInterfaceQuota'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:VpcDescribeVpcNatGatewayNetworkInterfaceQuota', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\",\\n \\"Quota\\": 2\\n}","type":"json"}]', ], 'WithdrawVpcPublishedRouteEntries' => [ 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID of the instance. You can call the DescribeRegions operation to query the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RouteEntries', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of route entries to withdraw. You can specify up to 50 route entries.', 'type' => 'array', 'items' => [ 'description' => 'The list of route entries to withdraw.', 'type' => 'object', 'properties' => [ 'RouteTableId' => ['description' => 'The route table ID of the route entry.', 'type' => 'string', 'required' => true, 'example' => 'vtb-bp145q7glnuzd****', 'title' => ''], 'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the route entry.', 'type' => 'string', 'required' => true, 'example' => '10.0.0.0/24', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 50, 'minItems' => 1, 'title' => '', 'example' => '', ], ], [ 'name' => 'TargetType', 'in' => 'query', 'schema' => ['description' => 'The type of the route publish target.', 'type' => 'string', 'required' => true, 'example' => 'ECR', 'title' => ''], ], [ 'name' => 'TargetInstanceId', 'in' => 'query', 'schema' => ['description' => 'The publish route entry target instance ID.', 'type' => 'string', 'required' => true, 'example' => 'ecr-dhw2xsds5****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" .'- **true**: performs a dry run without withdrawing the VPC published routing entry. The system checks the required parameters, request format, and business limits. If the check fails, the corresponding error is returned. If the check passes, the error code `DryRunOperation` is returned.'."\n" .'- **false** (default): sends a Normal request. If the check passes, an HTTP 2xx status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Vpc', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'The instance is in an invalid state.'], ['errorCode' => 'ResourceNotFound.RouteEntry', 'errorMessage' => 'The specified resource routeEntry is not found.', 'description' => 'The specified route entry does not exist'], ['errorCode' => 'IncorrectStatus.RouteEntry', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => 'Route entry is in non-steady state'], ['errorCode' => 'IncorrectStatus.RouteEntryPublishStatus', 'errorMessage' => 'Route entry publish status is incorrect.', 'description' => 'The route publish status of the route entry is incorrect.'], ['errorCode' => 'Forbidden.OperateCustomRouteTable', 'errorMessage' => 'The operation is forbidden because publish route entry in custom route table.', 'description' => 'The operation is prohibited because it is not allowed to publish route entries in the custom route table.'], ['errorCode' => 'ResourceNotAssociated.TargetInstance', 'errorMessage' => 'The target instance is not associated with vpc.', 'description' => ''], ['errorCode' => 'OperationDenied.UnsupportedTargetType', 'errorMessage' => 'The operation is not allowed because the target type is not supported.', 'description' => 'The operation was rejected because the type of the route publication target is not currently supported.'], ['errorCode' => 'IncorrectStatus.RouteTable', 'errorMessage' => 'The route table is in an invalid state.', 'description' => 'The specified routing table is in the wrong state'], ['errorCode' => 'OperationUnsupported.PublishSystemRouteEntry', 'errorMessage' => 'Publishing system route entry is unsupported.', 'description' => 'Publishing system routes is not supported.'], ['errorCode' => 'OperationUnsupported.UnsupportedNextHop', 'errorMessage' => 'Unsupported nexthop type for route entry publish operation.', 'description' => 'The next hop type of the route entry does not support publishing.'], ['errorCode' => 'OperationUnsupported.PublishPrefixListRouteEntry', 'errorMessage' => 'Publishing prefix list route entry is unsupported.', 'description' => 'Publishing route prefix list routes is not supported.'], ['errorCode' => 'MissingParam.RouteEntries', 'errorMessage' => 'The parameter RouteEntries is missing.', 'description' => 'Missing parameter RouteEntries'], ['errorCode' => 'InvalidRouteTableId.NotFound', 'errorMessage' => 'Specified route table does not exist.', 'description' => ''], ], ], 'title' => 'Withdraw VPC published route entry', 'summary' => 'Withdraws a VPC published routing entry.', 'changeSet' => [ ['createdAt' => '2025-03-03T12:54:15.000Z', 'description' => 'Error codes changed'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'WithdrawVpcPublishedRouteEntries'], ], 'product' => ['code' => 'expressconnect', 'title' => '高速通道'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:WithdrawVpcPublishedRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]', ], ], 'endpoints' => [ ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.cn-beijing.aliyuncs.com', 'endpoint' => 'vpc.cn-beijing.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-beijing.aliyuncs.com'], ['regionId' => 'cn-zhengzhou-jva', 'regionName' => 'Zhengzhou (China Unicom Joint Venture)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.cn-zhengzhou-jva.aliyuncs.com', 'endpoint' => 'vpc.cn-zhengzhou-jva.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-zhengzhou-jva.aliyuncs.com'], ['regionId' => 'cn-heyuan', 'regionName' => 'China (Heyuan)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.cn-heyuan.aliyuncs.com', 'endpoint' => 'vpc.cn-heyuan.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-heyuan.aliyuncs.com'], ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'vpc.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-zhangjiakou.aliyuncs.com'], ['regionId' => 'ap-northeast-2', 'regionName' => 'South Korea (Seoul)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.ap-northeast-2.aliyuncs.com', 'endpoint' => 'vpc.ap-northeast-2.aliyuncs.com', 'vpc' => 'vpc-vpc.ap-northeast-2.aliyuncs.com'], ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.ap-northeast-1.aliyuncs.com', 'endpoint' => 'vpc.ap-northeast-1.aliyuncs.com', 'vpc' => 'vpc-vpc.ap-northeast-1.aliyuncs.com'], ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.ap-southeast-1.aliyuncs.com', 'endpoint' => 'vpc.ap-southeast-1.aliyuncs.com', 'vpc' => 'vpc-vpc.ap-southeast-1.aliyuncs.com'], ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.ap-southeast-3.aliyuncs.com', 'endpoint' => 'vpc.ap-southeast-3.aliyuncs.com', 'vpc' => 'vpc-vpc.ap-southeast-3.aliyuncs.com'], ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.ap-southeast-5.aliyuncs.com', 'endpoint' => 'vpc.ap-southeast-5.aliyuncs.com', 'vpc' => 'vpc-vpc.ap-southeast-5.aliyuncs.com'], ['regionId' => 'ap-southeast-6', 'regionName' => 'Philippines (Manila)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.ap-southeast-6.aliyuncs.com', 'endpoint' => 'vpc.ap-southeast-6.aliyuncs.com', 'vpc' => 'vpc-vpc.ap-southeast-6.aliyuncs.com'], ['regionId' => 'ap-southeast-7', 'regionName' => 'Thailand (Bangkok)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.ap-southeast-7.aliyuncs.com', 'endpoint' => 'vpc.ap-southeast-7.aliyuncs.com', 'vpc' => 'vpc-vpc.ap-southeast-7.aliyuncs.com'], ['regionId' => 'ap-southeast-8', 'regionName' => 'Malaysia (Johor)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.ap-southeast-8.aliyuncs.com', 'endpoint' => 'vpc.ap-southeast-8.aliyuncs.com', 'vpc' => 'vpc-vpc.ap-southeast-8.aliyuncs.com'], ['regionId' => 'cn-zhongwei', 'regionName' => 'China (Zhongwei)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.cn-zhongwei.aliyuncs.com', 'endpoint' => 'vpc.cn-zhongwei.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-zhongwei.aliyuncs.com'], ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'vpc.cn-wulanchabu.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-wulanchabu.aliyuncs.com'], ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.cn-qingdao.aliyuncs.com', 'endpoint' => 'vpc.cn-qingdao.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-qingdao.aliyuncs.com'], ['regionId' => 'cn-wuhan-lr', 'regionName' => 'China (Wuhan - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.cn-wuhan-lr.aliyuncs.com', 'endpoint' => 'vpc.cn-wuhan-lr.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-wuhan-lr.aliyuncs.com'], ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.cn-shanghai.aliyuncs.com', 'endpoint' => 'vpc.cn-shanghai.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-shanghai.aliyuncs.com'], ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.cn-hongkong.aliyuncs.com', 'endpoint' => 'vpc.cn-hongkong.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-hongkong.aliyuncs.com'], ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.cn-shenzhen.aliyuncs.com', 'endpoint' => 'vpc.cn-shenzhen.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-shenzhen.aliyuncs.com'], ['regionId' => 'cn-nanjing', 'regionName' => 'China (Nanjing - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.cn-nanjing.aliyuncs.com', 'endpoint' => 'vpc.cn-nanjing.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-nanjing.aliyuncs.com'], ['regionId' => 'cn-fuzhou', 'regionName' => 'China (Fuzhou - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.cn-fuzhou.aliyuncs.com', 'endpoint' => 'vpc.cn-fuzhou.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-fuzhou.aliyuncs.com'], ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.cn-chengdu.aliyuncs.com', 'endpoint' => 'vpc.cn-chengdu.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-chengdu.aliyuncs.com'], ['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.cn-guangzhou.aliyuncs.com', 'endpoint' => 'vpc.cn-guangzhou.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-guangzhou.aliyuncs.com'], ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.cn-huhehaote.aliyuncs.com', 'endpoint' => 'vpc.cn-huhehaote.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-huhehaote.aliyuncs.com'], ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vpc.cn-hangzhou.aliyuncs.com', 'endpoint' => 'vpc.cn-hangzhou.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-hangzhou.aliyuncs.com'], ['regionId' => 'us-southeast-1', 'regionName' => 'US(Atlanta)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'vpc.us-southeast-1.aliyuncs.com', 'endpoint' => 'vpc.us-southeast-1.aliyuncs.com', 'vpc' => 'vpc-vpc.us-southeast-1.aliyuncs.com'], ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'vpc.eu-west-1.aliyuncs.com', 'endpoint' => 'vpc.eu-west-1.aliyuncs.com', 'vpc' => 'vpc-vpc.eu-west-1.aliyuncs.com'], ['regionId' => 'eu-west-2', 'regionName' => 'France (Paris)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'vpc.eu-west-2.aliyuncs.com', 'endpoint' => 'vpc.eu-west-2.aliyuncs.com', 'vpc' => 'vpc-vpc.eu-west-2.aliyuncs.com'], ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'vpc.eu-central-1.aliyuncs.com', 'endpoint' => 'vpc.eu-central-1.aliyuncs.com', 'vpc' => 'vpc-vpc.eu-central-1.aliyuncs.com'], ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'vpc.us-east-1.aliyuncs.com', 'endpoint' => 'vpc.us-east-1.aliyuncs.com', 'vpc' => 'vpc-vpc.us-east-1.aliyuncs.com'], ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'vpc.us-west-1.aliyuncs.com', 'endpoint' => 'vpc.us-west-1.aliyuncs.com', 'vpc' => 'vpc-vpc.us-west-1.aliyuncs.com'], ['regionId' => 'na-south-1', 'regionName' => 'Mexico', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'vpc.na-south-1.aliyuncs.com', 'endpoint' => 'vpc.na-south-1.aliyuncs.com', 'vpc' => 'vpc-vpc.na-south-1.aliyuncs.com'], ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'vpc.me-east-1.aliyuncs.com', 'endpoint' => 'vpc.me-east-1.aliyuncs.com', 'vpc' => 'vpc-vpc.me-east-1.aliyuncs.com'], ['regionId' => 'me-central-1', 'regionName' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'vpc.me-central-1.aliyuncs.com', 'endpoint' => 'vpc.me-central-1.aliyuncs.com', 'vpc' => 'vpc-vpc.me-central-1.aliyuncs.com'], ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'vpc.cn-shenzhen-finance-1.aliyuncs.com', 'endpoint' => 'vpc.cn-shenzhen-finance-1.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-shenzhen-finance-1.aliyuncs.com'], ['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'vpc.cn-beijing-finance-1.aliyuncs.com', 'endpoint' => 'vpc.cn-beijing-finance-1.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-beijing-finance-1.aliyuncs.com'], ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'vpc.cn-shanghai-finance-1.aliyuncs.com', 'endpoint' => 'vpc.cn-shanghai-finance-1.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-shanghai-finance-1.aliyuncs.com'], ['regionId' => 'cn-heyuan-acdr-1', 'regionName' => 'Heyuan ACDR Auto', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'vpc.cn-heyuan-acdr-1.aliyuncs.com', 'endpoint' => 'vpc.cn-heyuan-acdr-1.aliyuncs.com', 'vpc' => 'vpc-vpc.cn-heyuan-acdr-1.aliyuncs.com'], ], 'errorCodes' => [ ['code' => 'Abs.InstanceNotExist', 'message' => 'The specified instance does not exist.', 'http_code' => 400, 'description' => 'The specified instance does not exist.'], ['code' => 'Abs.InvalidBillingPeriod', 'message' => 'The specified billing period is invalid.', 'http_code' => 400, 'description' => 'The specified billing period is invalid.'], ['code' => 'Abs.InvalidBillingType', 'message' => 'The specified billing type is invalid.', 'http_code' => 400, 'description' => 'The specified billing type is invalid.'], ['code' => 'Abs.InvaliTableName.Malformed', 'message' => 'Table name format is invalid.', 'http_code' => 400, 'description' => 'The new name of the route table is invalid.'], ['code' => 'Abs.Vpc.InnerServiceFailed', 'message' => 'Call inner service failed.', 'http_code' => 500, 'description' => 'Failed to call the internal service. Try again later.'], ['code' => 'Abs.Vpc.InvalidName.Malformed', 'message' => 'The specified Name is not valid.', 'http_code' => 400, 'description' => 'The specified Name is invalid.'], ['code' => 'ACCESS.DEVICE.NOT.ALLOW.WITHOUT.SP', 'message' => 'Access device not allow direct enable physical connection', 'http_code' => 400, 'description' => 'The access device is not allowed to use a physical port.'], ['code' => 'AccessPoint.NotFound', 'message' => 'The input access point does not exist or does not have permission to view it.', 'http_code' => 400, 'description' => 'The input access point does not exist or does not have permission to view it.'], ['code' => 'AccountBalanceForVpn.NotFull', 'message' => 'The user\'s account balance for purchasing the VPN is insufficient.', 'http_code' => 400, 'description' => 'The user\'s account balance for purchasing the VPN is insufficient.'], ['code' => 'AccountMoneyValidateError', 'message' => 'The available amount of the account is insufficient.', 'http_code' => 400, 'description' => 'The account does not have sufficient balance.'], ['code' => 'ACCOUNT_BALANCE_EXCEEDED', 'message' => 'User attempted to create a new order.but user account balance is insufficient.', 'http_code' => 400, 'description' => 'User attempted to create a new order.but user account balance is insufficient.'], ['code' => 'ALIUID.NOT.ALLOW.WITHOUT.SP', 'message' => 'AliUid not allow direct enable physical connection', 'http_code' => 400, 'description' => 'You are not allowed to use a physical port when you use an Alibaba Cloud UID.'], ['code' => 'AllocateIpFailed', 'message' => 'Alloc bandwidthPackage ips failed', 'http_code' => null, 'description' => 'An error occurred while allocating a public IP address for the EIP bandwidth plan.'], ['code' => 'AnotherJobTesting', 'message' => 'There is another job which is testing.', 'http_code' => 400, 'description' => 'The same user can only perform one fault drill task in the same region at the same time.'], ['code' => 'ARREARAGE', 'message' => null, 'http_code' => null, 'description' => 'The specified account has overdue payments.'], ['code' => 'AttrMismatching.BandwidthPackageIpVersion', 'message' => 'The IpVersion of the IpInstance does not match the IpVersion of the BandwidthPackage.', 'http_code' => 400, 'description' => 'The IpVersion of the EIP instance does not match that of the Internet Shared Bandwidth instance.'], ['code' => 'AttrMismatching.VpcDhcpOptionsSetId', 'message' => 'The dhcpOptionsSetId does not match the VPC.', 'http_code' => 400, 'description' => 'The ID of the DHCP options set does not match the VPC. Check whether the specified DHCP options set is associated with the VPC.'], ['code' => 'AUTH.RAM_AUTH_FAILED', 'message' => null, 'http_code' => null, 'description' => 'An error occurred while verifying the RAM account identity.'], ['code' => 'AvailableZoneNotExist', 'message' => 'Available zone not exist.', 'http_code' => 400, 'description' => 'The zone does not exist.'], ['code' => 'BandwidthPackage.FinancialLocked', 'message' => 'The specified BandwidthPackage has been Financail Lock.', 'http_code' => null, 'description' => 'The specified bandwidth plan is locked due to overdue payments.'], ['code' => 'BandwidthPackage.QuotaExceeded', 'message' => null, 'http_code' => null, 'description' => 'The number of EIP bandwidth plans exceeds the upper limit.'], ['code' => 'BandwidthPackageId.InvalidBandwidth', 'message' => 'You cannot add the hybrid cloud EIP to the bandwidth package. The bandwidth of the bandwidth package is lower than the EIP bandwidth.', 'http_code' => 400, 'description' => 'You cannot associate an EIP in hybrid cloud mode with an EIP bandwidth plan that provides low bandwidth.'], ['code' => 'BandwidthPackageId.InvalidBizStatus', 'message' => null, 'http_code' => null, 'description' => 'The EIP bandwidth plan is locked due to overdue payments.'], ['code' => 'BandwidthPackageId.InvalidBizStatus', 'message' => 'The specified bandwidth package has an outstanding balance and has been locked. You cannot add any IP address.', 'http_code' => 400, 'description' => 'The specified bandwidth package has an outstanding balance and has been locked. You cannot add any IP address.'], ['code' => 'BandwidthPackageOperation.conflict', 'message' => 'BandwidthPackage operation conflict', 'http_code' => null, 'description' => 'The operation on the EIP bandwidth plan conflicts with another operation.'], ['code' => 'BindInstanceHasBandwidth', 'message' => 'The specified bind instance has bandwidth.', 'http_code' => 400, 'description' => 'The specified bound instance already has bandwidth.'], ['code' => 'BIND_INSTANCE_HAVE_PORTMAP_OR_BIND_EIP', 'message' => 'The instance may have portMap or already bind eip.', 'http_code' => 400, 'description' => 'The ECS instance already has a port forwarding rule (DNAT). Delete the corresponding port forwarding rule before performing the operation.'], ['code' => 'BIND_INSTANCE_OWENER_ERROR', 'message' => 'Cannot operate the eip.', 'http_code' => null, 'description' => 'You are unauthorized to manage the specified EIP.'], ['code' => 'BothEmpty.TagsAndResources', 'message' => 'The specified Tags and ResourcesIds are not allow to both empty.', 'http_code' => 400, 'description' => 'The tags and resource groups cannot be empty at the same time.'], ['code' => 'BothEmptyParam.GatewayRouteTableIdAndIpv4GatewayRouteTableId', 'message' => 'The parameter GatewayRouteTableId and Ipv4GatewayRouteTableId cannot be empty at the same time. We recommend that you use GatewayRouteTableId.', 'http_code' => 400, 'description' => 'The parameter GatewayRouteTableId and Ipv4GatewayRouteTableId cannot be empty at the same time. We recommend that you use GatewayRouteTableId.'], ['code' => 'BothEmptyParam.Ipv6AddressIdAndIpv6InternetBandwidthId', 'message' => 'Either %s or %s should be specified.', 'http_code' => 400, 'description' => 'You cannot leave both Ipv6InstanceId and Ipv6InternetBandwidthId empty.'], ['code' => 'BothEmptyParam.Ipv6AddressIdAndIpv6InternetBandwidthId', 'message' => 'Either Ipv6AddressId or Ipv6InternetBandwidthId should be specified.', 'http_code' => 400, 'description' => 'Input Ipv6AddressId and Ipv6InternetBandwidthId cannot be empty at the same time'], ['code' => 'CashBookInsufficient', 'message' => 'No payment method is specified for your account or prepayment balance is insufficient.', 'http_code' => 400, 'description' => 'The error message returned because your account does not have a payment method configured or does not have sufficient balance.'], ['code' => 'ClientIpPool.NetmaskInvalid', 'message' => 'The netmask length of client IP pool must be greater than or equal to 16 and less than or equal to 29.', 'http_code' => 400, 'description' => 'The subnet mask of the client IP pool must range from 16 to 29.'], ['code' => 'ClientIpPool.SubnetInvalid', 'message' => 'The specified client IP pool cannot be used.', 'http_code' => 400, 'description' => 'The client CIDR block is unavailable.'], ['code' => 'COMMODITY.INVALID_COMPONENT', 'message' => null, 'http_code' => null, 'description' => 'The specified instance component is invalid. Check the specified instance component.'], ['code' => 'COMMODITY.INVALID_COMPONENT', 'message' => 'The instance component is invalid.', 'http_code' => 400, 'description' => 'The instance component is invalid.'], ['code' => 'Conflict.CidrReservationMaskAndCidrReservationCidr', 'message' => 'The specified VSwitchCidrReservationMask and VSwitchCidrReservationCidr is conflict.', 'http_code' => 400, 'description' => 'The VSwitchCidrReservationMask value conflicts with the VSwitchCidrReservationCidr value. Adjust the values and try again.'], ['code' => 'CountLimitExceed.HaVipInVpc', 'message' => 'Specified Vpc exceeds the quota of max number of ha-vip count.', 'http_code' => null, 'description' => 'The number of HAVIPs in the VPC has reached the upper limit.'], ['code' => 'CountLimitExceed.HaVipOnInstance', 'message' => 'The amount of HaVip associated with the specified Instance reach its limits.', 'http_code' => 400, 'description' => 'The number of HAVIPs has reached the upper limit.'], ['code' => 'CountLimitExceed.HaVipRouteEntry', 'message' => 'There can be 5 route entry to HaVip at most in one route table.', 'http_code' => 400, 'description' => 'The number of route entries that point to the HAVIP has reached the upper limit.'], ['code' => 'CountLimitExceed.HaVipRouteEntry', 'message' => 'The count of route entry to HaVip in one route table is exceeded.', 'http_code' => 400, 'description' => 'The number of routes that point to the HAVIP in a route table exceeds the upper limit.'], ['code' => 'CountLimitExceeded.AssociatedGlobalAccelerationInstanceOnBackendServer', 'message' => 'The count of GlobalAccelerationInstances can be associated on one BackendServer has reach the limit .', 'http_code' => null, 'description' => 'The number of GA instances associated with a backend server instance reaches the upper limit.'], ['code' => 'CountLimitExceeded.HaVipOnECSInstance', 'message' => 'The amount of Instance associated with the specified HaVip reach its limits.', 'http_code' => 400, 'description' => 'The number of HAVIPs has reached the upper limit.'], ['code' => 'CreateDbrRoutesQuotaFull.QuotaFull', 'message' => 'The number of created destination routes exceeds the quota limit.', 'http_code' => 400, 'description' => 'The number of created destination routes exceeds the quota limit.'], ['code' => 'CreateOrderFailed', 'message' => null, 'http_code' => null, 'description' => 'The system failed to create the order.'], ['code' => 'CreatePbrRoutesQuotaFull.QuotaFull', 'message' => 'The number of policy routes exceeds the quota limit.', 'http_code' => 400, 'description' => 'The number of policy routes exceeds the quota limit.'], ['code' => 'CreateSslCertsQuotaFull.QuotaFull', 'message' => 'Create the number of SSL certificates that exceed the quota limit.', 'http_code' => 400, 'description' => 'Create the number of SSL certificates that exceed the quota limit.'], ['code' => 'CreateVpnConnectionsQuotaFull.QuotaFull', 'message' => 'The number of VPN connections exceeds the quota limit.', 'http_code' => 400, 'description' => 'The number of VPN connections exceeds the quota limit.'], ['code' => 'CreateVpnUserGatewayQuotaFull.QuotaFull', 'message' => 'The number of created VPN customer gateways exceeds the quota.', 'http_code' => 400, 'description' => 'The number of created VPN customer gateways exceeds the quota.'], ['code' => 'CreateVSwitch.IncorrectStatus.cbnStatus', 'message' => 'Current CBN status does not support this operation.', 'http_code' => 400, 'description' => 'You cannot create a vSwitch when the CEN instance is in the current state.'], ['code' => 'CreditPayInsufficientBalance', 'message' => 'The balance is insufficient, please contact your channel partner to increase the balance', 'http_code' => 400, 'description' => 'The quota is insufficient. Contact your partner to increase the quota.'], ['code' => 'CrossAccountAuthorizedVco.NotAllowDelete', 'message' => 'Current vpn connection is cross account authorized to cen, should delete cross account authorization first.', 'http_code' => 400, 'description' => 'the current vpn connection instance is cross-account authorized to the cen of another account. you need to cancel the cross-account authorization before deleting the instance.'], ['code' => 'CROSS_BID.FORBIDDEN', 'message' => 'Connect RouterInterface across bid is illegal', 'http_code' => null, 'description' => 'The cross-BID connection is invalid.'], ['code' => 'CROSS_BID.FORBIDDEN', 'message' => 'Create VBR across bid is illegal', 'http_code' => 404, 'description' => 'You are not allowed to create a VBR for another Alibaba Cloud account.'], ['code' => 'CustomerGateway.ConflictRouteEntry', 'message' => 'The specified customer gateway has conflict with route entry.', 'http_code' => 400, 'description' => 'The customer gateway conflicts with the current routes.'], ['code' => 'CustomerGateway.ConflictVpnIp', 'message' => 'The customer gateway associated with the IPSec connection should not have the same IP address as the VPN gateway.', 'http_code' => 400, 'description' => 'The customer gateway and VPN gateway of an IPsec-VPN connection cannot use the same IP address.'], ['code' => 'DeleteVSwitch.IncorrectStatus.cbnStatus', 'message' => 'Current CBN status does not support this operation.', 'http_code' => 400, 'description' => 'You cannot delete the vSwitch when the CEN instance is in the current state.'], ['code' => 'DeletionProtection.AlreadyEnabled', 'message' => 'The resource deletion protection is already enabled.', 'http_code' => 400, 'description' => 'Deletion protection is enabled.'], ['code' => 'DeletionProtection.NotExist', 'message' => 'The resource deletion protection is not found', 'http_code' => 404, 'description' => 'Deletion protection is disabled.'], ['code' => 'DeletionProtection.OwnerError', 'message' => 'The resource owner error.', 'http_code' => 400, 'description' => 'The operation is not allowed because the resource does not belong to you.'], ['code' => 'DeletionProtection.PrePaidNotSupport', 'message' => 'The prepaid resource is not support.', 'http_code' => 400, 'description' => 'Subscription resources are not supported.'], ['code' => 'DeletionProtection.ResourceNotExist', 'message' => 'The resource is not exist.', 'http_code' => 400, 'description' => 'The resource does not exist.'], ['code' => 'DeletionProtection.TypeNotSupport', 'message' => 'The resource is not support.', 'http_code' => 400, 'description' => 'This type of resource is not supported.'], ['code' => 'DependencyViolation', 'message' => 'Resources deployed in the vSwitch have not been deleted.', 'http_code' => 400, 'description' => 'Failed to delete the vSwitch because resources attached to the vSwitch are not released.'], ['code' => 'DependencyViolation', 'message' => 'Some route entry status blocked this operation.', 'http_code' => null, 'description' => 'The operation is not supported because the route table contains routes in the Pending or Modifying state.'], ['code' => 'DependencyViolation.%s', 'message' => 'The specified resource of [%s] depends on [%s], so the operation cannot be completed.', 'http_code' => 400, 'description' => 'The specified resource of [%s] depends on [%s], so the operation cannot be completed.'], ['code' => 'DependencyViolation.AppAccess', 'message' => 'Specified object has dependent resources app access.', 'http_code' => 400, 'description' => 'The VPC has a reverse access and cannot be deleted.'], ['code' => 'DependencyViolation.Association', 'message' => 'The specified resource of [%s] depends on [%s], so the operation cannot be completed.', 'http_code' => 400, 'description' => 'The resource of the operation has dependencies. Please disassociate them first.'], ['code' => 'DependencyViolation.BandwidthPackages', 'message' => 'There are BandwidthPackages on specified NatGateway not deleted.', 'http_code' => null, 'description' => 'NAT service plans are associated with the NAT gateway. Disassociate the NAT service plans from the NAT gateway and try again.'], ['code' => 'DependencyViolation.BgpGroup', 'message' => 'bgp group exists, cannot delete vbr.', 'http_code' => 400, 'description' => 'The VBR is associated with a BGP group and cannot be deleted.'], ['code' => 'DependencyViolation.BgpNetwork', 'message' => 'bgp network exists, cannot delete vbr.', 'http_code' => 400, 'description' => 'You cannot delete the VBR because the VBR has advertised BGP CIDR blocks.'], ['code' => 'DependencyViolation.BgpPeer', 'message' => 'Specified object has dependent resources bgp peer.', 'http_code' => 404, 'description' => 'A dependent BGP peer exists.'], ['code' => 'DependencyViolation.CloudService', 'message' => 'VSwitch cannot be deleted when uesd by cloud service.', 'http_code' => 400, 'description' => 'The error message returned because the vSwitch is being used by a cloud service and cannot be deleted. Check the use scenario of the cloud service.'], ['code' => 'DependencyViolation.CloudServiceResource', 'message' => 'The VPC contains CloudServiceResource and cannot be deleted.', 'http_code' => 400, 'description' => 'The VPC cannot be deleted because it contains EPS resources.'], ['code' => 'DependencyViolation.CustomRouteTable', 'message' => 'CustomRouteTable already exists.', 'http_code' => 400, 'description' => 'A dependency conflict exists because custom route tables are present.'], ['code' => 'DependencyViolation.DhcpOptionsSet', 'message' => 'The VPC cannot be deleted when it is associated with dhcpOptionsSet.', 'http_code' => 400, 'description' => 'The VPC cannot be deleted when it is associated with dhcpOptionsSet.'], ['code' => 'DependencyViolation.EgressRules', 'message' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'http_code' => 400, 'description' => 'The specified resource is dependent on other resources and the current operation is not allowed.'], ['code' => 'DependencyViolation.EIPS', 'message' => null, 'http_code' => null, 'description' => 'The specified NAT gateway is already associated with an EIP.'], ['code' => 'DependencyViolation.EIPS', 'message' => 'There are Eips on specified NatGateway, please unbind it first.', 'http_code' => 400, 'description' => 'An EIP is associated with the NAT gateway. Disassociate the EIP from the NAT gateway first.'], ['code' => 'DependencyViolation.EnhancedNatgw', 'message' => 'VSwitch cannot be deleted when natgw exist.', 'http_code' => 400, 'description' => 'You cannot delete the vSwitch because a NAT gateway exists in the vSwitch.'], ['code' => 'DependencyViolation.ForwardEntry', 'message' => 'The ip has been used by ForwardEntry.', 'http_code' => null, 'description' => 'One or more specified public IP addresses are used by port forwarding rules. Delete the rules before you call this operation.'], ['code' => 'DependencyViolation.ForwardEntry', 'message' => 'The specified BandwidthPackageId has dependent resource.', 'http_code' => 400, 'description' => 'The NAT service plan is associated with SNAT or DNAT entries. Delete them and try again.'], ['code' => 'DependencyViolation.FullNatEntry', 'message' => 'The fullnat entry depends on this nat ip,so the operation cannot be completed.', 'http_code' => 400, 'description' => 'The operation failed because the FULLNAT entry depends on the NAT IP.'], ['code' => 'DependencyViolation.GatewayEndpoint', 'message' => 'The VPC contains endpoints and cannot be deleted.', 'http_code' => 400, 'description' => 'The VPC contains endpoints and cannot be deleted. Delete the endpoints in the VPC and then delete the VPC.'], ['code' => 'DependencyViolation.GatewayRouteTableRelation', 'message' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'http_code' => 400, 'description' => 'The specified resource is dependent on other resources and the current operation is not allowed.'], ['code' => 'DependencyViolation.GreTunnel', 'message' => 'There is Gre tunnel on specified vpn gateway not deleted.', 'http_code' => 400, 'description' => 'The error message returned because GRE tunnels are not deleted on the VPN gateway.'], ['code' => 'DependencyViolation.HaVip', 'message' => 'VSwitch cannot be deleted when there are some HaVip dependent with it.', 'http_code' => 400, 'description' => 'The vSwitch is associated with an HAVIP and the vSwitch cannot be deleted.'], ['code' => 'DependencyViolation.HaVipAssociatedWithEIP', 'message' => 'HaVip cannot be deleted when it is associated with EIP.', 'http_code' => null, 'description' => 'The HAVIP is associated with an EIP and cannot be deleted.'], ['code' => 'DependencyViolation.HaVipReferedByRouteEntry', 'message' => 'HaVip cannot be deleted when it is refered by a route table entry as next hop.', 'http_code' => null, 'description' => 'The HAVIP serves as the next hop of a route entry and cannot be deleted. You must delete the route entry before you can delete the HAVIP.'], ['code' => 'DependencyViolation.Instance', 'message' => 'Specified object has dependent resources', 'http_code' => null, 'description' => 'The VPC is associated with a resource.'], ['code' => 'DependencyViolation.Instance', 'message' => 'ClassicLink Instances exist in VPC.', 'http_code' => 404, 'description' => 'Instances exist in the VPC and the VPC cannot be deleted.'], ['code' => 'DependencyViolation.ip', 'message' => null, 'http_code' => null, 'description' => 'The specified NAT gateway is already associated with an EIP.'], ['code' => 'DependencyViolation.IpPrefix', 'message' => 'DependencyViolation.IpPrefix', 'http_code' => 400, 'description' => 'The error message returned because a prefix list is assigned to the resource. Delete the prefix list and try again.'], ['code' => 'DependencyViolation.Ips', 'message' => null, 'http_code' => null, 'description' => 'The specified EIP bandwidth plan is already associated.'], ['code' => 'DependencyViolation.IpsecServer', 'message' => 'the resource cannot be deleted because the resource has an ipsec server dependency.', 'http_code' => 400, 'description' => 'the resource cannot be deleted because the resource has an ipsec server dependency.'], ['code' => 'DependencyViolation.Ipv4Gateway', 'message' => 'The VPC cannot be deleted when it has ipv4Gateway.', 'http_code' => 400, 'description' => 'The VPC cannot be deleted because an IPv4 gateway exists in the VPC.'], ['code' => 'DependencyViolation.Ipv6Address', 'message' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'http_code' => 400, 'description' => 'The specified resource is dependent on other resources and the current operation is not allowed.'], ['code' => 'DependencyViolation.IPv6CidrReservation', 'message' => 'The specified resource of [%s] depends on [%s], so the operation cannot be completed.', 'http_code' => 400, 'description' => 'The specified resource of [%s] depends on [%s], so the operation cannot be completed.'], ['code' => 'DependencyViolation.Ipv6Gateway', 'message' => 'The VPC contains IPv6Gateway and cannot be deleted.', 'http_code' => 400, 'description' => 'The VPC cannot be deleted because it contains an IPv6 gateway.'], ['code' => 'DependencyViolation.Ipv6InternetBandwidth', 'message' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'http_code' => 400, 'description' => 'The specified resource is dependent on other resources and the current operation is not allowed.'], ['code' => 'DependencyViolation.Ipv6InternetBandwidth', 'message' => 'The specified ipv6 instance already exist ipv6 internet bandwidth, so the operation cannot be completed.', 'http_code' => 400, 'description' => 'The IPv6 bandwidth of the specified IPv6 instance has been enabled. Release the IPv6 bandwidth after the operation.'], ['code' => 'DependencyViolation.MulticastDomain', 'message' => 'VSwitch cannot be deleted when associated with multicast domain.', 'http_code' => 400, 'description' => 'The vSwitch is added to a multicast domain and cannot be deleted.'], ['code' => 'DependencyViolation.NatGateway', 'message' => 'Specified object has dependent resources NatGateway.', 'http_code' => 400, 'description' => 'NAT gateways exist in the VPC and the VPC cannot be deleted. Delete the NAT gateways and try again.'], ['code' => 'DependencyViolation.NatIp', 'message' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'http_code' => 400, 'description' => 'You cannot perform the operation because the NAT gateway is associated with a NAT IP address.'], ['code' => 'DependencyViolation.NatIpCidr', 'message' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'http_code' => 400, 'description' => 'You cannot perform the operation because the NAT gateway is associated with a NAT CIDR block.'], ['code' => 'DependencyViolation.NetworkAcl', 'message' => 'Specified object has dependent resources network acl.', 'http_code' => 400, 'description' => 'The specified object is associated with a network ACL.'], ['code' => 'DependencyViolation.NetworkAcl', 'message' => 'VSwitch cannot be deleted when network acl exist.', 'http_code' => 400, 'description' => 'You cannot delete the vSwitch because a network ACL exists in the vSwitch.'], ['code' => 'DependencyViolation.Nqa', 'message' => 'nqa exists, cannot delete vbr.', 'http_code' => 400, 'description' => 'You cannot delete the VBR because nqa exists.'], ['code' => 'DependencyViolation.OppositeRouterInterface', 'message' => 'Failed to delete the VPC because it has peer router interfaces.', 'http_code' => 400, 'description' => 'The VPC failed to be deleted because a peer router interface exists in the VPC.'], ['code' => 'DependencyViolation.PrefixListRelation', 'message' => 'The specified resource of prefixList depends on prefixList relation, so the operation cannot be completed.', 'http_code' => 400, 'description' => 'The prefix list cannot be deleted because it is still referenced.'], ['code' => 'DependencyViolation.PrivateLinkMode', 'message' => 'Dependent resources exist.', 'http_code' => 400, 'description' => 'Dependent resources exist.'], ['code' => 'DependencyViolation.PrivateLinkMode', 'message' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'http_code' => 400, 'description' => 'The %s resource depends on %s.'], ['code' => 'DependencyViolation.QosTable', 'message' => 'DependencyViolation.QosTable', 'http_code' => 400, 'description' => 'The QoS feature cannot be disabled for the NAT gateway because QoS rules are associated with the NAT gateway.'], ['code' => 'DependencyViolation.RouteEntry', 'message' => 'Specified object has dependent resources', 'http_code' => 400, 'description' => 'The VPC cannot be deleted because custom routes exist in the VPC.'], ['code' => 'DependencyViolation.RouteInterface', 'message' => 'Specified object has dependent route interface .', 'http_code' => null, 'description' => 'The specified vSwitch is connected to a router interface and cannot be deleted.'], ['code' => 'DependencyViolation.RouterEntry', 'message' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'http_code' => 400, 'description' => 'You cannot perform the operation because the NAT gateway is associated with a route entry.'], ['code' => 'DependencyViolation.RouterInterface', 'message' => 'Specified object has dependent resources RouterInterface.', 'http_code' => null, 'description' => 'The object is already associated with a router interface.'], ['code' => 'DependencyViolation.RouterInterfaceReferedByRouteEntry', 'message' => 'RouterInterface cannot be deleted when it is refered by a route table entry as next hop.', 'http_code' => 400, 'description' => 'The router interface is referenced as a next hop by a route entry and cannot be deleted. Delete the route entry before you can delete the router interface.'], ['code' => 'DependencyViolation.RouterInterfaceReferedByRouteEntry', 'message' => 'The specified VirutalBorderRouter is refered by routeEntry.', 'http_code' => 400, 'description' => 'The VBR is already used.'], ['code' => 'DependencyViolation.RouteTable', 'message' => 'VSwitch cannot be deleted when associated with route table.', 'http_code' => 400, 'description' => 'You cannot delete the vSwitch because a route table is associated with the vSwitch.'], ['code' => 'DependencyViolation.SecurityGroup', 'message' => 'Specified object has dependent resources', 'http_code' => 400, 'description' => 'Security groups exist in the VPC and the VPC cannot be deleted. Delete the security groups and try again.'], ['code' => 'DependencyViolation.SecurityGroup', 'message' => 'Specified object has dependent resources SecurityGroup.', 'http_code' => 400, 'description' => 'Security groups exist in the VPC and the VPC cannot be deleted. Delete the security groups and try again.'], ['code' => 'DependencyViolation.SecurityGroup', 'message' => 'Security group [%s] exists in the VPC, so the VPC cannot be deleted.', 'http_code' => 400, 'description' => 'Security group [%s] exists in the VPC and the VPC cannot be deleted. Delete the security groups and try again.'."\n"], ['code' => 'DependencyViolation.SharedIpv6InternetBandwidth', 'message' => 'The IPv6 gateway [%s] has IPv6 address [%s] that enabled internet from share user [%s], please delete it and try again later.', 'http_code' => 400, 'description' => 'The IPv6 gateway [%s] has IPv6 address [%s] that enabled internet from share user [%s], please delete it and try again later.'], ['code' => 'DependencyViolation.ShareResource', 'message' => 'The specified resource of prefixList depends on share resource, so the operation cannot be completed.', 'http_code' => 400, 'description' => 'The prefix list cannot be deleted because it has sharing relationships.'], ['code' => 'DependencyViolation.SNAT', 'message' => 'The vswitch cannot be deleted when used by snat.', 'http_code' => 400, 'description' => 'You cannot delete a vSwitch when SNAT is used.'], ['code' => 'DependencyViolation.SnatEntry', 'message' => 'The ip has been used by SnatEntry.', 'http_code' => null, 'description' => 'One or more specified public IP addresses are used by SNAT entries. Delete the SNAT entries before you call this operation.'], ['code' => 'DependencyViolation.SnatEntry', 'message' => 'The specified BandwidthPackageId has dependent resource.', 'http_code' => 400, 'description' => 'The NAT service plan is associated with SNAT or DNAT entries. Delete them and try again.'], ['code' => 'DependencyViolation.SslVpnServer', 'message' => 'There is SSL VPN server on specified vpn gateway not deleted.', 'http_code' => 400, 'description' => 'The error message returned because SSL-VPN connections to the specified customer gateway are not deleted.'], ['code' => 'DependencyViolation.TrafficMirrorSession', 'message' => 'Some traffic mirror sessions depend on the specified resource.', 'http_code' => 400, 'description' => 'The traffic mirror session depends on the current resource.'], ['code' => 'DependencyViolation.TransitRouter', 'message' => 'Specified object has attached to Transit Router.', 'http_code' => 400, 'description' => 'The specified resource is dependent on other resources and the current operation is not allowed.'], ['code' => 'DependencyViolation.Tunnel', 'message' => 'Specified object has dependent tunnel.', 'http_code' => null, 'description' => 'The VPC is associated with a tunnel.'], ['code' => 'DependencyViolation.VpcAttachment', 'message' => 'DhcpOptionsSet cannot be deleted when it is attached to VPC.', 'http_code' => 400, 'description' => 'The DHCP options set is associated with a VPC and cannot be deleted.'], ['code' => 'DependencyViolation.VpcEndpointService', 'message' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'http_code' => 400, 'description' => 'You cannot perform the operation because the NAT gateway is associated with an endpoint service.'], ['code' => 'DependencyViolation.VpnConnection', 'message' => 'There are VpnConnections on specified CustomerGateway not deleted.', 'http_code' => null, 'description' => 'The customer gateway has a VPN connection. Delete the VPN connection before you delete the customer gateway.'], ['code' => 'DependencyViolation.VpnConnection', 'message' => 'There are vpn connections on specified customer gateway not deleted.', 'http_code' => 400, 'description' => 'The error message returned because VPN connections to the specified customer gateway are not deleted.'], ['code' => 'DependencyViolation.VSwitch', 'message' => 'Specified object has dependent resources', 'http_code' => 400, 'description' => 'vSwitches exist in the VPC and the VPC cannot be deleted. Delete the vSwitches and try again.'], ['code' => 'DependencyViolation.VSwitchCidrReservation', 'message' => 'VSwitch cannot be deleted when vswitch cidr reservation exist.', 'http_code' => 404, 'description' => 'The error message returned because a CIDR block is reserved for the vSwitch and the vSwitch cannot be deleted.'], ['code' => 'Dnat.MultiSource.QuotaExceeded', 'message' => 'The destination port can not be mapped more. Because the destination port map count has exceeded quota', 'http_code' => 400, 'description' => 'The number of mappings for the destination IP port exceeds the quota.'], ['code' => 'DryRunOperation', 'message' => 'Request validation has been passed with DryRun flag set.', 'http_code' => 400, 'description' => 'The request passed the dry run.'], ['code' => 'Duplicated.ClientToken', 'message' => 'The param of ClientToken is duplicated.', 'http_code' => 400, 'description' => 'The specified ClientToken is duplicated.'], ['code' => 'Duplicated.IpAddress', 'message' => 'IP [%s] is duplicated.', 'http_code' => 400, 'description' => 'The IP address is duplicate. See the API reference and specify a valid IP address.'], ['code' => 'Duplicated.SecondaryCidrBlock', 'message' => 'The param of SecondaryCidrBlock is duplicated.', 'http_code' => 400, 'description' => 'The specified SecondaryCidrBlock is duplicated.'], ['code' => 'Duplicated.TagKey', 'message' => 'The specified parameter TagKey is duplicated.', 'http_code' => 400, 'description' => 'The error message returned because the specified tag key already exists.'], ['code' => 'Duplicated.VpcNextHop', 'message' => 'Route entry nexthop duplicate.', 'http_code' => 400, 'description' => 'Duplicate next hops are specified.'], ['code' => 'DuplicatedParam.%s', 'message' => 'The param of %s is duplicated.', 'http_code' => 400, 'description' => 'The parameter is set to a duplicate value.'], ['code' => 'DuplicatedParam.CidrBlock', 'message' => 'The param of cidrBlock is duplicated.', 'http_code' => 400, 'description' => 'The error message returned because a duplicate CIDR block is specified.'], ['code' => 'DuplicatedParam.CidrBlockAndCidrMask', 'message' => 'CidrBlock and CidrMask cannot be specified at the same time.', 'http_code' => 400, 'description' => 'The system failed to add the CIDR block to the address pool because you cannot specify the CIDR block and the subnet mask at the same time.'], ['code' => 'DuplicatedParam.ExternalPort', 'message' => 'The param of %s is duplicated.', 'http_code' => 400, 'description' => 'The DNAT public network port has been used repeatedly.'], ['code' => 'DuplicatedParam.InternalPort', 'message' => 'The param of %s is duplicated.', 'http_code' => 400, 'description' => 'Duplicate or occupied InternalPort parameter'], ['code' => 'DuplicatedParam.LocalGatewayIp', 'message' => 'Duplicated LocalGatewayIp values.', 'http_code' => 400, 'description' => 'The local IP address already exists.'], ['code' => 'DuplicatedParam.LocalGatewayIp', 'message' => 'The LocalGatewayIp values are duplicated.', 'http_code' => 400, 'description' => 'The error message returned because a duplicate IP address is used for communication. Change the IP address and try again.'], ['code' => 'DuplicatedParam.LocalGatewayIp', 'message' => 'The param is duplicated.', 'http_code' => 400, 'description' => 'The parameter is duplicated.'], ['code' => 'DuplicatedParam.LocalIpAddress', 'message' => 'The LocalIpAddress already exists.', 'http_code' => 400, 'description' => 'The error message returned because you specified a duplicate local IP address. Change the local IP address and try again.'], ['code' => 'DuplicatedParam.LocalIpv6Address', 'message' => 'The LocalIpv6Address already exists.', 'http_code' => 400, 'description' => 'The error message returned because you specified a duplicate local IP address. Change the local IP address and try again.'], ['code' => 'DuplicatedParam.LocalIpv6GatewayIp', 'message' => 'Duplicated LocalIpv6GatewayIp values.', 'http_code' => 400, 'description' => 'The local IP address already exists.'], ['code' => 'DuplicatedParam.PeerGatewayIp', 'message' => 'Duplicated PeerGatewayIp values.', 'http_code' => 400, 'description' => 'The peer IP address already exists.'], ['code' => 'DuplicatedParam.PeerIpAddress', 'message' => 'The param of PeerIpAddress is duplicated.', 'http_code' => 400, 'description' => 'Duplicate IP addresses of BGP peers exist.'], ['code' => 'DuplicatedParam.PeerIpAddress', 'message' => 'Duplicated peer IP addresses.', 'http_code' => 400, 'description' => 'The peer IP address already exists.'], ['code' => 'DuplicatedParam.PeerIpAddress', 'message' => 'The param is duplicated.', 'http_code' => 400, 'description' => 'Duplicate parameter value'], ['code' => 'DuplicatedParam.PeerIpv6Address', 'message' => 'The PeerIpv6Address already exists.', 'http_code' => 400, 'description' => 'The error message returned because you specified a duplicate peer IP address. Change the peer IP address and try again.'], ['code' => 'DuplicatedParam.PeerIpv6GatewayIp', 'message' => 'Duplicated PeerIpv6GatewayIp values.', 'http_code' => 400, 'description' => 'The peer IP address already exists.'], ['code' => 'DuplicatedParam.Priority', 'message' => 'The specified priority conflicts with the existing priority.', 'http_code' => 400, 'description' => 'The specified priority is the same as an existing one.'], ['code' => 'DuplicatedParam.SourceInstanceIds', 'message' => 'The parameter of source instance IDs contains duplicate values.', 'http_code' => 400, 'description' => 'Duplicate values are set for TrafficMirrorSourceIds.N.'], ['code' => 'DuplicatedParam.TrafficPath', 'message' => 'The param of trafficPath is duplicated.', 'http_code' => 400, 'description' => 'The value of TrafficPath.N is duplicate.'], ['code' => 'EcAssociatedQoSPconnNotAllowCreateCrossAccountVbr', 'message' => 'The specified Pconn associated with Qos is not allowed to create cross account VBR.Please contact the business manager.', 'http_code' => 400, 'description' => 'Shared physical lines bound with QoS policies do not allow cross-account virtual border routers to be created. Contact the business manager.'], ['code' => 'EcAssociatedQoSPconnNotAllowCreateVpconn', 'message' => 'The specified Pconn associated with Qos is not allowed to create Vpconn.Please contact the business manager.', 'http_code' => 400, 'description' => 'Exclusive physical lines bound with QoS policies are not allowed to create shared physical lines. Please contact the business manager.'], ['code' => 'EcDeviceNotSupportQoS', 'message' => 'The specified Pconn is on the device which is not supported QoS.', 'http_code' => 400, 'description' => 'The device where the physical connection is located does not support the QoS feature.'], ['code' => 'EcFailoverTestJobConflict', 'message' => 'The current failover test job task is in operation, please try again later.', 'http_code' => 400, 'description' => 'The current failover test job task is in operation, please try again later.'], ['code' => 'EcFailoverTestJobExceedMaxResourceNum', 'message' => 'The input resource number is exceeded the quota of 16.', 'http_code' => 400, 'description' => 'The failover test job can add up to 16 resources.'], ['code' => 'EcFailoverTestJobResourceInAnotherProcessingJob', 'message' => 'There is another processing failover test job.', 'http_code' => 400, 'description' => 'The current user already has a failover test job in progress. Please complete it and try again.'], ['code' => 'EcFailToGetAp', 'message' => 'Fail to get access point details.', 'http_code' => 400, 'description' => 'Unable to query the corresponding access point information.'], ['code' => 'EcGrantRelation.NotExist', 'message' => 'The ec grant relation not exist.', 'http_code' => 404, 'description' => 'The Express Connect circuit is not authorized.'], ['code' => 'EcNotEnoughResource', 'message' => 'Insufficient access point resources.', 'http_code' => 400, 'description' => 'Insufficient Access Point Resources'], ['code' => 'EcNotSupportRegion', 'message' => 'High reliable physical connection is not support in this region.', 'http_code' => 400, 'description' => 'Highly reliable physical lines are temporarily not supported for sale in the local region.'], ['code' => 'EcPconnVbrMustContainsAll', 'message' => 'In the single VBR with multiple Pconn scene, all Pconn must be associated with the same Qos.', 'http_code' => 400, 'description' => 'In a single VBR and multiple Pconn scenarios, all Pconn must be bound to a QoS policy.'], ['code' => 'EcPconnWithCrossAccountVbrNotAllowAssociateQoS', 'message' => 'The specified Pconn with cross account VBR is not allowed to associate with Qos.', 'http_code' => 400, 'description' => 'Exclusive physical connections that contain cross-account virtual border routers cannot bind QoS policies.'], ['code' => 'EcPconnWithVpconnNotAllowAssociateQoS', 'message' => 'The specified Pconn with Vpconn is not allowed to associate with Qos.', 'http_code' => 400, 'description' => 'Exclusive physical lines that contain shared physical lines cannot be bound to QoS policies.'], ['code' => 'EcQoSConflict', 'message' => 'The specified QoS is conflict with other QoS.', 'http_code' => 400, 'description' => 'The current QoS configuration conflicts with other configurations. Please try again later.'], ['code' => 'EcQosRuleNotAllowV4AndV6', 'message' => 'QoS rules do not allow IPv4 and IPv6 addresses to be mixed and updated.', 'http_code' => 400, 'description' => 'Both IPv4 address configuration and IPv6 address configuration are not allowed in a QoS rule. If the original configuration network type is IPv4 and cannot be modified to IPv6 (or vice versa), please check and modify it.'], ['code' => 'EcQoSWithPconnNotSupportDelete', 'message' => 'The Qos policy associated with Pconn cannot be deleted. Please disassociate it first.', 'http_code' => 400, 'description' => 'Your current QoS policy has been associated with a physical connection and cannot be deleted directly. Please disassociate it and try again.'], ['code' => 'EipOperation.TooFrequently', 'message' => null, 'http_code' => null, 'description' => 'Associating EIPs with the EIP bandwidth plan too frequently. Try again later.'], ['code' => 'EipOperation.TooFrequently', 'message' => 'The operation of adding EIP to the bandwidth package is too frequent. Please try again later.', 'http_code' => 400, 'description' => 'The operation of adding EIP to the bandwidth package is too frequent. Please try again later.'], ['code' => 'EIP_BIND_NATGATEWAY', 'message' => null, 'http_code' => null, 'description' => 'The EIP is associated with a NAT gateway.'], ['code' => 'EIP_CAN_NOT_ASSOCIATE_WITH_PUBLIC_IP', 'message' => 'instance already bind natpublicip', 'http_code' => null, 'description' => 'The instance is already assigned a public IP address.'], ['code' => 'EIP_NOT_SUPPORT_SNAT_POOL', 'message' => null, 'http_code' => null, 'description' => 'The specified EIP cannot be added to the SNAT pool.'], ['code' => 'EIP_UNDERSTOCK', 'message' => 'There are not enough eip in stock', 'http_code' => null, 'description' => 'The EIP inventory is insufficient.'], ['code' => 'EnableHaCheck.IpsecConnectionBgpTunnelCidrConflict', 'message' => 'There are same bgp tunnel cidr in different connections. The cidr is %s.', 'http_code' => 400, 'description' => 'The same tunnel CIDR block exists in different IPsec tunnels that use BGP. The tunnel CIDR block is %s.'], ['code' => 'EnableHaCheck.IpsecServerCidrContainsVpcRouteDest', 'message' => 'Ipsec server client cidr contains vpc route prefix. The vpc route prefix is %s.', 'http_code' => 400, 'description' => 'The prefix %s in the VPC route table falls within the CIDR block of the IPsec client.'], ['code' => 'EnableHaCheck.PolicyBasedRoutePrefixConflict', 'message' => 'There are policy based routes with the same prefix. The prefix is %s.', 'http_code' => 400, 'description' => 'Policy-based routes with the same prefix exist. The prefix is %s.'], ['code' => 'EnableHaCheck.RegionNotSupported', 'message' => 'Enabling HA Vpn is not supported in the specified region.', 'http_code' => 400, 'description' => 'The region does not support high availability.'], ['code' => 'EnableHaCheck.RoutePrefixConflict', 'message' => 'There are routes with the same prefix. The prefix is %s.', 'http_code' => 400, 'description' => 'A route with the same prefix already exists: %s'], ['code' => 'EnableHaCheck.RoutePrefixConflict', 'message' => 'There are routes with the same prefix, the prefix is %s.', 'http_code' => 400, 'description' => 'There are routes with the same prefix, the prefix is %s.'], ['code' => 'EnableHaCheck.SslVpnServerClientCidrContainsVpcRouteDest', 'message' => 'Ssl vpn client cidr contains vpc route prefix. The vpc route prefix is %s.', 'http_code' => 400, 'description' => 'The prefix %s in the VPC route table falls within the CIDR block of the SSL client.'], ['code' => 'EnableHaCheck.TypeInvalid', 'message' => 'The specified gateway type invalid.', 'http_code' => 400, 'description' => 'The VPN gateway type does not support high availability.'], ['code' => 'EnableHaCheck.VpnTypeNotSupported', 'message' => 'Enabling HA Vpn Only Support Ipsec Vpn or Ssl Vpn.', 'http_code' => 400, 'description' => 'Only IPsec-VPN or SSL-VPN supports high availability.'], ['code' => 'Eni.Attached', 'message' => 'The eni should be detached from ecs when associating with direct eip.', 'http_code' => 400, 'description' => 'If the ENI is associated with an EIP in cut-through mode, you must disassociate the ENI from the ECS instance.'], ['code' => 'EXCEED_ASSOCIATE_MAX_NUM', 'message' => 'assocaite virtual boarder num too many.', 'http_code' => null, 'description' => 'The number of associated VBRs has reached the upper limit.'], ['code' => 'ExclusiveParam.%sAnd%s', 'message' => 'The param of %s and %s are mutually exclusive.', 'http_code' => 400, 'description' => 'You cannot specify %s and %s at the same time.'], ['code' => 'ExclusiveParam.AccessModeValueAndAccessTunnelType', 'message' => 'The specified param AccessModeValue and AccessTunnelType are mutually exclusive.', 'http_code' => 400, 'description' => 'The specified input AccessMode.ModeValue and AccessMode.TunnelType conflict'], ['code' => 'ExclusiveParam.EnableIpv6AndCidrBlock', 'message' => 'The param of EnableIpv6 and CidrBlock are mutually exclusive.', 'http_code' => 400, 'description' => 'The param of EnableIpv6 and CidrBlock are mutually exclusive.'], ['code' => 'ExclusiveParam.NextHopTypeAndNextHopId', 'message' => 'The param of nextHopType and nextHopId are mutually exclusive.', 'http_code' => 400, 'description' => 'The next hop type does not match the next hop instance.'], ['code' => 'ExclusiveParam.PrivateLinkEnabledAndAccessMode', 'message' => 'The specified paramPrivateLinkEnabled and AccessMode are mutually exclusive.', 'http_code' => 400, 'description' => 'The specified input PrivateLinkEnabled conflicts with the AccessMode.'], ['code' => 'ExclusiveParam.PrivateLinkModeAndAccessMode', 'message' => 'The specified param PrivateLinkMode and AccessMode are mutually exclusive.', 'http_code' => 400, 'description' => 'The specified input PrivateLinkMode conflicts with the AccessMode.'], ['code' => 'ExclusiveParam.ZoneAndIpAddress', 'message' => 'The specified param Zone and IpAddress or InstanceId are mutually exclusive.', 'http_code' => 400, 'description' => 'The specified input zone conflicts with the IpAddress or InstanceId'], ['code' => 'ExclusiveParam.ZoneAndPublicIpAddressPoolId', 'message' => 'The Zone and PublicIpAddressPoolId parameters are mutually exclusive.', 'http_code' => 400, 'description' => 'You cannot specify Zone and PublicIpAddressPoolId at the same time.'], ['code' => 'Forbbiden', 'message' => 'The eip instance owener error', 'http_code' => null, 'description' => 'The EIP does not belong to your account. Check whether you are authorized to perform the operation on the EIP.'], ['code' => 'Forbbiden', 'message' => 'The Router instance owener error', 'http_code' => null, 'description' => 'The router does not belong to your account.'], ['code' => 'Forbbiden', 'message' => 'Active custom route in vpc.', 'http_code' => null, 'description' => 'You must add a custom route entry to the VPC.'], ['code' => 'Forbbiden', 'message' => 'Specified RouteEntry cannot allowed delete by openApi.', 'http_code' => null, 'description' => 'You cannot call this operation to delete the specified route.'], ['code' => 'Forbbiden', 'message' => 'The router does not belong to your account.', 'http_code' => 400, 'description' => 'The router does not belong to your account.'], ['code' => 'Forbbiden', 'message' => 'User not authorized to operate on the specified resource.', 'http_code' => 403, 'description' => 'User not authorized to operate on the specified resource.'], ['code' => 'Forbbiden.InvaildOwner', 'message' => 'Incorrect RouterInterface owner.', 'http_code' => 400, 'description' => 'The router does not belong to your account.'], ['code' => 'Forbbiden.InvaildOwner', 'message' => 'The RouterInterface owener error', 'http_code' => 400, 'description' => 'The information about the router owner is invalid.'], ['code' => 'Forbbiden.ModifyIdAndType', 'message' => 'Opposite is VBR', 'http_code' => null, 'description' => 'The peer is a VBR.'], ['code' => 'Forbbiden.SubUser', 'message' => 'The specified action is not available for you.', 'http_code' => null, 'description' => 'You are not authorized to perform the operation.'], ['code' => 'Forbbiden.SubUser', 'message' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'http_code' => null, 'description' => 'You are unauthorized to perform this operation on the specified resource. Acquire the required permissions and try again.'], ['code' => 'Forbbiden.SubUser', 'message' => 'User not authorized to operate on the specified resource.', 'http_code' => 403, 'description' => 'The error message returned because you do not have the permissions to manage the resource.'], ['code' => 'Forbedden.NotSupportRAM', 'message' => 'This action does not support accessed by RAM mode.', 'http_code' => null, 'description' => 'You cannot call this operation as a RAM user.'], ['code' => 'Forbidden', 'message' => 'User not authorized to operate on the specified resource.', 'http_code' => 403, 'description' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.'], ['code' => 'Forbidden', 'message' => 'You do not have the permissions to manage the specified resource. Apply for the permissions and try again.', 'http_code' => 403, 'description' => 'You do not have the permissions to manage the resource. Apply for the permissions and try again.'], ['code' => 'Forbidden', 'message' => 'The eip instance owener error', 'http_code' => 400, 'description' => 'The EIP does not belong to your account. Check whether you have the permissions to perform the operation on the EIP.'], ['code' => 'Forbidden', 'message' => 'The eip instance owner error', 'http_code' => 400, 'description' => 'The EIP does not belong to your account. Check whether you are authorized to perform the operation on the EIP.'], ['code' => 'Forbidden.AcceptRoleNotSupportPrePay', 'message' => 'Acception side ri not support chargetype for prepaid.', 'http_code' => 400, 'description' => 'The subscription billing method is not supported.'], ['code' => 'Forbidden.AllocateEipSegmentAddress', 'message' => 'Authentication is failed for allocating eip segment address.', 'http_code' => 400, 'description' => 'Failed to apply for continuous EIP. The service has been offline. Please use the IP address pool service.'], ['code' => 'Forbidden.Already.Bounded', 'message' => 'The specified instance already bounded', 'http_code' => null, 'description' => 'The specified instance is associated.'], ['code' => 'Forbidden.AssociateToVBR', 'message' => 'The physical connection still associate to VBR.', 'http_code' => null, 'description' => 'The physical connection has configured a virtual border router.'], ['code' => 'Forbidden.BillsOutstanding', 'message' => 'You cannot create more RouterInterface because you have bills outstanding.', 'http_code' => null, 'description' => 'You cannot create router interfaces. You have overdue payments.'], ['code' => 'Forbidden.BillsOutstanding', 'message' => 'You cannot use this action because you have bills outstanding.', 'http_code' => null, 'description' => 'You have uncompleted payments and cannot call this operation.'], ['code' => 'Forbidden.ChargeTypeIsPrepaid', 'message' => 'It\'s forbidden to release a prepaid EIP', 'http_code' => null, 'description' => 'You cannot release subscription EIPs.'], ['code' => 'Forbidden.ChargeTypeIsPrepaid', 'message' => 'It’s forbidden to change prepaid EIP’s bandwidth by API. It can be changed on Aliyun web console.', 'http_code' => null, 'description' => 'You cannot call an API operation to modify the bandwidth of a subscription EIP. You can modify the bandwidth in the console.'], ['code' => 'Forbidden.CheckEntryRuleQuota', 'message' => 'Route entry quota rule check error.', 'http_code' => null, 'description' => 'An error occurred when the system was checking the quota of route entries.'], ['code' => 'Forbidden.CircuitCodeNotAllowedByCaller', 'message' => 'The caller is not allowed to modify.', 'http_code' => null, 'description' => 'You are not allowed to modify CircuitCode.'], ['code' => 'Forbidden.CircuitCodeNotAllowedByCaller', 'message' => 'The caller is not allowed to specify the CircuitCode parameter.', 'http_code' => null, 'description' => 'You are not allowed to specify CircuitCode.'], ['code' => 'Forbidden.Convert', 'message' => 'User does not have permission to operate.', 'http_code' => 400, 'description' => 'The user does not have permission to perform this operation.'], ['code' => 'Forbidden.CreatePublicIpAddressPool', 'message' => 'Authentication is failed for creating public ip address pool.', 'http_code' => 400, 'description' => 'The error message returned because you cannot create an IP address pool. Check whether you have the relevant permissions.'], ['code' => 'Forbidden.CrossBorder', 'message' => 'User not authorized to create cross border routerInterface.', 'http_code' => 400, 'description' => 'You do not have the permissions to create a cross-border router interface.'], ['code' => 'Forbidden.DescriptionNotAllowedByCaller', 'message' => 'The caller is not allowed to specify the Description parameter.', 'http_code' => null, 'description' => 'You are not allowed to set Description.'], ['code' => 'Forbidden.DestnationIpOutOfVpcCIDR', 'message' => 'The specified Internal Ip is Out of VPC CIDR.', 'http_code' => null, 'description' => 'The specified private IP address does not fall within the CIDR block of the VPC. Enter a private IP address that falls within the CIDR block of the VPC.'], ['code' => 'Forbidden.DestnationIpOutOfVpcCIDR', 'message' => 'The specified Destination Ip is Out of VPC CIDR.', 'http_code' => null, 'description' => 'The specified private IP address does not fall within the CIDR block of the VPC. Enter a private IP address that falls within the CIDR block of the VPC.'], ['code' => 'Forbidden.DisableRoutePropagation', 'message' => 'The operation of disable route propagation is forbidden.', 'http_code' => 400, 'description' => 'Shutting down route propagation for this routing table is not allowed.'], ['code' => 'Forbidden.DiskNotFound', 'message' => 'The specified Disk is not found', 'http_code' => null, 'description' => 'The disk does not exist.'], ['code' => 'Forbidden.EipInBwp', 'message' => 'The EIP has been associated with an EIP bandwidth plan.', 'http_code' => 400, 'description' => 'You cannot delete the contiguous EIP group because EIPs in the group are associated with an EIP bandwidth plan.'], ['code' => 'Forbidden.EnableClassicLink', 'message' => null, 'http_code' => null, 'description' => 'ClassicLink can be enabled for a VPC whose CIDR block is 172.16.0.0/12, 192.168.0.0/16, or 10.0.0.0/8. For more information, see Features and limits of ClassicLink.'], ['code' => 'Forbidden.ExternalIp.UsedInSnatTable', 'message' => 'The specified ExternalIp is already used in SnatTable', 'http_code' => null, 'description' => 'The specified EIP is already used by an SNAT entry. Select a different EIP or delete the SNAT entry.'], ['code' => 'Forbidden.FinancialLocked', 'message' => 'The instance is locked due to outstanding payments.', 'http_code' => 400, 'description' => 'The instance has overdue payments.'], ['code' => 'Forbidden.FinancialLocked', 'message' => 'The ip business status is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the instance has overdue payments.'], ['code' => 'Forbidden.FinancialLocked', 'message' => 'The router interface has been locked due to overdue payments.', 'http_code' => 400, 'description' => 'You cannot manage the router interface because the router interface is locked due to overdue payments.'], ['code' => 'Forbidden.FinancialLocked', 'message' => 'The router interface is locked due to overdue payments.', 'http_code' => 400, 'description' => 'The router interface is locked for overdue payments.'], ['code' => 'Forbidden.FinancialLocked', 'message' => 'RouterInterface can not be operated by this action when it\'s FinancialLocked.', 'http_code' => 400, 'description' => 'This operation cannot be performed when the routing interface is overdue.'], ['code' => 'Forbidden.FinancileLocked', 'message' => 'This RouterInterface is financiel locked because of bills outstanding.', 'http_code' => null, 'description' => 'The router interface is locked due to overdue payments.'], ['code' => 'Forbidden.GlobalAccelerationInstanceChargeTypeIsPrepaid', 'message' => null, 'http_code' => null, 'description' => 'You cannot release a subscription GA instance.'], ['code' => 'Forbidden.HaVip', 'message' => 'No permissions to perform operations on HAVIPs. Please apply for privilege--vpc_privilege_allow_buy_havip_instance.', 'http_code' => 400, 'description' => 'The error message returned because you do not have the permissions to manage the HAVIP. Go to the Quota Center page to acquire the permissions.'], ['code' => 'Forbidden.ImageNotFound', 'message' => 'The specified Image is not found', 'http_code' => null, 'description' => 'This image does not exist.'], ['code' => 'Forbidden.InstanceNotFound', 'message' => 'The specified Instance is not found', 'http_code' => null, 'description' => 'The instance does not exist. Check the instance ID.'], ['code' => 'Forbidden.InternalIpOutOfVpcCIDR', 'message' => 'The specified Internal Ip is Out of VPC CIDR.', 'http_code' => null, 'description' => 'The private IP address does not fall within the CIDR block of the VPC.'], ['code' => 'Forbidden.IpHasBeenUsedInDnat', 'message' => 'The snat ip can not be used. Because it has been used in dnat', 'http_code' => 400, 'description' => 'You cannot specify the IP address in an SNAT entry because it is already specified in a DNAT entry.'], ['code' => 'Forbidden.IpHasBeenUsedInDnat', 'message' => 'The SNAT entries cannot use this EIP. Because it is already used in DNAT entries (arbitrary port mapping).', 'http_code' => 400, 'description' => 'The SNAT entries cannot use this EIP. Because it is already used in DNAT entries (arbitrary port mapping).'], ['code' => 'Forbidden.IpHasBeenUsedInSnat', 'message' => 'The source ip can not be used. Because it has been used in snat.', 'http_code' => 400, 'description' => 'You cannot specify the source IP address because it is already specified in an SNAT entry.'], ['code' => 'Forbidden.IpUsedInForwardTable', 'message' => 'The specified SnatIp already used in forward table', 'http_code' => null, 'description' => 'The specified EIP is already used by a DNAT entry. Select another EIP or delete the DNAT rule that uses the specified EIP.'], ['code' => 'Forbidden.LocalGatewayIpNotAllowedByCaller', 'message' => 'The caller is not allowed to specify the LocalGatewayIp parameter.', 'http_code' => null, 'description' => 'You are not allowed to specify LocalGatewayIp.'], ['code' => 'Forbidden.ModifyEipBondType', 'message' => 'Authentication is failed for modify EIP bond type.', 'http_code' => 403, 'description' => 'The value of EipBindMode cannot be modified.'], ['code' => 'Forbidden.MultiDirectEip', 'message' => 'No permission to bind multi direct eip.', 'http_code' => 400, 'description' => 'No permission to bind multi direct eip.'], ['code' => 'Forbidden.MultiVlanRi', 'message' => 'Multiple vlan router interfaces are found.', 'http_code' => null, 'description' => 'Multiple VLAN router interfaces exist.'], ['code' => 'Forbidden.NameNotAllowedByCaller', 'message' => 'The caller is not allowed to specify the Name parameter.', 'http_code' => null, 'description' => 'You do not have the permissions to set the Name parameter.'], ['code' => 'Forbidden.NatPayBySpec', 'message' => 'Pay-by-specification NAT is no longer supported. Newly purchased pay-as-you-go NAT gateways only support the pay-by-CU metering method.', 'http_code' => 400, 'description' => 'Pay-by-specification NAT gateways are no longer available for purchase. Set InternetChargeType to PayByLcu.'], ['code' => 'Forbidden.NoPermission', 'message' => 'User does not have permission to operate.', 'http_code' => 400, 'description' => 'You do not have the permissions to perform this operation.'], ['code' => 'Forbidden.NoRiFound', 'message' => 'No vlan router interfaces are found.', 'http_code' => null, 'description' => 'No VLAN router interface is available.'], ['code' => 'Forbidden.NotAllowedCategary', 'message' => 'The System tag is not valid', 'http_code' => 400, 'description' => 'The error message returned because the system tag is invalid.'], ['code' => 'Forbidden.NotAllowedInState', 'message' => 'The request does not allow in this state.', 'http_code' => null, 'description' => 'The operation cannot be performed when the Express Connect circuit in the current state.'], ['code' => 'Forbidden.NotInAllowDeleteStatus', 'message' => 'Only physical connection in the Cancelled, Rejected, Terminated, Allocated, or AllocationFailed states can be deleted.', 'http_code' => 400, 'description' => 'Only physical connection in the Cancelled, Rejected, Terminated, Allocated, or AllocationFailed states can be deleted.'], ['code' => 'Forbidden.NotInRouterInterfaceCreateWhitelist', 'message' => 'Not in router interface create whitelist.', 'http_code' => null, 'description' => 'You are not included in the whitelist to create router interfaces.'], ['code' => 'Forbidden.NotSameAccessDevice', 'message' => 'Vbr and physicalConnection are not on the same accessDevice.', 'http_code' => 400, 'description' => 'The VBR and Express Connect circuit do not belong to the same device.'], ['code' => 'Forbidden.OnlyOneConnection', 'message' => 'Cannot connect concurrently between same routers', 'http_code' => null, 'description' => 'You cannot initiate a connection on the same router.'], ['code' => 'Forbidden.OnlyOneConnection', 'message' => 'The Specified routers have a connection already', 'http_code' => null, 'description' => 'The router is already connected to a router interface.'], ['code' => 'Forbidden.OpenPublicIpAddressPool', 'message' => 'Authentication is failed for opening public ip address pool. Please apply for permission at the quota center.', 'http_code' => 400, 'description' => 'Failed to activate the IP address pool service. Please go to the quota center to apply for permission.'], ['code' => 'Forbidden.OperateCustomRouteTable', 'message' => 'The operation is forbidden because publish route entry in custom route table.', 'http_code' => 400, 'description' => 'The operation is prohibited because it is not allowed to publish route entries in the custom route table.'], ['code' => 'Forbidden.OperateManagedFlowLog', 'message' => 'Authentication is failed for operate managed flowlog.', 'http_code' => 400, 'description' => 'Authentication failed when operating the managed flow log.'], ['code' => 'Forbidden.OperateShareResource', 'message' => 'You cannot operate shared resources.', 'http_code' => 400, 'description' => 'Shared resources do not support this operation.'], ['code' => 'Forbidden.OperationDeleteNotAllowedByUser', 'message' => 'The caller is not allowed to delete the specified VirtualBorderRouter.', 'http_code' => 403, 'description' => 'The caller is not allowed to delete the specified VirtualBorderRouter.'], ['code' => 'Forbidden.OperationNotAllowedByUser', 'message' => 'The caller is not allowed to delete the specified VirtualBorderRouter.', 'http_code' => null, 'description' => 'You are not allowed to delete the VBR.'], ['code' => 'Forbidden.OperationNotAllowedByUser', 'message' => 'The caller is not allowed to terminate the specified VirtualBorderRouter.', 'http_code' => null, 'description' => 'You are not allowed to disable the VBR.'], ['code' => 'Forbidden.OperationNotAllowedByUser', 'message' => 'The caller is not allowed to recover the specified VirtualBorderRouter.', 'http_code' => null, 'description' => 'You are not allowed to restore the VBR.'], ['code' => 'Forbidden.OperationRecoverNotAllowedByUser', 'message' => 'The caller is not allowed to recover the specified VirtualBorderRouter.', 'http_code' => 403, 'description' => 'The caller is not allowed to recover the specified VirtualBorderRouter.'], ['code' => 'Forbidden.OperationTerminateNotAllowedByUser', 'message' => 'The caller is not allowed to terminate the specified VirtualBorderRouter.', 'http_code' => 403, 'description' => 'The caller is not allowed to terminate the specified VirtualBorderRouter.'], ['code' => 'Forbidden.OwnerAliUid', 'message' => 'RAM account or Partner account is forbidden to be OwnerAliUid.', 'http_code' => 400, 'description' => 'You must set VbrOwnerId to the ID of a RAM user or a partner account. You cannot use the VBR owner account.'], ['code' => 'Forbidden.PeerGatewayIpNotAllowedByCaller', 'message' => 'The caller is not allowed to specify the PeerGatewayIp parameter.', 'http_code' => null, 'description' => 'You do not have permissions to set the PeerGatewayIp parameter.'], ['code' => 'Forbidden.PeeringSubnetMaskNotAllowedByCaller', 'message' => 'The caller is not allowed to specify the PeeringSubnetMask parameter.', 'http_code' => null, 'description' => 'You are not allowed to specify PeeringSubnetMask.'], ['code' => 'Forbidden.PhysicalConnection', 'message' => 'Authentication is failed for PhysicalConnectionId', 'http_code' => 400, 'description' => 'You do not have the permissions to set the PhysicalConnectionId parameter.'], ['code' => 'Forbidden.PhysicalConnection', 'message' => 'Only the parent physical connect account is allowed to update these parameters.', 'http_code' => 400, 'description' => 'You can modify these parameters for only the physical port to which the shared port belongs.'], ['code' => 'Forbidden.PhysicalConnection', 'message' => 'Only parent physical connection account is allowed to modify the virtual physical connection.', 'http_code' => 400, 'description' => 'You can modify only the physical port to which the shared port belongs.'], ['code' => 'Forbidden.RAM', 'message' => 'User not authorized to operate on the specified resource', 'http_code' => null, 'description' => 'The RAM user is unauthorized to perform the operation.'], ['code' => 'Forbidden.RAM', 'message' => 'The user is not authorized to operate on the specified resource, or the API operation does not support RAM.', 'http_code' => 400, 'description' => 'The RAM authentication failed.'], ['code' => 'Forbidden.RegionNotFound', 'message' => 'Specified region is not found during access authentication.', 'http_code' => null, 'description' => 'The specified region does not exist. Check whether the specified region ID is valid.'], ['code' => 'Forbidden.RegionNotFound', 'message' => 'Specified instance is not found during access authentication.', 'http_code' => 404, 'description' => 'The error message returned because the region is not supported.'], ['code' => 'Forbidden.RiskControl', 'message' => 'This operation is forbidden by Aliyun RiskControl system.', 'http_code' => null, 'description' => 'The operation is forbidden by the risk control system.'], ['code' => 'Forbidden.SecurityGroupNotFound', 'message' => 'The specified SecurityGroup is not found', 'http_code' => null, 'description' => 'The security group does not exist.'], ['code' => 'Forbidden.SnapshotNotFound', 'message' => 'The specified Snapshot is not found', 'http_code' => null, 'description' => 'The snapshot does not exist.'], ['code' => 'Forbidden.SnatEntryCountLimited', 'message' => 'SNAT entry in the specified SNAT table reach it?s limit.', 'http_code' => null, 'description' => 'The number of SNAT entries has reached the upper limit.'], ['code' => 'Forbidden.SnatEntryCountLimited', 'message' => 'SNAT entry in the specified SNAT table reach its limit.', 'http_code' => 400, 'description' => 'The number of SNAT entries has reached the upper limit.'], ['code' => 'Forbidden.SourceVSwitchId.Duplicated', 'message' => 'The specified SourceCIDRis duplicated.', 'http_code' => null, 'description' => 'An SNAT entry is already created for the specified vSwitch.'], ['code' => 'Forbidden.SourceVSwitchId.IncludeHaVip', 'message' => 'There is some HaVips under specified VSwitch', 'http_code' => 400, 'description' => 'The specified vSwitch is associated with HAVIPs.'], ['code' => 'Forbidden.SubUser', 'message' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'http_code' => 403, 'description' => 'The error message returned because you are unauthorized to perform this operation on the specified resource. Acquire the required permissions and try again.'], ['code' => 'Forbidden.TagKey.Duplicated', 'message' => 'The specified tag key already exists.', 'http_code' => 400, 'description' => 'The tag resources are duplicate.'], ['code' => 'Forbidden.TagKeys', 'message' => 'The request do not allow to operate the tag keys', 'http_code' => 400, 'description' => 'You do not have the permissions to set the TagKeys parameter.'], ['code' => 'Forbidden.TagKeys', 'message' => 'The request does not allow operate this tagkeys', 'http_code' => 400, 'description' => 'The error message returned because you cannot manage the tag key by calling the operation.'], ['code' => 'Forbidden.TransitRouterAttachmentExist', 'message' => 'The operation is not allowed because transit router attachment still exists.', 'http_code' => 400, 'description' => 'You are not allowed to delete the VPC because transit router connections exist.'], ['code' => 'Forbidden.UnassociateMaster', 'message' => 'Unassociating a master instance is not allowed unless the parameter Force is True.', 'http_code' => null, 'description' => 'You cannot disassociate the HAVIP from a primary instance when Force is set to False.'], ['code' => 'Forbidden.VbrAttached', 'message' => 'cannot terminate physical connection when virtual border routers are still attached.', 'http_code' => null, 'description' => 'Failed to disable the Express Connect circuit because the Express Connect circuit is associated with a VBR.'], ['code' => 'Forbidden.VBRExists', 'message' => 'physical connection owner\'s vbr still exists.', 'http_code' => null, 'description' => 'The VBR of the Express Connect circuit still exists.'], ['code' => 'Forbidden.VBRExists', 'message' => 'vbr owner\'s vbr still exists.', 'http_code' => null, 'description' => 'The VBR still exists.'], ['code' => 'Forbidden.VBRExists', 'message' => 'The vbr still exists.', 'http_code' => 400, 'description' => 'The VBR still exists and the port cannot be deleted.'], ['code' => 'Forbidden.VbrNotAllowModifySiteLink', 'message' => 'Can not modify virtualBorderRouter site link, please request authority.', 'http_code' => 400, 'description' => 'The cross-region connection of the border router cannot be modified. Please apply for permission.'], ['code' => 'Forbidden.VlanIdNotAllowedByCaller', 'message' => 'The caller is not allowed to specify the VlanId.', 'http_code' => null, 'description' => 'You are not allowed to specify the VLAN ID.'], ['code' => 'Forbidden.VpcNotFound', 'message' => 'Specified VPC can not found.', 'http_code' => 400, 'description' => 'The specified VPC does not exist.'], ['code' => 'Forbidden.VpconnAliUid', 'message' => 'Vpconn UID is forbidden to belong to a RAM account or partner account.', 'http_code' => 400, 'description' => 'The UID of a shared port cannot be the UID of a RAM user or a partner account.'], ['code' => 'Forbidden.VRouterNotFound', 'message' => 'specified virtual switch is not found during access authentication.', 'http_code' => 400, 'description' => 'The specified vSwitch is not found during access authentication.'], ['code' => 'ForbiddenAction', 'message' => 'The user dose not supported this action.', 'http_code' => null, 'description' => 'You are not authorized to perform this operation.'], ['code' => 'ForbiddenAction', 'message' => 'The user does not supported this action.', 'http_code' => 400, 'description' => 'You do not have the required permissions.'], ['code' => 'ForbiddenAction', 'message' => 'The user does not support this action.', 'http_code' => 400, 'description' => 'You do not have the required permissions.'], ['code' => 'ForbiddenRelease', 'message' => 'Forbidden to release a prepaid instance within validity period', 'http_code' => null, 'description' => 'You cannot release a subscription VPN gateway within the subscription duration.'], ['code' => 'FORBIDDEN_USE_VPC_AS_INTERNET_GATEWAY', 'message' => 'The Specified CIDR must be in vpc CIDR.', 'http_code' => null, 'description' => 'The specified CIDR block must be a subset of the VPC CIDR block.'], ['code' => 'Forbindden', 'message' => 'The specified Instance already bind eip', 'http_code' => null, 'description' => 'The ECS instance is associated with an EIP. Disassociate the EIP from the ECS instance before you create forwarding rules.'], ['code' => 'ForwardEntry.Duplicated', 'message' => 'The specified ExternalIp', 'http_code' => null, 'description' => 'The IP address already exists. Enter a new IP address.'], ['code' => 'FrequentPurchase.EIP', 'message' => 'The EIP is purchased too frequently.', 'http_code' => 400, 'description' => 'Frequent purchase and release of EIPs has been detected on your account. New purchases are temporarily unavailable.'], ['code' => 'FUWU_BIZ_COMMODITY_VERIFY_FAIL', 'message' => '你购买的模块非法', 'http_code' => null, 'description' => 'The module that you purchased is invalid.'], ['code' => 'GetNetworkInterfaceInfoError', 'message' => 'Failed to obtain information of secondary ENIs.', 'http_code' => 403, 'description' => 'The system failed to query information about the secondary ENI.'], ['code' => 'HaveConnectionBetweenRouters', 'message' => 'Have connection between routers', 'http_code' => 400, 'description' => 'A connection is established between the two routers.'], ['code' => 'IAbs.InvalidStatus.ValueNotSupported', 'message' => 'status is not supported.', 'http_code' => 400, 'description' => 'The status is invalid.'], ['code' => 'Idempotence.Processing', 'message' => 'Idempotence request is processing.', 'http_code' => 400, 'description' => 'being processed by idempotent requests.'], ['code' => 'IdempotentParameterMismatch', 'message' => 'Request uses a client token in a previous request but is not identical to that request.', 'http_code' => null, 'description' => 'The client token used in the request is invalid.'], ['code' => 'IellgalParameter.OwnerAccount', 'message' => 'The specified parameter OwnerAccount is not valid.', 'http_code' => 400, 'description' => 'The specified parameter OwnerAccount is illegal.'], ['code' => 'IllegalParam.%s', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => 'The parameter is invalid.'], ['code' => 'IllegalParam.AccessModeValue', 'message' => 'The request parameter AccessMode.ModeValue is illegal.', 'http_code' => 400, 'description' => 'The request parameter AccessMode.ModeValue is illegal.'], ['code' => 'IllegalParam.AccessTunnelType', 'message' => 'The request parameter AccessMode.TunnelType is illegal.', 'http_code' => 400, 'description' => 'The request parameter AccessMode.TunnelType is illegal.'], ['code' => 'IllegalParam.Action', 'message' => 'The specified Action is invalid.', 'http_code' => 400, 'description' => 'The action is invalid.'], ['code' => 'IllegalParam.AddressPoolType', 'message' => 'The specified addressPoolType is invalid.', 'http_code' => 400, 'description' => 'The specified address pool type is invalid.'], ['code' => 'IllegalParam.AddressType', 'message' => 'The specified AddressType is illegal.', 'http_code' => 400, 'description' => 'The specified input AddressType is illegal.'], ['code' => 'IllegalParam.AggregationInterval', 'message' => 'The param of aggregationInterval is illegal.', 'http_code' => 400, 'description' => 'The sampling interval parameter is invalid.'], ['code' => 'IllegalParam.AnyPortNotZero', 'message' => 'Any port port must be zero.', 'http_code' => 400, 'description' => 'You must set the destination port and source port to 0 when IpProtocol is set to Any.'], ['code' => 'IllegalParam.Asn', 'message' => 'The specified Asn is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the ASN is invalid.'], ['code' => 'IllegalParam.AssociatedInstanceId', 'message' => 'The parameter of AssociatedInstanceId is illegal.', 'http_code' => 400, 'description' => 'The parameter AssociatedInstanceId is illegal.'], ['code' => 'IllegalParam.AssociatedPhysicalConnections', 'message' => 'The specified AssociatedPhysicalConnections is illegal.', 'http_code' => 400, 'description' => 'The specified AssociatedPhysicalConnections is illegal.'], ['code' => 'IllegalParam.AttachmentId', 'message' => 'The attachment is invalid.', 'http_code' => 400, 'description' => 'The specified transit router is invalid.'], ['code' => 'IllegalParam.AuthMethod', 'message' => 'One authentication method (Psk or IDaaS) should be specified at least.', 'http_code' => 400, 'description' => 'You must specify at least one authentication method, such as PSK or IDaaS.'], ['code' => 'IllegalParam.Bandwidth', 'message' => 'The specified Bandwidth is invalid.', 'http_code' => 400, 'description' => 'The specified bandwidth value is invalid.'], ['code' => 'IllegalParam.Bandwidth', 'message' => 'The param of Bandwidth [%s] is illegal.', 'http_code' => 400, 'description' => 'The specified bandwidth value is invalid.'], ['code' => 'IllegalParam.Bandwidth', 'message' => 'Illegal Param of Bandwidth.', 'http_code' => 400, 'description' => 'The Bandwidth parameter is set to an invalid value.'], ['code' => 'IllegalParam.Bandwidth', 'message' => 'The param of bandwidth is illegal.', 'http_code' => 400, 'description' => 'The Bandwidth parameter is set to an invalid value.'], ['code' => 'IllegalParam.Bandwidth', 'message' => '[%s]', 'http_code' => 400, 'description' => 'The bandwidth [%s] of the Express Connect circuit is invalid.'], ['code' => 'IllegalParam.Bandwidth', 'message' => 'Invalid Bandwidth.', 'http_code' => 400, 'description' => 'The bandwidth of the Express Connect circuit is invalid.'], ['code' => 'IllegalParam.Bandwidth', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => 'Invalid Bandwidth value. See the API reference and specify a valid value.'], ['code' => 'IllegalParam.BgpConfig', 'message' => 'The specified BgpConfig is invalid.', 'http_code' => 400, 'description' => 'The BGP configuration is invalid.'], ['code' => 'IllegalParam.BgpGroupLocalAsn', 'message' => 'VBR BgpGroup localAsn must same with ECR asn.', 'http_code' => 400, 'description' => 'The LocalAsn of the VBR must be the same as the ASN of the ECR.'], ['code' => 'IllegalParam.BgpGroupLocalAsn', 'message' => 'Vbr bgp group local asn must same with ecr asn.', 'http_code' => 400, 'description' => 'The Alibaba Cloud BGP AS number of the BGP group must be the same as that of the ECR.'], ['code' => 'IllegalParam.ChargeType', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => 'Invalid ChargeType value. See the API reference and specify a valid value.'], ['code' => 'IllegalParam.ChargeType', 'message' => 'The parameter of ChargeType is illegal.', 'http_code' => 400, 'description' => 'The ChargeType parameter is invalid.'], ['code' => 'IllegalParam.CidrBlock', 'message' => 'The param of (%s) is illegal.', 'http_code' => 400, 'description' => 'The CIDR block is invalid.'], ['code' => 'IllegalParam.CidrBlock', 'message' => 'The specified CidrBlock is illegal.', 'http_code' => 400, 'description' => 'The operation failed because CidrBlock is set to an invalid value.'], ['code' => 'IllegalParam.CidrBlock', 'message' => 'The param of cidrBlock is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the value of the cidrBlock parameter is invalid.'], ['code' => 'IllegalParam.CidrBlock', 'message' => 'The param of CidrBlock [%s] is illegal.', 'http_code' => 400, 'description' => 'The CidrBlock parameter is set to an invalid value.'], ['code' => 'IllegalParam.CidrBlock', 'message' => 'The specified CidrBlock (%s) is illegal.', 'http_code' => 400, 'description' => 'The CidrBlock parameter is set to an invalid value.'], ['code' => 'IllegalParam.CidrBlockMask', 'message' => 'The param of CidrBlock Mask [%s] is illegal.', 'http_code' => 400, 'description' => 'The subnet mask of the CIDR block is invalid.'], ['code' => 'IllegalParam.CidrMask', 'message' => 'The input CIDR mask is illegal.', 'http_code' => 400, 'description' => 'The input CIDR mask is illegal.'], ['code' => 'IllegalParam.CidrName', 'message' => 'The param of cidrName is illegal.', 'http_code' => 400, 'description' => 'The specified cidrName is invalid.'], ['code' => 'IllegalParam.ClientIpPool', 'message' => 'The specified ClientIpPool (%s) is invalid.', 'http_code' => 400, 'description' => 'The client CIDR block (%s) is invalid.'], ['code' => 'IllegalParam.ClientToken', 'message' => 'Token verify failed because client token length too long.', 'http_code' => 400, 'description' => 'The ClientToken parameter is set to an invalid value.'], ['code' => 'IllegalParam.CompanyLocalizedName', 'message' => '[%s]', 'http_code' => 400, 'description' => 'The localized name [%s] of the company is invalid.'], ['code' => 'IllegalParam.CompanyLocalizedName', 'message' => 'Invalid CompanyLocalizedName.', 'http_code' => 400, 'description' => 'The localized name of the company is invalid.'], ['code' => 'IllegalParam.CompanyName', 'message' => '[%s]', 'http_code' => 400, 'description' => 'The company name [%s] is invalid.'], ['code' => 'IllegalParam.CompanyName', 'message' => 'Invalid CompanyName.', 'http_code' => 400, 'description' => 'The company name is invalid.'], ['code' => 'IllegalParam.CrossBorderBandwidth', 'message' => 'CrossBorder bandwidth error.', 'http_code' => 400, 'description' => 'The inter-region bandwidth plan is invalid.'], ['code' => 'IllegalParam.Day', 'message' => 'The specified parameter day is illegal.', 'http_code' => 400, 'description' => 'The specified input parameter Day is invalid.'], ['code' => 'IllegalParam.Description', 'message' => 'The param of Description [%s] is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the Description parameter is set to an invalid value. Specify a valid values and try again.'], ['code' => 'IllegalParam.Description', 'message' => 'The parameter of Description is illegal.', 'http_code' => 400, 'description' => 'The Description parameter is invalid.'], ['code' => 'IllegalParam.DestCidrBlock', 'message' => 'The destCidrBlock is invalid.', 'http_code' => 400, 'description' => 'The specified destination address is invalid.'], ['code' => 'IllegalParam.DestinationCidrBlock', 'message' => 'The param of DestinationCidrBlock is illegal.', 'http_code' => 400, 'description' => 'The param of DestinationCidrBlock is illegal.'], ['code' => 'IllegalParam.DestinationCidrIp', 'message' => 'Param DestinationCidrIp illegal.', 'http_code' => 400, 'description' => 'Illegal parameter: destination CIDR.'], ['code' => 'IllegalParam.DetectMultiplier', 'message' => 'The specified DetectMultiplier is not in proper range.', 'http_code' => 400, 'description' => 'DetectMultiplier parameters are not in the proper range.'], ['code' => 'IllegalParam.DhcpOptionsSetDescription', 'message' => 'The specified DhcpOptionsSetDescription is invalid.', 'http_code' => 400, 'description' => 'DhcpOptionsSetDescription is set to an invalid value.'], ['code' => 'IllegalParam.DhcpOptionsSetName', 'message' => 'The specified DhcpOptionsSetName is invalid.', 'http_code' => 400, 'description' => 'DhcpOptionsSetName is set to an invalid value.'], ['code' => 'IllegalParam.DomainName', 'message' => 'The specified DomainName is invalid.', 'http_code' => 400, 'description' => 'DomainName is set to an invalid value.'], ['code' => 'IllegalParam.DomainName', 'message' => 'The specified DomainName is invalid.', 'http_code' => 400, 'description' => 'The error message returned because DomainName is set to an invalid value.'], ['code' => 'IllegalParam.DomainNameServers', 'message' => 'The specified DomainNameServers is invalid.', 'http_code' => 400, 'description' => 'DomainNameServers is set to an invalid value.'], ['code' => 'IllegalParam.EgressAclEntryId', 'message' => 'The specified EgressAclEntryId is invalid.', 'http_code' => 400, 'description' => 'The specified EgressAclEntryId is invalid.'], ['code' => 'IllegalParam.EnableBgp', 'message' => 'VPN connection must enable BGP when VPN gateway has enabled BGP.', 'http_code' => 400, 'description' => 'The error message returned because the VPN connection must use BGP if BGP is enabled for the VPN gateway.'], ['code' => 'IllegalParam.EnableIpv6', 'message' => 'EnableIpv6 cannot be false when Ipv6CidrBlock is specified.', 'http_code' => 400, 'description' => 'EnableIpv6 cannot be false when Ipv6CidrBlock is specified'], ['code' => 'IllegalParam.EnableIpv6', 'message' => 'The parameter of EnableIpv6 is illegal.', 'http_code' => 400, 'description' => 'The EnableIpv6 parameter is invalid.'], ['code' => 'IllegalParam.Filter.Key', 'message' => 'The filter parameter Key is invalid.', 'http_code' => 400, 'description' => 'The filter parameter Key is invalid.'], ['code' => 'IllegalParam.Filter.Value', 'message' => 'The filter parameter Value is illegal.', 'http_code' => 400, 'description' => 'The filter parameter Value is illegal.'], ['code' => 'IllegalParam.FilterKey.ResourceType', 'message' => 'Filter parameters do not support entering only ResourceId or ResourceName without entering ResourceType.', 'http_code' => 400, 'description' => 'Filter parameters do not support entering only ResourceId or ResourceName without entering ResourceType.'], ['code' => 'IllegalParam.GatewayType', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => 'Invalid GatewayType value.'], ['code' => 'IllegalParam.HcSourceIp', 'message' => 'The specified healthCheck Ip is not valid.', 'http_code' => 400, 'description' => 'The IP address used for health checks is invalid.'], ['code' => 'IllegalParam.HealthcheckIp', 'message' => 'Healthcheck ip cannot equal with instance ip.', 'http_code' => 400, 'description' => 'The IP address configured for health checks cannot be the same as the IP address of the instance.'], ['code' => 'IllegalParam.IDaaSApplicationId', 'message' => 'The specified IDaaS application Id is not illegal, the application instance needs to be created based on the dedicated SSL VPN template.', 'http_code' => 400, 'description' => 'The specified IDaaS application instance ID is invalid. The application instance must be created based on the dedicated SSL VPN template.'], ['code' => 'IllegalParam.IngressAclEntryId', 'message' => 'The specified IngressAclEntryId is invalid.', 'http_code' => 400, 'description' => 'The specified IngressAclEntryId is invalid.'], ['code' => 'IllegalParam.instanceId', 'message' => 'The param of InstanceId is illegal.', 'http_code' => 404, 'description' => 'The VBR switch group instance parameter is illegal.'], ['code' => 'IllegalParam.InstanceType', 'message' => 'The specified instance type is invalid. Only ECS instances and network interface are allowed.', 'http_code' => 400, 'description' => 'The type of the associated instance does not support this operation.'], ['code' => 'IllegalParam.InstanceType', 'message' => 'The parameter of InstanceType is illegal.', 'http_code' => 400, 'description' => 'The InstanceType parameter is invalid.'], ['code' => 'IllegalParam.InternetChargeType', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => 'Invalid InternetChargeType value. See the API reference and specify a valid value.'], ['code' => 'IllegalParam.IpAddress', 'message' => 'The specified IP address (%s) is illegal.', 'http_code' => 400, 'description' => 'The IP address is invalid.'], ['code' => 'IllegalParam.IpAddress', 'message' => 'The specified IpAddress (%s) is illegal.', 'http_code' => 400, 'description' => 'The IpAddress parameter is set to an invalid value.'], ['code' => 'IllegalParam.IpAddress', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => 'The IP address format is invalid. See the API reference and specify a valid IP address.'], ['code' => 'IllegalParam.IpAddress', 'message' => 'The specified IpAddress is illegal.', 'http_code' => 400, 'description' => 'The specified IpAddress is illegal'], ['code' => 'IllegalParam.IpamPool', 'message' => 'The specified IPAM pool cannot be empty.', 'http_code' => 400, 'description' => 'The IPAM pool cannot be empty.'], ['code' => 'IllegalParam.Ipv4CidrMask', 'message' => 'The specified Ipv4CidrMask is illegal.', 'http_code' => 400, 'description' => 'Invalid Ipv4CidrMask.'], ['code' => 'IllegalParam.Ipv6Address', 'message' => 'IllegalParam.Ipv6Address %s', 'http_code' => 400, 'description' => 'The error message returned because the IPv6 address is invalid.'], ['code' => 'IllegalParam.Ipv6Address', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => 'The IPv6 address is invalid.'], ['code' => 'IllegalParam.Ipv6AddressId', 'message' => 'IllegalParam.Ipv6AddressId %s', 'http_code' => 400, 'description' => 'The error message returned because the ID of the IPv6 address is invalid.'], ['code' => 'IllegalParam.Ipv6Cidr', 'message' => 'The specified Ipv6CidrBlock is invalid.', 'http_code' => 400, 'description' => 'Ipv6CidrBlock is set to an invalid value.'], ['code' => 'IllegalParam.Ipv6CidrBlock', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => 'IPv6 network segment is illegal'], ['code' => 'IllegalParam.Ipv6CidrBlock', 'message' => 'The parameter of Ipv6CidrBlock is illegal.', 'http_code' => 400, 'description' => 'The Ipv6CidrBlock parameter is invalid.'], ['code' => 'IllegalParam.Ipv6CidrType', 'message' => 'The parameter of IPv6CidrType is illegal.', 'http_code' => 400, 'description' => 'The IPv6CidrType parameter is invalid.'], ['code' => 'IllegalParam.Ipv6Isp', 'message' => 'The specified Ipv6Isp is illegal.', 'http_code' => 400, 'description' => 'The specified Ipv6Isp is illegal.'], ['code' => 'IllegalParam.Ipv6Prefix', 'message' => 'The param of Ipv6Prefix is illegal.', 'http_code' => 400, 'description' => 'The specified input Ipv6Prefix is illegal.'], ['code' => 'IllegalParam.ipVersion', 'message' => 'The IP version does not match.', 'http_code' => 400, 'description' => 'The operation failed because the IP version does not match.'], ['code' => 'IllegalParam.ipVersion', 'message' => 'The param of ipVersion is illegal', 'http_code' => 400, 'description' => 'The IP version is invalid.'], ['code' => 'IllegalParam.IpVersion', 'message' => 'Param IpVersion illegal.', 'http_code' => 400, 'description' => 'Illegal parameter: IpVersion'], ['code' => 'IllegalParam.IpVersion', 'message' => 'The param of IPV6 is illegal.', 'http_code' => 400, 'description' => 'The parameter IpVersion is abnormal. Please check the parameter and try again.'], ['code' => 'IllegalParam.IpVersion', 'message' => 'The parameter of IpVersion is illegal.', 'http_code' => 400, 'description' => ''], ['code' => 'IllegalParam.Isp', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => 'The EIP cannot be allocated because the ISP is invalid.'], ['code' => 'IllegalParam.Isp', 'message' => 'The param of Isp [%s] is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the Isp parameter is set to an invalid value. Specify a valid value and try again.'], ['code' => 'IllegalParam.JobDuration', 'message' => 'The specified parameter JobDuration is illegal.', 'http_code' => 400, 'description' => 'The task duration entered is illegal.'], ['code' => 'IllegalParam.JobId', 'message' => 'The specified parameter JobId is illegal.', 'http_code' => 400, 'description' => 'The entered failover test job ID is invalid.'], ['code' => 'IllegalParam.JobType', 'message' => 'The specified parameter JobType is illegal.', 'http_code' => 400, 'description' => 'The task type entered is illegal.'], ['code' => 'IllegalParam.LeaseTime', 'message' => 'LeaseTime [%s] is illegal.', 'http_code' => 400, 'description' => 'The specified LeaseTime parameter is illegal'], ['code' => 'IllegalParam.LineSPContactInfo', 'message' => 'LineSPContactInfo is illegal.', 'http_code' => 400, 'description' => 'The contact information of the operator\'s line operation and maintenance is illegal.'], ['code' => 'IllegalParam.LineType', 'message' => '[%s]', 'http_code' => 400, 'description' => 'The Express Connect circuit type [%s] is invalid.'], ['code' => 'IllegalParam.LineType', 'message' => 'Invalid LineType.', 'http_code' => 400, 'description' => 'The Express Connect circuit type is invalid.'], ['code' => 'IllegalParam.LocalAsn', 'message' => 'The specified LocalAsn is invalid.', 'http_code' => 400, 'description' => 'The local ASN is invalid.'], ['code' => 'IllegalParam.LocalAsn', 'message' => 'The param of LocalAsn is illegal', 'http_code' => 400, 'description' => 'The LocalAsn parameter is set to an invalid value.'], ['code' => 'IllegalParam.LocalBgpIp', 'message' => 'The specified LocalBgpIp is invalid.', 'http_code' => 400, 'description' => 'The local BGP IP address is invalid.'], ['code' => 'IllegalParam.LocalGatewayIpAndMask', 'message' => 'The LocalGatewayIpAndMask value is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the IP address of the local gateway and the subnet mask are invalid. Specify a valid IP address and subnet mask and try again.'], ['code' => 'IllegalParam.LocalSubnet', 'message' => 'The specified "LocalSubnet" (%s) is invalid.', 'http_code' => 400, 'description' => 'The specified "LocalSubnet" (%s) is invalid.'], ['code' => 'IllegalParam.LogProjectOrLogStore', 'message' => 'The ProjectName and LogStoreName parameters are invalid and must be passed in at the same time or not passed at the same time.', 'http_code' => 400, 'description' => 'The ProjectName and LogStoreName parameters are invalid and must be passed in at the same time or not passed at the same time.'], ['code' => 'IllegalParam.MaxResults', 'message' => 'MaxResults is invalid.', 'http_code' => 400, 'description' => 'The error message returned because MaxResults is set to an invalid value.'], ['code' => 'IllegalParam.MinRxInterval', 'message' => 'The specified MinRxInterval is not in proper range.', 'http_code' => 400, 'description' => 'The specified MinRxInterval is not in the proper range.'], ['code' => 'IllegalParam.MinTxInterval', 'message' => 'The specified MinTxInterval is not in proper range.', 'http_code' => 400, 'description' => 'The specified MinTxInterval is not in the proper range.'], ['code' => 'IllegalParam.Mode', 'message' => 'The specified value of the parameter Mode is invalid.', 'http_code' => 400, 'description' => 'The specified value of the parameter Mode is invalid.'], ['code' => 'IllegalParam.Mode', 'message' => 'The specified Mode is invalid.', 'http_code' => 400, 'description' => 'The specified Mode is invalid.'], ['code' => 'IllegalParam.Mode', 'message' => 'The parameter of Mode is illegal.', 'http_code' => 400, 'description' => 'The parameter Mode is invalid.'], ['code' => 'IllegalParam.Name', 'message' => 'The param of Name [%s] is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the Name parameter is set to an invalid value. Specify a valid value and try again.'], ['code' => 'IllegalParam.NatIpPort', 'message' => 'The param of NatIpPort is illegal.', 'http_code' => 400, 'description' => 'Invalid NatIpPort value.'], ['code' => 'IllegalParam.NetworkInterfaceId', 'message' => 'The param of NetworkInterfaceId is illegal.', 'http_code' => 400, 'description' => 'Invalid NetworkInterfaceId value.'], ['code' => 'IllegalParam.NetworkType', 'message' => 'The specified NetworkType (%s) is invalid.', 'http_code' => 400, 'description' => 'The network type is invalid.'], ['code' => 'IllegalParam.NetworkType', 'message' => 'IllegalParam.NetworkType %s', 'http_code' => 400, 'description' => 'The error message returned because NetworkType is set to an invalid value.'], ['code' => 'IllegalParam.NetworkType', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => 'Invalid NetworkType value.'], ['code' => 'IllegalParam.NextToken', 'message' => 'The specified NextToken is invalid.', 'http_code' => 400, 'description' => 'The specified NextToken is invalid.'], ['code' => 'IllegalParam.NextTokenExpired', 'message' => 'The specified NextToken is invalid.', 'http_code' => 400, 'description' => 'The specified NextToken is invalid.'], ['code' => 'IllegalParam.NextTokenExpired', 'message' => 'The parameter of NextTokenExpired is illegal.', 'http_code' => 400, 'description' => 'The NextTokenExpired parameter is invalid.'], ['code' => 'IllegalParam.NoNameAuthentication', 'message' => 'Aliyun account has not passed the real name authentication and do not meet the purchase conditions.', 'http_code' => 400, 'description' => '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.'], ['code' => 'IllegalParam.OrderKey', 'message' => 'The specified OrderKey is invalid.', 'http_code' => 400, 'description' => 'The specified OrderKey is invalid.'], ['code' => 'IllegalParam.OrderMode', 'message' => 'The param of OrderMode'."\0".' is illegal.', 'http_code' => 400, 'description' => 'The OrderMode parameter is set to an invalid value.'], ['code' => 'IllegalParam.OrderMode', 'message' => 'The param of OrderMode is illegal.', 'http_code' => 400, 'description' => 'The OrderMode parameter is set to an invalid value.'], ['code' => 'IllegalParam.OrderType', 'message' => 'The specified OrderType is invalid.', 'http_code' => 400, 'description' => 'The specified OrderType is invalid.'], ['code' => 'IllegalParam.OwnerAliUid', 'message' => 'The specified AliUid is invalid.', 'http_code' => 400, 'description' => 'The user ID is invalid.'], ['code' => 'IllegalParam.OwnerAliUid', 'message' => 'The param of VbrOwnerId'."\0".' is illegal.', 'http_code' => 400, 'description' => 'The VbrOwnerId parameter is set to an invalid value.'], ['code' => 'IllegalParam.OwnerAliUid', 'message' => 'The param of VbrOwnerId is illegal.', 'http_code' => 400, 'description' => 'The UID of the resource owner is invalid.'], ['code' => 'IllegalParam.PeerAsn', 'message' => 'The param of PeerAsn is illegal', 'http_code' => 400, 'description' => 'The PeerAsn parameter is set to an invalid value.'], ['code' => 'IllegalParam.PeeringIpv6SubnetMask', 'message' => 'The PeeringIpv6SubnetMask value is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the subnet mask is invalid. Specify a valid subnet mask and try again.'], ['code' => 'IllegalParam.peerIpAddress', 'message' => 'The param of peerIpAddress is illegal', 'http_code' => 400, 'description' => 'The peerIpAddress parameter is set to an invalid value.'], ['code' => 'IllegalParam.PeerIpAddress', 'message' => 'The param of PeerIpAddress is illegal.', 'http_code' => 400, 'description' => 'The peer IP address is invalid.'], ['code' => 'IllegalParam.PeerLocation', 'message' => '[%s]', 'http_code' => 400, 'description' => 'The location [%s] of the Express Connect circuit is invalid.'], ['code' => 'IllegalParam.PeerLocation', 'message' => 'Invalid PeerLocation.', 'http_code' => 400, 'description' => 'The location of the Express Connect circuit is invalid.'], ['code' => 'IllegalParam.PmCertificateNo', 'message' => 'The specified PmCertificateNo (%s) is illegal.', 'http_code' => 400, 'description' => 'The PmCertificateNo parameter is set to an invalid value.'], ['code' => 'IllegalParam.PmCertificateNo', 'message' => '[%s]', 'http_code' => 400, 'description' => 'The certificate number [%s] of the engineer is invalid.'], ['code' => 'IllegalParam.PmCertificateNo', 'message' => 'Invalid PmCertificateNo.', 'http_code' => 400, 'description' => 'The certificate number of the engineer is invalid.'], ['code' => 'IllegalParam.PmCertificateType', 'message' => '[%s]', 'http_code' => 400, 'description' => 'The certificate type [%s] of the engineer is invalid.'], ['code' => 'IllegalParam.PmCertificateType', 'message' => 'Invalid PmCertificateType.', 'http_code' => 400, 'description' => 'The certificate type of the engineer is invalid.'], ['code' => 'IllegalParam.PmContactInfo', 'message' => '[%s]', 'http_code' => 400, 'description' => 'The contact information [%s] about the engineer is invalid.'], ['code' => 'IllegalParam.PmContactInfo', 'message' => 'Invalid PmContactInfo.', 'http_code' => 400, 'description' => 'The contact information about the engineer is invalid.'], ['code' => 'IllegalParam.PmGender', 'message' => '[%s]', 'http_code' => 400, 'description' => 'The engineer gender [%s] is invalid.'], ['code' => 'IllegalParam.PmGender', 'message' => 'Invalid PmGender.', 'http_code' => 400, 'description' => 'The engineer gender is invalid.'], ['code' => 'IllegalParam.PmName', 'message' => '[%s]', 'http_code' => 400, 'description' => 'The engineer name [%s] is invalid.'], ['code' => 'IllegalParam.PmName', 'message' => 'Invalid PmName.', 'http_code' => 400, 'description' => 'The engineer name is invalid.'], ['code' => 'IllegalParam.Policy', 'message' => 'Param Policy illegal.', 'http_code' => 400, 'description' => 'Illegal parameter: Policy'], ['code' => 'IllegalParam.PortRange', 'message' => 'The specified port range is invalid.', 'http_code' => 400, 'description' => 'The port range is invalid.'], ['code' => 'IllegalParam.Priority', 'message' => 'The specified Priority is invalid.', 'http_code' => 400, 'description' => 'The priority is invalid.'], ['code' => 'IllegalParam.Priority', 'message' => 'The specified Priority is illegal or the same as other mirroring sessions.', 'http_code' => 400, 'description' => 'The specified Priority is illegal or identical to another mirroring session'], ['code' => 'IllegalParam.PrivateIpAddress', 'message' => 'The specified PrivateIpAddress is illegal.', 'http_code' => 400, 'description' => 'The specified PrivateIpAddress is invalid. Check the parameter constraints and try again after modification.'], ['code' => 'IllegalParam.ProductType', 'message' => 'The specified ProductType is illegal.', 'http_code' => 400, 'description' => 'Illegal parameter ProductType'], ['code' => 'IllegalParam.Protocol', 'message' => 'The specified Protocol is invalid.', 'http_code' => 400, 'description' => 'The protocol is invalid.'], ['code' => 'IllegalParam.Protocol', 'message' => 'Param Protocol illegal.', 'http_code' => 400, 'description' => 'Illegal parameter: Protocol.'], ['code' => 'IllegalParam.RegionId', 'message' => 'The specified regionId is illegal.', 'http_code' => 400, 'description' => 'The regionId parameter is set to an invalid value.'], ['code' => 'IllegalParam.RemoteSubnet', 'message' => 'The specified "RemoteSubnet" (%s) is invalid.', 'http_code' => 400, 'description' => 'The specified "RemoteSubnet" (%s) is invalid.'], ['code' => 'IllegalParam.ReservedCidrMask', 'message' => 'IllegalParam.ReservedCidrMask', 'http_code' => 400, 'description' => 'The error message returned because ReservedCidrMask is set to an invalid value. Specify a valid value and try again.'], ['code' => 'IllegalParam.ResourceGroupId', 'message' => 'Invalid ResourceGroupld value.', 'http_code' => 400, 'description' => 'The specified resource group is invalid or does not exist.'], ['code' => 'IllegalParam.ResourceId', 'message' => 'The input parameter resource ID is invalid.', 'http_code' => 400, 'description' => 'The input parameter resource ID is invalid.'], ['code' => 'IllegalParam.ResourceOwnerId', 'message' => 'The param of resource owner ID is illegal.', 'http_code' => 400, 'description' => 'The parameter of resource owner ID is illegal.'], ['code' => 'IllegalParam.ResourceType', 'message' => 'Invalid Resource Type value.', 'http_code' => 400, 'description' => 'The ResourceType parameter is not supported or set to an invalid value.'], ['code' => 'IllegalParam.ResourceType', 'message' => 'Invalid %s value.', 'http_code' => 400, 'description' => 'ResourceType is set to an invalid value.'], ['code' => 'IllegalParam.Role', 'message' => 'The specified Role is invalid.', 'http_code' => 400, 'description' => 'Role is set to an invalid value.'], ['code' => 'IllegalParam.RouteDest', 'message' => 'The specified RouteDest is invalid', 'http_code' => 400, 'description' => 'The destination address is invalid.'], ['code' => 'IllegalParam.RouteEntryCidrDuplicate', 'message' => 'The specified CIDR block already exists.', 'http_code' => 400, 'description' => 'A duplicate route CIDR block exists.'], ['code' => 'IllegalParam.RouteEntryName', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => 'The specified route name is invalid.'], ['code' => 'IllegalParam.RouteEntryType', 'message' => 'The specified RouteEntryType is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified route type is invalid.'], ['code' => 'IllegalParam.RouteEntryType', 'message' => 'The parameter of RouteEntryType is illegal.', 'http_code' => 400, 'description' => 'The RouteEntryType parameter is invalid.'], ['code' => 'IllegalParam.RouteLimit', 'message' => 'The operation is failed because of bgp group max route entry num quota exceed.', 'http_code' => 400, 'description' => 'The number of routes that can be received by each BGP peer in the BGP group exceeds the upper limit.'], ['code' => 'IllegalParam.SecondaryCidrBlock', 'message' => 'SecondaryCidrBlock is illegal.', 'http_code' => 400, 'description' => 'The parameter about the secondary CIDR block is set to an invalid value.'], ['code' => 'IllegalParam.SecondaryCidrBlock', 'message' => 'The parameter of SecondaryCidrBlock is illegal.', 'http_code' => 400, 'description' => 'The SecondaryCidrBlock parameter is invalid.'], ['code' => 'IllegalParam.SecondaryCidrMask', 'message' => 'The specified Secondary CIDR Mask is illegal.', 'http_code' => 400, 'description' => 'Invalid SecondaryCidrMask.'], ['code' => 'IllegalParam.SecurityProtectionTypes', 'message' => 'The param of securityProtectionTypes is illegal.', 'http_code' => 400, 'description' => 'The passed-in SecurityProtectionTypes parameter is invalid.'], ['code' => 'IllegalParam.ServiceLocation', 'message' => 'The param of serviceLocation is illegal.', 'http_code' => 400, 'description' => 'The param of serviceLocation is illegal.'], ['code' => 'IllegalParam.ServiceProvider', 'message' => 'The parameter of ServiceProvider is illegal.', 'http_code' => 400, 'description' => 'The ServiceProvider parameter is invalid.'], ['code' => 'IllegalParam.SessionLogDeliveryDestination', 'message' => 'The specified Delivery Destination is illegal.', 'http_code' => 400, 'description' => 'The specified Delivery Destination(SessionLogDeliveryDestination) is illegal.'], ['code' => 'IllegalParam.SessionLogDeliveryType', 'message' => 'The specified Delivery Type is illegal.', 'http_code' => 400, 'description' => 'The specified delivery type parameter SessionLogDeliveryType is illegal.'], ['code' => 'IllegalParam.ShareType', 'message' => 'The specified parameter ShareType is illegal.', 'http_code' => 400, 'description' => 'ShareType is set to an invalid value.'], ['code' => 'IllegalParam.Si', 'message' => '[%s]', 'http_code' => 400, 'description' => 'The construction company [%s] is invalid.'], ['code' => 'IllegalParam.Si', 'message' => 'Invalid Si.', 'http_code' => 400, 'description' => 'The construction company is invalid.'], ['code' => 'IllegalParam.SourceCidrBlock', 'message' => 'The param of SourceCidrBlock is illegal.', 'http_code' => 400, 'description' => 'The param of SourceCidrBlock is illegal.'], ['code' => 'IllegalParam.SourceCidrIp', 'message' => 'Param SourceCidrIp is illegal.', 'http_code' => 400, 'description' => 'Illegal parameters: Source CIDR'], ['code' => 'IllegalParam.Spec', 'message' => 'The parameter Spec is illegal.', 'http_code' => 400, 'description' => 'The operation failed because Spec is set to an invalid value.'], ['code' => 'IllegalParam.Spec', 'message' => 'The param of Spec is illegal.', 'http_code' => 400, 'description' => 'The Spec parameter is set to an invalid value.'], ['code' => 'IllegalParam.Spec', 'message' => 'The param of ExpectSpec is illegal', 'http_code' => 400, 'description' => 'The ExpectSpec parameter is set to an invalid value.'], ['code' => 'IllegalParam.Spec', 'message' => 'The spec is illegal.', 'http_code' => 400, 'description' => 'The spec parameter is set to an invalid value.'], ['code' => 'IllegalParam.Spec', 'message' => 'The parameter of UserCidr is illegal.', 'http_code' => 400, 'description' => 'The Spec parameter is invalid.'], ['code' => 'IllegalParam.TargetType', 'message' => 'The parameter of TargetType is illegal.', 'http_code' => 400, 'description' => 'The parameter TargetType is illegal.'], ['code' => 'IllegalParam.TrafficMirrorRuleId', 'message' => 'The specified traffic mirror rule instance ID is invalid.', 'http_code' => 400, 'description' => 'The traffic mirroring filter rule instance ID parameter is invalid.'], ['code' => 'IllegalParam.TrafficPath', 'message' => 'The param of trafficPath is illegal.', 'http_code' => 400, 'description' => 'TrafficPath.N is set to an invalid value.'], ['code' => 'IllegalParam.TunnelCidr', 'message' => 'The specified TunnelCidr is invalid.', 'http_code' => 400, 'description' => 'The TunnelCidr parameter is set to an invalid value.'], ['code' => 'IllegalParam.TunnelId', 'message' => 'The specified TunnelId is invalid.', 'http_code' => 400, 'description' => 'TunnelId is set to an invalid value.'], ['code' => 'IllegalParam.Type', 'message' => 'The parameter of Type is illegal.', 'http_code' => 400, 'description' => 'Illegal parameter Type.'], ['code' => 'IllegalParam.UnsupportedAccessPoint', 'message' => 'The access point type does not support the creation of a highly reliable physical connection.', 'http_code' => 400, 'description' => 'You cannot create a high-availability Express Connect circuit for an access point of this type.'], ['code' => 'IllegalParam.UserCidr', 'message' => 'UserCidr is not a valid or strict address.', 'http_code' => 400, 'description' => 'UserCidr is illegal.'], ['code' => 'IllegalParam.UserCidr', 'message' => 'The parameter of UserCidr is illegal.', 'http_code' => 400, 'description' => 'The UserCidr parameter is invalid.'], ['code' => 'IllegalParam.VlanId', 'message' => 'The parameter VlanId is illegal.', 'http_code' => 400, 'description' => 'The operation failed because VlanId is set to an invalid value.'], ['code' => 'IllegalParam.VlanId', 'message' => 'The param of VlanId is illegal.', 'http_code' => 400, 'description' => 'The VlanId parameter is set to an invalid value.'], ['code' => 'IllegalParam.VlanId', 'message' => 'vlan id has been used in physical connection', 'http_code' => 400, 'description' => 'The specified VLAN ID (VlanId) is already used.'], ['code' => 'IllegalParam.VpcIpv6CidrBlock', 'message' => 'The parameter of VpcIPv6CidrBlock is illegal.', 'http_code' => 400, 'description' => 'The VpcIPv6CidrBlock parameter is invalid.'], ['code' => 'IllegalParam.VpconnAliUid', 'message' => 'The specified VpconnAliUid is not illegal.', 'http_code' => 400, 'description' => 'The AliUid parameter of the Vpconn is invalid.'], ['code' => 'IllegalParam.VpconnAliUid', 'message' => 'The specified AliUid of Vpconn is illegal.', 'http_code' => 400, 'description' => 'The AliUid parameter of the Express Connect circuit is set to an invalid value.'], ['code' => 'IllegalParam.VRouterType', 'message' => 'The VRouterType is not supported.', 'http_code' => 400, 'description' => 'The VRouterType parameter is set to an invalid value.'], ['code' => 'IllegalParam.VSwitchCidrReservationMask', 'message' => 'The param of VSwitchCidrReservationMask is illegal.', 'http_code' => 400, 'description' => 'The VSwitchCidrReservationMask value is invalid. Adjust the value and try again.'], ['code' => 'IllegalParam.VSwitchCidrReservationMask', 'message' => 'The specified VSwitchCidrReservationMask must be greater than the VSwitch mask + 2.', 'http_code' => 400, 'description' => 'VSwitchCidrReservationMask must be at least 3 bits greater than the vSwitch mask.'], ['code' => 'IllegalParam.VSwitchCidrReservationMask', 'message' => 'The specified VSwitchCidrReservationMask must be greater than the VSwitch mask by 1.', 'http_code' => 400, 'description' => 'The specified VSwitchCidrReservationMask must be greater than the VSwitch mask by 1.'], ['code' => 'IllegalParam.VSwitchCidrReservationMask', 'message' => 'The specified VSwitchCidrReservationMask must be at least 2 bits greater than the vSwitch mask.', 'http_code' => 400, 'description' => 'The specified VSwitchCidrReservationMask must be at least 2 bits greater than the vSwitch mask.'], ['code' => 'IllegalParam.Zone', 'message' => 'The specified zone is invalid.', 'http_code' => 400, 'description' => 'Zone is set to an invalid value.'], ['code' => 'IllegalParam.ZoneId', 'message' => 'The parameter of ZoneId is illegal.', 'http_code' => 400, 'description' => 'The ZoneId parameter is invalid.'], ['code' => 'IllegalParam.Zones', 'message' => 'The values of Zones [%s] are invalid.', 'http_code' => 400, 'description' => 'Zones is set to an invalid value.'], ['code' => 'IllegalParamException.LocalGatewayIpAndMask', 'message' => 'The param of LocalGatewayIpAndMask is illegal.', 'http_code' => 400, 'description' => 'LocalGatewayIpAndMask is set to an invalid value.'], ['code' => 'IllegalParamFormat', 'message' => 'IllegalParamFormat', 'http_code' => 400, 'description' => 'The parameter format is invalid.'], ['code' => 'IllegalParamFormat', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => 'The parameter is set to an invalid value.'], ['code' => 'IllegalParamFormat.%s', 'message' => 'The param format of %s is illegal.', 'http_code' => 400, 'description' => 'The parameter mode is invalid.'], ['code' => 'IllegalParamFormat.Description', 'message' => 'The specified description is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the format of the description is invalid.'], ['code' => 'IllegalParamFormat.DstCidrBlock', 'message' => 'The format of the specified destination CIDR block is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the format of the destination CIDR block is invalid.'], ['code' => 'IllegalParamFormat.DstCidrBlock', 'message' => 'The format of the specified dst CIDR block is invalid.', 'http_code' => 400, 'description' => 'The format of the destination CIDR block is invalid.'], ['code' => 'IllegalParamFormat.DstPortRange', 'message' => 'The specified format of destination port range is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the format of the destination port range is invalid.'], ['code' => 'IllegalParamFormat.Name', 'message' => 'The specified Name is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the format of the name is invalid.'], ['code' => 'IllegalParamFormat.NatIp', 'message' => 'The param format of %s[%s] is illegal.', 'http_code' => 400, 'description' => 'The parameter format of NatIp is invalid. '], ['code' => 'IllegalParamFormat.NatIpCidr', 'message' => 'The param format of NatIpCidr is illegal.', 'http_code' => 400, 'description' => 'The param format of NatIpCidr is illegal.'], ['code' => 'IllegalParamFormat.OutIp', 'message' => 'The param format of OutIp is illegal.', 'http_code' => 400, 'description' => 'Invalid OutIp format.'], ['code' => 'IllegalParamFormat.ReservedCidr', 'message' => 'IllegalParamFormat.ReservedCidr', 'http_code' => 400, 'description' => 'The format of the CIDR block is invalid.'], ['code' => 'IllegalParamFormat.SrcCidrBlock', 'message' => 'The format of the specified source CIDR block is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the format of the source CIDR block is invalid.'], ['code' => 'IllegalParamFormat.SrcPortRange', 'message' => 'The format of the specified source port range is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the format of the source port range is invalid.'], ['code' => 'IllegalParamFormat.VSwitchCidrReservationCidr', 'message' => 'The param format of VSwitchCidrReservationCidr is illegal.', 'http_code' => 400, 'description' => 'The VSwitchCidrReservationCidr value is invalid.'], ['code' => 'IllegalParamSize.AssociatedInstanceId', 'message' => 'The param size of AssociatedInstanceId is illegal.', 'http_code' => 400, 'description' => 'Illegal parameter AssociatedInstanceId length'], ['code' => 'IllegalParamSize.EgressRules', 'message' => 'The number of egress rules is invalid.', 'http_code' => 400, 'description' => 'The number of outbound filter rules is invalid.'], ['code' => 'IllegalParamSize.IngressRules', 'message' => 'The specified number of ingress rules is invalid.', 'http_code' => 400, 'description' => 'The number of inbound filter rules is invalid.'], ['code' => 'IllegalParamSize.Rules', 'message' => 'The specified size of rules is invalid.', 'http_code' => 400, 'description' => 'The number of traffic mirroring filter rule parameters is invalid.'], ['code' => 'IllegalParamSize.Zones', 'message' => 'An invalid number of zones is specified.', 'http_code' => 400, 'description' => 'Zones is set to an invalid value.'], ['code' => 'IllegealParam.NextHopType', 'message' => 'The parameter NewNextHopType is illegal.', 'http_code' => 400, 'description' => 'The next hop type is invalid.'], ['code' => 'IncorrcetRouteEntryStatus', 'message' => 'Some route entry status blocked this operation.', 'http_code' => null, 'description' => 'One or more routes in the route table are in the Pending or Modifying state.'], ['code' => 'IncorrectBusinessStatus.FlowLog', 'message' => 'The business status of flowLog is incorrect.', 'http_code' => 400, 'description' => 'The error message returned because you cannot create flow logs in the current business state.'], ['code' => 'IncorrectBusinessStatus.PconnIdList', 'message' => 'The business status of PconnIdList is incorrect.', 'http_code' => 400, 'description' => 'This operation cannot be performed because the current physical line is in arrears.'], ['code' => 'IncorrectBusinessStatus.PublicIpAddressPool', 'message' => 'The business status of publicIpAddressPool is incorrect.', 'http_code' => 400, 'description' => 'The current service status does not support creating an IP address pool instance.'], ['code' => 'IncorrectBusinessStatus.ResourceId', 'message' => 'The specified resource business status is invalid.', 'http_code' => 400, 'description' => 'The entered resource is in arrears.'], ['code' => 'IncorrectBusinessStatus.TrafficMirror', 'message' => 'The business status of traffic mirror is incorrect.', 'http_code' => 400, 'description' => 'Traffic mirroring is in an invalid state.'], ['code' => 'IncorrectClassicLinkStatus', 'message' => 'Specified VPC classicLink enabled.', 'http_code' => 404, 'description' => 'ClassicLink is already enabled for the VPC.'], ['code' => 'IncorrectEipStatus', 'message' => 'Current elastic IP status does not support this operation', 'http_code' => null, 'description' => 'The status of the EIP does not support the operation.'], ['code' => 'IncorrectEipStatus', 'message' => 'Current elastic IP status does not support this operation.', 'http_code' => null, 'description' => 'You cannot perform the operation when the specified EIP is in the current state.'], ['code' => 'IncorrectGlobalAccelerationInstanceIdStatus', 'message' => 'Current GlobalAccelerationInstance status does not support this operation.', 'http_code' => null, 'description' => 'The GA instance in this state does not support this operation.'], ['code' => 'IncorrectHaVipStatus', 'message' => 'HaVip can be operated by this action only when it\'s status is InUse.', 'http_code' => null, 'description' => 'The operation can be performed only when the HAVIP is in the InUse state.'], ['code' => 'IncorrectHaVipStatus', 'message' => 'This operation is denied because satus of the specified HaVip is neither Available nor InUse.', 'http_code' => 400, 'description' => 'You cannot perform the operation when the specified HAVIP is in the Available or InUse state.'], ['code' => 'IncorrectHaVipStatus', 'message' => 'HaVip can be operated by this action only when it’s status is Available or InUse.', 'http_code' => 400, 'description' => 'This operation can be performed only when the HAVIP is in the Available or InUse state.'], ['code' => 'IncorrectHaVipStatus', 'message' => 'HaVip can be operated by this action only when its status is Available or InUse.', 'http_code' => 400, 'description' => 'You can manage an HAVIP only when the HAVIP is in the Available or In Use state.'], ['code' => 'IncorrectHaVipStatus', 'message' => 'HaVip can be operated by this action only when it\'s status is Available or InUse.', 'http_code' => 400, 'description' => 'The operation supports only HAVIPs in the Available or InUse state.'], ['code' => 'IncorrectInstanceStatus', 'message' => 'The current status of instance does not support this operation.', 'http_code' => null, 'description' => 'This operation cannot be performed while the instance is in the current state.'], ['code' => 'IncorrectInstanceStatus', 'message' => 'The current status of the resource does not support this operation.', 'http_code' => null, 'description' => 'The specified resource is in a state that does not support the operation.'], ['code' => 'IncorrectInstanceStatus', 'message' => 'ECS instance can be operated by this action only when it’s status is Running or Stopped.', 'http_code' => null, 'description' => 'The operation can be performed only when the ECS instance is in the Running or Stopped state.'], ['code' => 'IncorrectInstanceStatus', 'message' => 'Current instance status does not support this operation.', 'http_code' => null, 'description' => 'This operation cannot be performed while the instance is in the current state.'], ['code' => 'IncorrectInstanceStatus', 'message' => 'ECS instance can be operated by this action only when it\'s status is Running or Stopped.', 'http_code' => null, 'description' => 'You can do this operation only when the ECS instance is running or stopped.'], ['code' => 'IncorrectOppositeInterfaceInfo', 'message' => 'Cannot connect on the same router', 'http_code' => null, 'description' => 'You are not allowed to connect to the same router.'], ['code' => 'IncorrectOppositeInterfaceInfo', 'message' => 'The opposite RouterInterface information specified by OppositeInterfaceId/OppositeRouterId/OppositeRouterType/OppositeRouterOwnerId is wrong. Maybe the RouterInterface or Router does not exist', 'http_code' => null, 'description' => 'Based on the configuration of OppositeInterfaceId, OppositeRouterId, OppositeRouterType, and OppositeRouterOwnerId, the value of OppositeRouterInterface is invalid. The router or router interface may not exist.'], ['code' => 'IncorrectOppositeInterfaceInfo', 'message' => 'The peer router interface information specified by OppositeInterfaceId/OppositeRouterId/OppositeRouterType/OppositeInterfaceOwnerId is invalid.', 'http_code' => 400, 'description' => 'The peer router interface specified by OppositeInterfaceId, OppositeRouterId, OppositeRouterType, and OppositeInterfaceOwnerId is invalid. The router interface or router may not exist, or the parameters do not match, or the router interface is not a receiver.'], ['code' => 'IncorrectOppositeInterfaceInfo', 'message' => 'The opposite RouterInterface information specified by OppositeInterfaceId/OppositeRouterId/OppositeRouterType/OppositeInterfaceOwnerId is wrong.', 'http_code' => 400, 'description' => 'The router interface information specified by OppositeInterfaceId, OppositeRouterId, OppositeRouterType, and OppositeInterfaceOwnerId is invalid.'], ['code' => 'IncorrectOppositeInterfaceInfo', 'message' => 'The opposite RouterInterface specified by OppositeInterfaceId/OppositeRouterId/OppositeRouterType/OppositeInterfaceOwnerId is wrong.', 'http_code' => 400, 'description' => 'The router interface information specified by OppositeInterfaceId, OppositeRouterId, OppositeRouterType, and OppositeInterfaceOwnerId is invalid.'], ['code' => 'IncorrectOppositeInterfaceInfo.NotSet', 'message' => 'OppositeInterfaceId/OppositeRouterId/OppositeRouterType/OppositeRouterOwnerId must be all set.', 'http_code' => null, 'description' => 'You must set the following parameters: OppositeInterfaceId, OppositeRouterId, OppositeRouterType, and OppositeRouterOwnerId.'], ['code' => 'IncorrectOppositeInterfaceInfo.NotSet', 'message' => 'OppositeInterfaceId, OppositeRouterId, OppositeRouterType, and OppositeInterfaceOwnerId are all required.', 'http_code' => 400, 'description' => 'You must specify the following parameters: OppositeInterfaceId, OppositeRouterId, OppositeRouterType, and OppositeInterfaceOwnerId.'], ['code' => 'IncorrectOppositeInterfaceInfo.NotSet', 'message' => 'OppositeInterfaceId/OppositeRouterId/OppositeRouterType/OppositeInterfaceOwnerId must be all set.', 'http_code' => 400, 'description' => 'You must specify OppositeInterfaceId, OppositeRouterId, OppositeRouterType, and OppositeInterfaceOwnerId.'], ['code' => 'IncorrectRIStatus', 'message' => 'RouterInterface can be operated by this action only when it\'s status is Active.', 'http_code' => 400, 'description' => 'You can perform this operation only when the router interface is in the Active state.'], ['code' => 'IncorrectRIStatus', 'message' => 'RouterInterface can be operated by this action only when it\'s status is Idle.', 'http_code' => 400, 'description' => 'You can perform the operation only when the router interface is in the Idle state.'], ['code' => 'IncorrectRIStatus', 'message' => 'RouterInterface can be operated by this action only when it\'s status is Inactive.', 'http_code' => 400, 'description' => 'You can perform the operation only when the router interface is in the Inactive state.'], ['code' => 'IncorrectRole.NotInitiatingSide', 'message' => 'The specified RouterInterface is not InitiatingSide.', 'http_code' => null, 'description' => 'The specified router interface is not an initiator. Select an initiator router interface.'], ['code' => 'IncorrectRouteEntryStatus', 'message' => 'Vpc NotStable route entry.', 'http_code' => null, 'description' => 'The operation is not supported because the route table contains routes in the Pending or Modifying state.'], ['code' => 'IncorrectRouteEntryStatus', 'message' => 'The vpc has NotStable routeEntry status.', 'http_code' => null, 'description' => 'The operation is not supported because the route table contains routes in the Pending or Modifying state.'], ['code' => 'IncorrectRouteEntryStatus', 'message' => 'VBR has NotStable route entry.', 'http_code' => null, 'description' => 'The operation is not supported because the route table contains routes in the Pending or Modifying state.'], ['code' => 'IncorrectRouteEntryStatus', 'message' => 'Specified routeEntry status error.', 'http_code' => null, 'description' => 'The operation is not supported because the route table contains routes in the Pending or Modifying state.'], ['code' => 'IncorrectRouteEntryStatus', 'message' => 'Some route entry status blocked this operation.', 'http_code' => null, 'description' => 'The operation is not supported because the route table contains routes in the Pending or Modifying state.'], ['code' => 'IncorrectRouteTableStatus', 'message' => 'The current status of the route table does not support this operation.', 'http_code' => 404, 'description' => 'You cannot delete the route table in the current state.'], ['code' => 'IncorrectRouteTableStatus.RouteEntryExist', 'message' => 'You cannot delete the specified route table because it still has custom route entry.', 'http_code' => 400, 'description' => 'You cannot delete the route table because custom routes exist in the route table.'], ['code' => 'IncorrectRouteTableType', 'message' => 'Route table can be deleted by this action only when it is type is custom.', 'http_code' => 400, 'description' => 'You can call this operation to delete only custom route tables.'], ['code' => 'IncorrectStatus', 'message' => 'RouterInterface can be operated by this action only when the status is Active', 'http_code' => null, 'description' => 'The operation can be performed only when the the router interface is in the Active state.'], ['code' => 'IncorrectStatus', 'message' => 'RouterInterface can be operated by this action only when it\'s status is Inactive.', 'http_code' => null, 'description' => 'The operation can be performed only when the router interface is in the Inactive state.'], ['code' => 'IncorrectStatus', 'message' => 'RouterInterface can be operated by this action only when it’s status is Idle.', 'http_code' => null, 'description' => 'The operation can be performed only when the router interface is in the Idle state.'], ['code' => 'IncorrectStatus', 'message' => 'RouterInterface can be operated by this action only when it\'s status is Active.', 'http_code' => null, 'description' => 'The operation can be performed only when the the router interface is in the Active state.'], ['code' => 'IncorrectStatus', 'message' => 'HaVip can be deleted only when it is status is Available.', 'http_code' => 400, 'description' => 'Failed to delete the HAVIP. You can delete the HAVIP only when its status is available.'], ['code' => 'IncorrectStatus', 'message' => 'This openeration would be allowed only when status of this RouterInterface is Idle/Inactive.', 'http_code' => null, 'description' => 'You cannot perform the operation. You can perform the operation only when the router interface is in the Idle or Inactive state.'], ['code' => 'IncorrectStatus', 'message' => 'Vswtich status not stable.', 'http_code' => null, 'description' => 'The VSwitch is in the status of Pending or Modifying. Please try again later.'], ['code' => 'IncorrectStatus', 'message' => 'HaVip can be deleted only when status is Available or InUse.', 'http_code' => 400, 'description' => 'Failed to delete the HAVIP due to the HAVIP status.'], ['code' => 'IncorrectStatus', 'message' => 'RouterInterface can be operated by this action only when the status is Active,idle or inactive.', 'http_code' => 400, 'description' => 'This operation is supported only when a router interface is in the Active, Idle, or Inactive state.'], ['code' => 'IncorrectStatus.%s', 'message' => '%s [%s] status is invalid.', 'http_code' => 400, 'description' => 'The instance is in an invalid state.'], ['code' => 'IncorrectStatus.BgpPeer', 'message' => 'Invalid BgpPeer status cannot operate.', 'http_code' => 400, 'description' => 'The status of the BGP peer does not support this operation.'], ['code' => 'IncorrectStatus.BondRiConnection', 'message' => 'The BondRi state is unstable. Check the instance state and try again.', 'http_code' => 400, 'description' => 'The BondRi state is unstable. Check the instance state and try again.'], ['code' => 'IncorrectStatus.cbnStatus', 'message' => 'Current CBN status does not support this operation.', 'http_code' => 400, 'description' => 'The status of the CEN instance is invalid.'], ['code' => 'IncorrectStatus.CenRelation', 'message' => 'The status of Vpc in Cen is incorrect.', 'http_code' => 400, 'description' => 'The operation failed because the VPC attached to the CEN instance is in an unstable state.'], ['code' => 'IncorrectStatus.CenStatus', 'message' => 'Cen status must not be middle status.', 'http_code' => 400, 'description' => 'Check the status of the CEN instance.'], ['code' => 'IncorrectStatus.CidrReservation', 'message' => 'The status of the CIDR reservation is incorrect.', 'http_code' => 400, 'description' => 'The status of the reserved CIDR block does not support this operation. Try again later.'], ['code' => 'IncorrectStatus.DhcpOptionsSet', 'message' => 'The DhcpOptionsSet status does not support this operation.', 'http_code' => 400, 'description' => 'The DHCP options set that is associated with the VPC is being configured. As a result, the DHCP options set does not support this operation. You can perform the operation after the status of the DHCP options set is stable.'], ['code' => 'IncorrectStatus.EgressOnlyRule', 'message' => 'The status of the EgressOnlyRlue is incorrect.', 'http_code' => 400, 'description' => 'The specified IPv6 egress-only rule is in a transitional state.'], ['code' => 'IncorrectStatus.EgressOnlyRule', 'message' => 'The status of the specified IPv6EgressOnlyRule is incorrect.', 'http_code' => 400, 'description' => 'The specified IPv6EgressOnlyRule is not in steady state.'."\n"], ['code' => 'IncorrectStatus.Eip', 'message' => 'An EIP status error occurred.', 'http_code' => 400, 'description' => 'An EIP status error occurred.'], ['code' => 'IncorrectStatus.EipAddress', 'message' => 'The status of the EIP is incorrect.', 'http_code' => 400, 'description' => 'The status of the EIP is incorrect.'], ['code' => 'IncorrectStatus.flowlog', 'message' => 'Invalid flowlog status.', 'http_code' => 400, 'description' => 'The flow log cannot be disabled because it is in an invalid state.'], ['code' => 'IncorrectStatus.ForwardEntry', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => 'The DNAT entry to be deleted is in an invalid state.'], ['code' => 'IncorrectStatus.FullNatEntry', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => 'The status of FullNatEntry is incorrect.'], ['code' => 'IncorrectStatus.GatewayRouteTable', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => 'The gateway route table is in an invalid state. Try again later.'], ['code' => 'IncorrectStatus.InstanceStatusInvalid', 'message' => 'The specified Instance does not exist in our records.', 'http_code' => 400, 'description' => 'The instance status is invalid.'], ['code' => 'IncorrectStatus.Ip', 'message' => 'The status of ip is incorrect.', 'http_code' => 400, 'description' => 'The status of the IP is incorrect.'], ['code' => 'IncorrectStatus.Ipv4Gateway', 'message' => 'The status of Ipv4Gateway is incorrect.', 'http_code' => 500, 'description' => 'The error message returned because the IPv4 gateway is unstable.'], ['code' => 'IncorrectStatus.Ipv4Gateway', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => 'The IPv4 gateway is in an invalid state. Try again later.'], ['code' => 'IncorrectStatus.Ipv6Address', 'message' => 'The IPv6 address of the specified next hop is being assigned or deleted.', 'http_code' => 400, 'description' => 'The IPv6 address that is specified as the next hop is being created or being deleted.'], ['code' => 'IncorrectStatus.Ipv6Gateway', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => 'The IPv6 gateway is in an unstable state. Try again later.'], ['code' => 'IncorrectStatus.Ipv6Instance', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => 'The IPv6 address is in an unstable state. Try again later.'], ['code' => 'IncorrectStatus.Ipv6InternetBandwidth', 'message' => 'The status of the IPv6InternetBandwidth is incorrect.', 'http_code' => 400, 'description' => 'The current state of the IPv6 Internet bandwidth does not support creating an IPv6 egress-only rule.'], ['code' => 'IncorrectStatus.NatGateway', 'message' => 'The status of NAT gateway is incorrect.', 'http_code' => 400, 'description' => 'The status of NAT gateway is incorrect.'], ['code' => 'IncorrectStatus.NatGateway', 'message' => 'The status of natgateway is incorrect.', 'http_code' => 400, 'description' => 'The status of the NAT gateway is invalid.'], ['code' => 'IncorrectStatus.NatGateway', 'message' => '%The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => 'The NAT gateway is in an invalid state.'], ['code' => 'IncorrectStatus.NatGateway', 'message' => 'The NatGateway instance is being deleted and needs to wait until the process is complete.', 'http_code' => 400, 'description' => 'The NAT Gateway instance is being deleted and cannot be repeatedly deleted. You need to wait for the deletion process to complete.'], ['code' => 'IncorrectStatus.NatGateway', 'message' => 'The status of the specified NatGateway is incorrect.', 'http_code' => 400, 'description' => 'The specified NAT gateway is in a transitional state.'], ['code' => 'IncorrectStatus.NATGW', 'message' => 'The status of the specified NAT gateway is abnormal.', 'http_code' => 400, 'description' => 'The status of the specified NAT gateway is abnormal.'], ['code' => 'IncorrectStatus.NATGW', 'message' => 'NATGW status is invalid.', 'http_code' => 400, 'description' => 'The NAT gateway is in an invalid state.'], ['code' => 'IncorrectStatus.NatIp', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => 'The status of NatIp is incorrect.'], ['code' => 'IncorrectStatus.NetworkInterface', 'message' => 'The status of network interface is incorrect.', 'http_code' => 400, 'description' => 'The status of the ENI is invalid.'], ['code' => 'IncorrectStatus.NetworkInterface', 'message' => 'The status of network interface is incorrect.', 'http_code' => 400, 'description' => 'The status of the ENI does not support this operation. Try again later.'], ['code' => 'IncorrectStatus.NextHop', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => 'Specified next hop resource'], ['code' => 'IncorrectStatus.null', 'message' => 'RouterInterface status is null.', 'http_code' => 400, 'description' => 'The status of the router interface is empty.'], ['code' => 'IncorrectStatus.OnlyForInit', 'message' => 'Only the init status failover test job can be started.', 'http_code' => 400, 'description' => 'Only the fault drill task to be drilled can be modified or started.'], ['code' => 'IncorrectStatus.OnlyForInitOrStopped', 'message' => 'Only failover test job in the status of init or stopped can be deleted.', 'http_code' => 400, 'description' => 'Only failover test job in the status of init or stopped can be deleted.'], ['code' => 'IncorrectStatus.OnlyForTesting', 'message' => 'Only the failover test job in the testing state can be stopped.', 'http_code' => 400, 'description' => 'Only the failover test job in the testing state can be stopped.'], ['code' => 'IncorrectStatus.PconnIdList', 'message' => 'The status of PconnIdList is incorrect.', 'http_code' => 400, 'description' => 'This operation cannot be performed because the current physical connection is in an abnormal state.'], ['code' => 'IncorrectStatus.PhysicalConnection', 'message' => 'The specified PhysicalConnectionId is not in the Allocated state.', 'http_code' => 400, 'description' => 'The specified PhysicalConnectionId is not in the Allocated state.'], ['code' => 'IncorrectStatus.PhysicalConnection', 'message' => 'The status of PhysicalConnection is incorrect.', 'http_code' => 400, 'description' => 'The operation failed because the status of the Express Connect circuit is invalid.'], ['code' => 'IncorrectStatus.PhysicalConnection', 'message' => 'The status of %s is incorrect.', 'http_code' => 400, 'description' => 'The operation failed because the status of the Express Connect circuit is invalid.'], ['code' => 'IncorrectStatus.PhysicalConnection', 'message' => 'The status of [%s] is incorrect.', 'http_code' => 400, 'description' => 'The operation failed because the status of the Express Connect circuit is invalid.'], ['code' => 'IncorrectStatus.PhysicalConnection', 'message' => 'The specified PhysicalConnectionId is not in Allocated state.', 'http_code' => 400, 'description' => 'The PhysicalConnectionId parameter is not in the Allocated state.'], ['code' => 'IncorrectStatus.PhysicalConnection', 'message' => 'The status (%s) does not support this operation.', 'http_code' => 400, 'description' => 'The instance status is invalid.'], ['code' => 'IncorrectStatus.PhysicalConnection', 'message' => '[%s]', 'http_code' => 400, 'description' => 'The Express Connect circuit [%s] is in an invalid state.'], ['code' => 'IncorrectStatus.PhysicalConnection', 'message' => 'Invalid physical connection status.', 'http_code' => 400, 'description' => 'The Express Connect circuit is in an invalid state.'], ['code' => 'IncorrectStatus.PhysicalConnectionLOA', 'message' => '[%s]', 'http_code' => 400, 'description' => 'The construction status [%s] of the Express Connect circuit is invalid.'], ['code' => 'IncorrectStatus.PhysicalConnectionLOA', 'message' => 'Invalid Express Connect circuit LOA status.', 'http_code' => 400, 'description' => 'The construction status of the Express Connect circuit is invalid.'], ['code' => 'IncorrectStatus.PrefixList', 'message' => 'The status of prefixList is incorrect.', 'http_code' => 400, 'description' => 'The prefix list is in an unstable state.'], ['code' => 'IncorrectStatus.PublicIpAddressPool', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => 'The EIP cannot be allocated because the IP address pool is in an invalid state.'], ['code' => 'IncorrectStatus.PublicIpAddressPool', 'message' => 'The status of PublicIpAddressPool is incorrect.', 'http_code' => 400, 'description' => 'EIPs are not allowed to be allocated because the address pool is in an unstable state.'], ['code' => 'IncorrectStatus.Qos', 'message' => 'The status of QoS is incorrect.', 'http_code' => 400, 'description' => 'The status of the QoS policy is abnormal and the operation cannot be performed. Try again later.'], ['code' => 'IncorrectStatus.ResourceId', 'message' => 'The specified resource status is invalid.', 'http_code' => 400, 'description' => 'The resource status corresponding to the entered resource ID is invalid.'], ['code' => 'IncorrectStatus.RouteEntry', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => 'Route entry is in non-steady state'], ['code' => 'IncorrectStatus.RouteEntryPublishStatus', 'message' => 'Route entry publish status is incorrect.', 'http_code' => 400, 'description' => 'The route publish status of the route entry is incorrect.'], ['code' => 'IncorrectStatus.RoutePropagationStatus', 'message' => 'Route table propagation status not stable. Please wait and try again.', 'http_code' => 400, 'description' => 'Route table propagation status not stable. Please wait and try again.'], ['code' => 'IncorrectStatus.RouterEntry', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => 'The state of the RouterEntry is incorrect.'], ['code' => 'IncorrectStatus.RouterInterface', 'message' => 'This openeration would not be allowed because status of this RouterInterface is not correct.', 'http_code' => 400, 'description' => 'The state of the router interface is abnormal.'], ['code' => 'IncorrectStatus.RouterInterface', 'message' => 'This openeration would not be allowed because the status of this RouterInterface is not correct.', 'http_code' => 400, 'description' => 'The instance cannot be deleted in the current state. Wait until the status of the instance changes and try again.'], ['code' => 'IncorrectStatus.RouterInterface', 'message' => 'The specified RouterInterface status is invalid.', 'http_code' => 400, 'description' => 'The router interface status is abnormal.'], ['code' => 'IncorrectStatus.RouteTable', 'message' => 'The status of the specified route table is incorrect.', 'http_code' => 404, 'description' => 'The route table is in an invalid state.'], ['code' => 'IncorrectStatus.RouteTable', 'message' => 'The route table is in an invalid state.', 'http_code' => 400, 'description' => 'The specified routing table is in the wrong state'], ['code' => 'IncorrectStatus.RouteTableStatus', 'message' => 'The status of the specified RouteTable is incorrect.', 'http_code' => 400, 'description' => 'The route table status does not support this operation. Try again later.'], ['code' => 'IncorrectStatus.SnatEntry', 'message' => 'The Specified SnatEntry is not stable status, can not operation', 'http_code' => 400, 'description' => 'The specified SNAT entries are not in a stable state and cannot be operated.'], ['code' => 'IncorrectStatus.SystemPrefixList', 'message' => 'This is not allowed to operate system prefixList.', 'http_code' => 400, 'description' => 'Operations on the operating system prefix list are not allowed.'], ['code' => 'IncorrectStatus.TrafficMirrorFilter', 'message' => 'The status of traffic mirror filter is incorrect.', 'http_code' => 400, 'description' => 'The filter is in an invalid state.'], ['code' => 'IncorrectStatus.TrafficMirrorRule', 'message' => 'The status of traffic mirror rule is incorrect.', 'http_code' => 400, 'description' => 'The filter rule is in an invalid state.'], ['code' => 'IncorrectStatus.TrafficMirrorSession', 'message' => 'The status of traffic mirror session is incorrect.', 'http_code' => 400, 'description' => 'The state of the traffic mirror session is incorrect.'], ['code' => 'IncorrectStatus.VBR', 'message' => 'The status of VBR is incorrect.', 'http_code' => 400, 'description' => 'The operation failed because the status of the VBR is invalid.'], ['code' => 'IncorrectStatus.VbrId', 'message' => 'The status of %s is incorrect.', 'http_code' => 400, 'description' => 'The status of the VBR is invalid.'], ['code' => 'IncorrectStatus.VirtualPhysicalConnection', 'message' => 'The status of PhysicalConnection [%s] is incorrect.', 'http_code' => 400, 'description' => 'The status of the shared Express Connect circuit [%s] is invalid.'], ['code' => 'IncorrectStatus.Vpc', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => 'The instance is in an invalid state.'], ['code' => 'IncorrectStatus.Vpc', 'message' => 'Vpc status is invalid.', 'http_code' => 400, 'description' => 'The VPC is in an unstable state.'], ['code' => 'IncorrectStatus.Vpc', 'message' => 'Vpc incorrect status.', 'http_code' => 400, 'description' => 'VPC is not in steady state.'], ['code' => 'IncorrectStatus.Vpc', 'message' => 'The status of the specified VPC is incorrect.', 'http_code' => 400, 'description' => 'The specified VPC is not in a stable state.'], ['code' => 'IncorrectStatus.VpcDhcpOptionsSet', 'message' => 'The dhcpOptionsSet status of VPC does not support this operation.', 'http_code' => 400, 'description' => 'The DHCP options set that is associated with the VPC is being configured. As a result, the DHCP options set does not support this operation.'], ['code' => 'IncorrectStatus.VpcDhcpStatus', 'message' => 'The DhcpOptionsSet status of vpc does not support this operation.', 'http_code' => 400, 'description' => 'You cannot delete the VPC when the DHCP options set of the VPC is in the current state.'], ['code' => 'IncorrectStatus.VpcDnsHostnameStatus', 'message' => 'The DnsHostname status of vpc does not support this operation.', 'http_code' => 400, 'description' => 'The private domain name status of the current VPC does not support this operation.'], ['code' => 'IncorrectStatus.VpcPeer', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => 'The status of %s[%s] is invalid.'], ['code' => 'IncorrectStatus.VpcRouteEntry', 'message' => 'The status of the specified routeEntry is invalid.', 'http_code' => 400, 'description' => 'The status of the VPC route entry is invalid.'], ['code' => 'IncorrectStatus.VSWITCH', 'message' => 'The status of the specified VSwitch is invalid.', 'http_code' => 400, 'description' => 'The status of the specified VSwitch is invalid.'], ['code' => 'IncorrectStatus.Vswitch', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => 'The status of the specified vSwitch is incorrect.'], ['code' => 'IncorrectStatus.VSwitch', 'message' => 'The specified vSwitch status is invalid.', 'http_code' => 400, 'description' => 'The virtual switch status is abnormal.'], ['code' => 'IncorrectVpcStatus', 'message' => 'Current VPC status does not support this operation.', 'http_code' => null, 'description' => 'This operation cannot be performed when the VPC is in the current state.'], ['code' => 'IncorrectVSwitchId', 'message' => 'Specified vSwtich instance is not found during access authentication.', 'http_code' => 404, 'description' => 'The vSwitch is not found during the permission verification progress.'], ['code' => 'IncorrectVSwitchStatus', 'message' => 'VSwitch Creation simultaneously is not supported.', 'http_code' => null, 'description' => 'The system failed to create the vSwitch and one or more vSwitches that belong to the VPC are in the Creating state.'], ['code' => 'IncorrectVSwitchStatus', 'message' => 'Some virtual switch is modifying within the same VPC.', 'http_code' => 400, 'description' => 'Multiple vSwitches are in the Modifying state in the same VPC. Try again later.'], ['code' => 'IncorrectVSwitchStatus', 'message' => 'The current virtual switch status does not support this operation.', 'http_code' => 400, 'description' => 'The error message returned because the vSwitch is in the Pending state and cannot be deleted.'], ['code' => 'IncorretForwardEntryStatus', 'message' => 'Some Forward entry status blocked this operation..', 'http_code' => null, 'description' => 'The operation is not supported because one or more DNAT entries in the DNAT table are in the Pending or Modifying state.'], ['code' => 'IncorretForwardEntryStatus', 'message' => 'The Specified forwardEntry is not stable status', 'http_code' => null, 'description' => 'The status of the DNAT entry is unstable.'], ['code' => 'IncorretForwardEntryStatus', 'message' => 'The Specified forwardEntry is not exist', 'http_code' => null, 'description' => 'The specified DNAT entry does not exist.'], ['code' => 'IncorretRouteEntryStatus', 'message' => null, 'http_code' => null, 'description' => 'You cannot create a route because vSwitches in the VPC are in the Adding, Modifying, or Deleting state.'], ['code' => 'IncorretSnatEntryStatus', 'message' => 'Some Snat entry status blocked this operation..', 'http_code' => null, 'description' => 'One or more SNAT entries in the SNAT table are in the Pending or Modifying state.'], ['code' => 'IncorretSnatEntryStatus', 'message' => 'The Specified SnatEntry is not stable status', 'http_code' => null, 'description' => 'The SNAT entry is in an unstable state.'], ['code' => 'IncorretVSwitchStatus', 'message' => null, 'http_code' => null, 'description' => 'The system failed to create vSwitches because some vSwitches are in the Pending state.'], ['code' => 'InnerError', 'message' => 'Internal system error.', 'http_code' => 400, 'description' => 'Internal System Error'], ['code' => 'Instance.NotExist', 'message' => 'The instance not exist.', 'http_code' => 404, 'description' => 'The instance does not exist.'], ['code' => 'INSTANCE.STATUS.NOT.ALLOW', 'message' => 'Instance status not allow', 'http_code' => 400, 'description' => 'The instance in the current state does not support the operation.'], ['code' => 'Instance.StatusError', 'message' => 'The status of instance error.', 'http_code' => 400, 'description' => 'The status of the instance is invalid.'], ['code' => 'InstanceExist.NatgwScheduledMigration', 'message' => 'The scheduled migration information of the NAT gateway already exists.', 'http_code' => 400, 'description' => 'The scheduled migration information of the NAT gateway already exists.'], ['code' => 'InstanceNotExist.NatGatewayId', 'message' => 'The NAT gateway instance is not exist.', 'http_code' => 400, 'description' => 'The NAT Gateway instance does not exist.'], ['code' => 'InstanceNotExist.NATGWSchedule', 'message' => 'The scheduled migration information of the NAT gateway does not exist.', 'http_code' => 400, 'description' => 'The scheduled migration information of the NAT gateway does not exist.'], ['code' => 'InstanceNotExists', 'message' => 'Instance not exists.', 'http_code' => 404, 'description' => 'The instance to be deleted does not exist.'], ['code' => 'INSTANCE_HAS_INACTIVE_CHANGE', 'message' => null, 'http_code' => null, 'description' => 'The system is processing changes.'], ['code' => 'InsufficientBalance', 'message' => 'Your account does not have enough balance.', 'http_code' => null, 'description' => 'Your account balance is insufficient. Top up your account and try again.'], ['code' => 'InsufficientBalance.Eip', 'message' => 'Your account does not have enough balance.', 'http_code' => null, 'description' => 'Your account balance is insufficient. Top up your account and try again.'], ['code' => 'InsufficientEipCapacity', 'message' => 'Insufficient EIP capacity to fulfill your request.', 'http_code' => null, 'description' => 'The EIP quota is insufficient.'], ['code' => 'INSUFFICIENT_BALANCE', 'message' => null, 'http_code' => null, 'description' => 'The account balance is insufficient.'], ['code' => 'InternalError', 'message' => 'The request processing has failed due to some unknown error', 'http_code' => null, 'description' => 'An unknown error occurred.'], ['code' => 'InternalError', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => 400, 'description' => 'An unknown error occurred.'], ['code' => 'InternalError', 'message' => 'The request processing has failed due to some unknown error, exception or failure.', 'http_code' => 500, 'description' => 'An internal error occurred.'], ['code' => 'InternalError', 'message' => 'Internal system error.', 'http_code' => 500, 'description' => 'Internal system error.'], ['code' => 'INVAID.VBR.STATUS', 'message' => 'VBR status must be active', 'http_code' => 400, 'description' => 'The status of the VBR is invalid.'], ['code' => 'Invalid.Grant', 'message' => 'Can not grant to other owner cen.', 'http_code' => 400, 'description' => 'You cannot attach the VBR to a CEN instance that belongs to another Alibaba Cloud account.'], ['code' => 'Invalid.natgwNotExist', 'message' => 'The specified natgateway not exist.', 'http_code' => null, 'description' => 'The specified NAT gateway does not exist.'], ['code' => 'Invalid.Status', 'message' => 'The device or interface status invalid, or has been used..', 'http_code' => 400, 'description' => 'The Status parameter is set to an invalid value.'], ['code' => 'InvalidAccessKeyId.NotFound', 'message' => 'Specified access key is not found.', 'http_code' => 400, 'description' => 'The AccessKey pair is not found.'], ['code' => 'InvalidAccessPoint.NotExist', 'message' => 'The accessPoint not exit', 'http_code' => null, 'description' => 'The access point does not exist.'], ['code' => 'InvalidAccessPoint.NotMatch', 'message' => 'The accessPoint id is not matched', 'http_code' => null, 'description' => 'The specified ID of the access point is invalid.'], ['code' => 'InvalidAccessPoint.ValueNotAllowed', 'message' => 'The non-vbr router interface cannot have access point configured.', 'http_code' => null, 'description' => 'You cannot configure access points for the router interface of a vRouter.'], ['code' => 'InvalidAccessPoint.ValueNotAllowed', 'message' => 'The non-vbr opposite router interface cannot have opposite access point configured.', 'http_code' => null, 'description' => 'You cannot configure access points for the router interface of a non-VBR router.'], ['code' => 'InvalidAccessPointId.NotEnabled', 'message' => 'Invalid access point status.', 'http_code' => 400, 'description' => 'The current access point does not have sufficient resources to support access. Contact your account manager.'], ['code' => 'InvalidAccessPointId.NotFound', 'message' => 'The AccessPointId provided does not exist in our records.', 'http_code' => null, 'description' => 'AccessPointId is set to an invalid value.'], ['code' => 'InvalidAccount.NotFound', 'message' => 'The account is invalid.', 'http_code' => 400, 'description' => 'The operation failed because an invalid account is used.'], ['code' => 'InvalidAction.Denied', 'message' => 'Action is denied due to unfinished Eip configuration modification.', 'http_code' => 400, 'description' => 'The EIP configurations are not complete and the operation is denied.'], ['code' => 'InvalidAliuid', 'message' => 'Invalid Aliuid.', 'http_code' => 400, 'description' => 'The Aliuid parameter is set to an invalid value.'], ['code' => 'InvalidAllocationId.NotFound', 'message' => 'Specified allocation id is not found.', 'http_code' => null, 'description' => 'The error message returned because the specified EIP does not exist. Check whether the value of the parameter is valid.'], ['code' => 'InvalidAllocationId.NotFound', 'message' => 'Specified allocation ID is not found..', 'http_code' => null, 'description' => 'The specified EIP does not exist. Check whether the value of the parameter is valid.'], ['code' => 'InvalidAllocationId.NotFound', 'message' => 'Specified allocation ID is not found', 'http_code' => 404, 'description' => 'The specified EIP does not exist. Check whether the specified value is valid.'], ['code' => 'InvalidAssociation.Duplicated', 'message' => 'Specified instance already is associated.', 'http_code' => null, 'description' => 'An EIP or a GA instance is already associated with the specified instance. You must disassociate the EIP or GA instance from the specified instance before you can perform the operation.'], ['code' => 'InvalidAttachment.NotFound', 'message' => 'The attachment is not found.', 'http_code' => 400, 'description' => 'The specified transit router does not exist.'], ['code' => 'InvalidAuthkey.Malformed', 'message' => 'The specified BGP authentication key (%s) is malformed.', 'http_code' => 400, 'description' => 'The BGP authentication key is invalid.'], ['code' => 'InvalidAvailable.NoResource', 'message' => 'No resource in the available zone.', 'http_code' => 400, 'description' => 'No resource is available in the current zone.'], ['code' => 'InvalidBackendServerId.NotFound', 'message' => 'The specified BackendServerId is not found.', 'http_code' => null, 'description' => 'The backend server instance does not exist.'], ['code' => 'InvalidBackendServerId.NotInVPC', 'message' => 'The specified BackendServerId is not in VPC.', 'http_code' => null, 'description' => 'BackendServerId is not a VPC ID.'], ['code' => 'InvalidBackendServerRegionId.EqualRegionId', 'message' => 'The specified BackendServerRegionId can not be the same as RegionId.', 'http_code' => null, 'description' => 'You cannot specify the same value for BackendServerRegionId and RegionId.'], ['code' => 'InvalidBackendServerRegionId.Mismatch', 'message' => 'The specified BackendServerRegionId is not in the GlobalAccelerationInstance’s ServiceLocation.', 'http_code' => null, 'description' => 'The region specified by the BackendServerRegionId parameter does not belong to the service regions of the GA instance.'], ['code' => 'InvalidBackendServerRegionId.NotFound', 'message' => 'The specified BackendServerRegionId is not found.', 'http_code' => null, 'description' => 'The specified backend server region ID does not exist.'], ['code' => 'InvalidBackendServerType.NotFound', 'message' => 'The specified BackendServerType is not supported.', 'http_code' => null, 'description' => 'The specified backend server type is not supported.'], ['code' => 'InvalidBandwidth', 'message' => 'invalid physical connection banwidth.', 'http_code' => null, 'description' => 'The specified maximum bandwidth of the Express Connect circuit is invalid.'], ['code' => 'InvalidBandwidth.NotEnough', 'message' => 'bandwdith not enough.', 'http_code' => 400, 'description' => 'The bandwidth of the bandwidth plan is insufficient.'], ['code' => 'InvalidBandwidth.NotEnough', 'message' => 'Bandwidth not enough.', 'http_code' => 400, 'description' => 'The bandwidth plan has insufficient bandwidth.'], ['code' => 'InvalidBandwidth.ValueNotSupported', 'message' => 'The specified value of Bandwidth not supported.', 'http_code' => null, 'description' => 'The specified maximum bandwidth value is invalid.'], ['code' => 'InvalidBandwidthPackageId.NotFound', 'message' => 'The specified bandwidthPackageId does not exist in our records.', 'http_code' => 400, 'description' => 'The ID of the specified EIP bandwidth plan does not exist.'], ['code' => 'InvalidBandwidthPackageId.NotFound', 'message' => 'The specified bandwidthPackage resourceId does not exist in our records.', 'http_code' => 404, 'description' => 'The error message returned because the specified EIP bandwidth plan does not exist.'], ['code' => 'InvalidBandwidthPackageIdNumber.NotSupported', 'message' => 'The number of BandwidthPackageIds exceeds the limit.', 'http_code' => 400, 'description' => 'The number of BandwidthPackageIds exceeds the limit.'], ['code' => 'InvalidBgpAuthkey.Malformed', 'message' => 'Specified Bgp Group authkey is not valid.', 'http_code' => null, 'description' => 'The authentication key of the BGP group is invalid.'], ['code' => 'InvalidBgpDescription.Malformed', 'message' => 'Specified Bgp Group description is not valid.', 'http_code' => null, 'description' => 'The description of the BGP group is invalid.'], ['code' => 'InvalidBgpDiscription.Malformed', 'message' => 'Specified Bgp Group description is not valid.', 'http_code' => null, 'description' => 'The description of the BGP group is invalid.'], ['code' => 'InvalidBgpGroup', 'message' => 'bgp group not exists', 'http_code' => null, 'description' => 'The BGP group does not exist.'], ['code' => 'InvalidBgpGroup.LocalAsn', 'message' => 'VBR already attached to ECR, please delete it from ECR.', 'http_code' => 400, 'description' => 'The VBR has bound the ECR and is not allowed to modify the local AS. To modify the local AS, please unbind the ECR first.'], ['code' => 'InvalidBgpGroup.LocalAsnInvalid', 'message' => 'The specified BgpGroup LocalAsn is invalid, only support 64512 to 65534 or 4200000000 to 4294967294, but cannot be 65025.', 'http_code' => 400, 'description' => 'The local ASN of the BGP group is invalid. You must set a value from 64512 to 65534 or from 420000000 to 429496729.'], ['code' => 'InvalidBgpName.Malformed', 'message' => 'Specified Bgp Group name is not valid.', 'http_code' => null, 'description' => 'The name of the BGP group is invalid.'], ['code' => 'InvalidBindingStatus', 'message' => 'The eip binding status invalid.', 'http_code' => null, 'description' => 'The EIP is in an invalid state.'], ['code' => 'InvalidChargeType.ValueNotSupported', 'message' => 'The specified ChargeType is not supported.', 'http_code' => null, 'description' => 'The specified billing method is not supported. Specify a supported billing method.'], ['code' => 'InvalidCidrBlock', 'message' => 'Specified CIDR block is not valid.', 'http_code' => 400, 'description' => 'Possible reasons for error reporting:'."\n" .'1. You are not in the whitelist of the 10.0.0.0/8 CIDR block and cannot use this CIDR block.'."\n" .'2. The target CIDR block of the added custom route cannot belong to the CIDR block of all vSwitches under the same VPC.'."\n" .'3. Because 100.64.0.0/10 is a cloud service address, you cannot add this CIDR block to point to the IDC under the cloud.'."\n" .'4. Except for 100.64.0.0/10, the detailed route network segments such as 100.64.0.0/11 and 100.96.0.0/11 cannot be used in the IDC under the cloud.'], ['code' => 'InvalidCidrBlock', 'message' => 'Specified CIDR block is already exists.', 'http_code' => null, 'description' => 'The vSwitch CIDR block overlaps with another vSwitch CIDR block or with the destination CIDR block of a custom route entry. Try a different CIDR block that is not in use.'], ['code' => 'InvalidCIDRBlock.Duplicate', 'message' => 'Specified CIDR block is already exists.', 'http_code' => null, 'description' => 'This CIDR block already exists in the routing table.'], ['code' => 'InvalidCidrBlock.Malformed', 'message' => 'Specified CIDR block is not valid.', 'http_code' => null, 'description' => 'The format of the CIDR block is invalid.'], ['code' => 'InvalidCidrBlock.Overlapped', 'message' => 'Specified CIDR block overlapped with other subnets.', 'http_code' => null, 'description' => 'The vSwitch CIDR block overlaps with another vSwitch CIDR block or with the destination CIDR block of a custom route entry. Try a different CIDR block that is not in use.'], ['code' => 'InvalidCidrBlock.Overlapped', 'message' => 'Specified CIDR block overlapped with other entry.', 'http_code' => null, 'description' => 'The specified CIDR block overlaps the CIDR block of another VPC or a custom routing destination. Select a CIDR block that is not used.'], ['code' => 'InvalidCircuitCode.Malformed', 'message' => 'The specified CircuitCode is not valid.', 'http_code' => null, 'description' => 'CircuitCode is set to an invalid value.'], ['code' => 'InvalidCircuitCode.Malformed', 'message' => 'circuitCode is illegal.', 'http_code' => null, 'description' => 'The error message returned because CircuitCode is set to an invalid value.'], ['code' => 'InvalidCirdrBlock.MaskLength', 'message' => 'Specified CIDR block is not valid .', 'http_code' => 400, 'description' => 'Invalid CIDR block.'], ['code' => 'InvalidClientIpPool.Conflict', 'message' => 'The specified client IP pool conflicts with other resources in the same VPC.', 'http_code' => 400, 'description' => 'The client CIDR block conflicts with resources in the VPC.'], ['code' => 'InvalidCommodity.NotFound', 'message' => 'Commodity is not exist.', 'http_code' => 400, 'description' => 'The Commodity parameter is set to an invalid value.'], ['code' => 'InvalidCustomerGatewayInstanceId.NotFound', 'message' => 'The specified customer gateway instance id does not exist.', 'http_code' => 404, 'description' => 'The specified customer gateway does not exist. Check whether the ID of the customer gateway is correct.'], ['code' => 'InvalidDescription', 'message' => 'The description is not valid', 'http_code' => null, 'description' => 'The format of the description is invalid.'], ['code' => 'InvalidDescription.Malformed', 'message' => 'The Description is illeagl.', 'http_code' => 400, 'description' => 'The specified resource description is invalid. The description must be 2 to 256 characters in length and cannot start with http:// or https://.'], ['code' => 'InvalidDescription.Malformed', 'message' => 'The specifid ‘Description’ is not valid.', 'http_code' => null, 'description' => 'The format of the description is invalid.'], ['code' => 'InvalidDescription.Malformed', 'message' => 'The specifid "Description" is not valid.', 'http_code' => null, 'description' => 'The source description can be 2 to 256 characters in length. It cannot start with http:// and https://.'], ['code' => 'InvalidDescription.Malformed', 'message' => 'The specifid ?Description? is not valid.', 'http_code' => 400, 'description' => 'The error message returned because the specified resource description is invalid. The description must be 2 to 256 characters in length and cannot start with http:// or https://.'], ['code' => 'InvalidDescription.Malformed', 'message' => 'The Description is illegal.', 'http_code' => 400, 'description' => 'The description must be 2 to 256 characters in length and cannot start with http:// or https://.'], ['code' => 'InvalidDescription.Malformed', 'message' => 'The specifid Description is not valid.', 'http_code' => 400, 'description' => 'The Description parameter is set to an invalid value.'], ['code' => 'InvalidDescription.Malformed', 'message' => 'The specified Description is wrongly formed.', 'http_code' => 400, 'description' => 'The error message returned because the Description parameter is set to an invalid value.'], ['code' => 'InvalidDescription.Malformed', 'message' => 'The specified Description is not valid.', 'http_code' => 400, 'description' => 'Parameter Description value is illegal'], ['code' => 'InvalidDescription.Malformed', 'message' => 'The specified "Description" is not valid.', 'http_code' => 400, 'description' => 'The description can be 2 to 256 characters in length and cannot start with http:// and https.'], ['code' => 'InvalidDeviceName.NotFound', 'message' => 'DeviceName is not found.', 'http_code' => 404, 'description' => 'The specified device is not found.'], ['code' => 'InvalidDhcpOptionsSetId.NotFound', 'message' => 'The specified dhcpOptionsSetId does not exist.', 'http_code' => 400, 'description' => 'The DHCP options set does not exist. Check whether the parameter is set to a valid value.'], ['code' => 'InvalidDomainNameServers.Malformed', 'message' => 'The specified format of DomainNameServers is invalid.', 'http_code' => 400, 'description' => 'The format of the value of DomainNameServers is invalid. Check whether the parameter is set to a valid value.'], ['code' => 'InvalidEIPStatus.BizDisabled', 'message' => 'The EIP has been locked.', 'http_code' => 400, 'description' => 'The error message returned because the EIP is locked.'], ['code' => 'InvalidEndTime.Malformed', 'message' => 'Specified end time is malformed.', 'http_code' => null, 'description' => 'EndTime is set to an invalid value.'], ['code' => 'InvalidEndTime.Malformed', 'message' => 'The specified parameter "EndTime" is not valid.', 'http_code' => null, 'description' => 'EndTime is set to an invalid value.'], ['code' => 'InvalidEniType.SlaveEni', 'message' => 'The eni type cannot be slave eni.', 'http_code' => 400, 'description' => 'The ENI type cannot be a secondary ENI.'], ['code' => 'InvalidEntryRuleQuota.NotFound', 'message' => 'Route entry quota rule not exists.', 'http_code' => null, 'description' => 'The quota rules of route entries do not exist.'], ['code' => 'InvalidExternalIp.Malformed', 'message' => 'The specified ExternalIp is not a valid IP address.', 'http_code' => null, 'description' => 'The specified EIP is invalid.'], ['code' => 'InvalidExternalIp.NotFound', 'message' => 'Specified External Ip address does not found on the VRouter', 'http_code' => null, 'description' => 'The specified EIP does not exist.'], ['code' => 'InvalidExternalPort.Malformed', 'message' => 'The specified ExternalPort is not a valid port.', 'http_code' => null, 'description' => 'The specified public port is invalid.'], ['code' => 'InvalidFilterKey.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified filter key is invalid.'], ['code' => 'InvalidFilterKey.ValueNotSupported', 'message' => 'Specified filter key is not supported: Filter.X.key', 'http_code' => 404, 'description' => 'Filter.X.key is not supported.'], ['code' => 'InvalidFilterValue', 'message' => null, 'http_code' => null, 'description' => 'The specified filter value is invalid.'], ['code' => 'InvalidForwardEntryId.NotFound', 'message' => 'Specified forward entry ID does not exist', 'http_code' => null, 'description' => 'The specified DNAT entry does not exist.'], ['code' => 'InvalidForwardTableId.NotFound', 'message' => 'Specified forward table does not exist.', 'http_code' => null, 'description' => 'The specified DNAT table does not exist. Check the parameter and try again.'], ['code' => 'InvalidForwardTableId.NotFound', 'message' => 'Specified forwardTableId does not exist', 'http_code' => null, 'description' => 'The specified DNAT table does not exist. Check the parameter and try again.'], ['code' => 'InvalidGlobalAccelerationInstanceDescription.Malformed', 'message' => 'The specified Description is not valid.', 'http_code' => null, 'description' => 'The description format is invalid.'], ['code' => 'InvalidGlobalAccelerationInstanceId.NotFound', 'message' => 'The specified GlobalAccelerationInstanceId is not found.', 'http_code' => null, 'description' => 'The GA instance does not exist.'], ['code' => 'InvalidGlobalAccelerationInstanceName.Malformed', 'message' => 'The specified Name is not valid.', 'http_code' => null, 'description' => 'The name format is invalid.'], ['code' => 'InvalidHaVip.NotFound', 'message' => 'The specified HaVip does not exist.', 'http_code' => null, 'description' => 'This HAVIP does not exist.'], ['code' => 'InvalidHaVipId.NotFound', 'message' => 'The specified HaVip does not exist in the specified region.', 'http_code' => 404, 'description' => 'The specified HAVIP does not exist in the specified region. Check whether the specified region is correct.'], ['code' => 'InvalidHaVipId.NotFound', 'message' => 'The specified HaVip does not exist in the specified VPC.', 'http_code' => 404, 'description' => 'The specified HAVIP does not exist in the VPC.'], ['code' => 'InvalidIAssociatedInstanceType.ValueNotSupported', 'message' => 'The specified value of AssociatedInstanceType is not supported.', 'http_code' => 400, 'description' => 'The AssociatedInstanceType parameter is set to an invalid value.'], ['code' => 'InvalidIDaaSApplicationId.NotFound', 'message' => 'The specified IDaaS application Id does not exist.', 'http_code' => 404, 'description' => 'The ID of the specified IDaaS application instance does not exist.'], ['code' => 'InvalidIDaaSInstanceId.NotFound', 'message' => 'The specified IDaaS instance ID does not exist.', 'http_code' => 404, 'description' => 'The specified IDaaS instance does not exist.'], ['code' => 'InvalidIdempotenceParameter.Mismatch', 'message' => 'The specified parameters are different from before.', 'http_code' => null, 'description' => 'This client token is different from the previous one.'], ['code' => 'InvalidInstance.NotBelong', 'message' => 'The instance to be associated with does not belong to your account.', 'http_code' => 400, 'description' => 'The instance does not belong to your account.'], ['code' => 'InvalidInstance.NotExist', 'message' => 'The bound instance does not exist.', 'http_code' => 400, 'description' => 'The associated instance does not exist.'], ['code' => 'InvalidInstance.NotFound', 'message' => 'The specified Instance does not exist in the specified region.', 'http_code' => 404, 'description' => 'The specified instance does not exist in the current region.'], ['code' => 'InvalidInstance.StatusError', 'message' => 'The router instance owener error.', 'http_code' => null, 'description' => 'The instance is in an invalid state.'], ['code' => 'InvalidInstance.StatusError', 'message' => 'The router instance status error.', 'http_code' => 400, 'description' => 'The status of the instance is invalid.'], ['code' => 'InvalidInstanceId', 'message' => 'vswitch does not exist.', 'http_code' => 400, 'description' => 'The error message returned because the vSwitch does not exist.'], ['code' => 'InvalidInstanceId', 'message' => 'Instance does not exist.', 'http_code' => 400, 'description' => 'The error message returned because the specified instance does not exist.'], ['code' => 'InvalidInstanceId', 'message' => 'VPC does not exists.', 'http_code' => 400, 'description' => 'The error message returned because the VPC does not exist.'], ['code' => 'InvalidInstanceId', 'message' => 'NetworkInterface does not exist.', 'http_code' => 400, 'description' => 'The error message returned because the ENI does not exist.'], ['code' => 'InvalidInstanceId.NotFound', 'message' => 'The specified Instance does not exist in the specified region.', 'http_code' => null, 'description' => 'The instance does not exist in the region.'], ['code' => 'InvalidInstanceId.NotFound', 'message' => 'Specified instance does not exist.', 'http_code' => null, 'description' => 'The instance does not exist. Check the instance ID.'], ['code' => 'InvalidInstanceId.NotFound', 'message' => 'The InstanceId provided does not exist in our records.', 'http_code' => null, 'description' => 'The ECS instance does not exist in the VPC.'], ['code' => 'InvalidInstanceId.NotFound', 'message' => 'The InstanceId is not found.', 'http_code' => 400, 'description' => 'The InstanceId is not found.'], ['code' => 'InvalidInstanceId.NotFound', 'message' => 'The InstanceId provided does not exist.', 'http_code' => 400, 'description' => 'The specified instance does not exist.'], ['code' => 'InvalidInstanceId.NotFound', 'message' => 'InstanceId not found.', 'http_code' => 400, 'description' => 'The InstanceId is set to an invalid value.'], ['code' => 'InvalidInstanceId.NotFound', 'message' => '[%s]', 'http_code' => 400, 'description' => 'The Express Connect circuit [%s] does not exist.'], ['code' => 'InvalidInstanceId.NotFound', 'message' => 'InstanceId is not found.', 'http_code' => 400, 'description' => 'The Express Connect circuit ID is invalid.'], ['code' => 'InvalidInstanceId.NotFound', 'message' => 'The specified instance id does not exist.', 'http_code' => 400, 'description' => 'The specified instance ID does not exist.'], ['code' => 'InvalidInstanceIds.NotFound', 'message' => 'The instanceIds are not found', 'http_code' => 400, 'description' => 'The instance ID is not found.'], ['code' => 'InvalidInstanceOwner.Error', 'message' => 'The router instance owener error.', 'http_code' => null, 'description' => 'The VRouter does belong to your account.'], ['code' => 'InvalidInstanceOwner.Error', 'message' => 'The router instance owner error.', 'http_code' => 400, 'description' => 'The instance owner information is invalid.'], ['code' => 'InvalidInstanceType.NotFound', 'message' => 'The instance type is not found', 'http_code' => 400, 'description' => 'The instance type is not found.'], ['code' => 'InvalidInstanceType.ValueNotSupported', 'message' => 'The specified value of InstanceType is not supported.', 'http_code' => null, 'description' => 'InstanceType is set to an invalid value.'], ['code' => 'InvalidInstanId.NotFound', 'message' => 'Specified instance does not exist.', 'http_code' => null, 'description' => 'The specified instance does not exist.'], ['code' => 'InvalidInternalIp.Malformed', 'message' => 'The specified InternalIp is not a valid IP address.', 'http_code' => null, 'description' => 'The specified destination private IP address is invalid.'], ['code' => 'InvalidInternalPort.Malformed', 'message' => 'The specified InternalPort is not a valid port.', 'http_code' => null, 'description' => 'The specified private port is invalid.'], ['code' => 'InvalidIp.Malformed', 'message' => 'The specified ip address is not valid.', 'http_code' => null, 'description' => 'The specified private IP address is invalid.'], ['code' => 'InvalidIP.Malformed', 'message' => 'Ip malformed.', 'http_code' => null, 'description' => 'The format of the IP address is invalid.'], ['code' => 'InvalidIp.NotInNatgw', 'message' => 'The specified Ip not belong to natgateway.', 'http_code' => null, 'description' => 'The specified EIP is not associated with the NAT gateway.'], ['code' => 'InvalidIp.NotSameSubnet', 'message' => 'Local gateway ip and peer gateway ip are not in the same subnet.', 'http_code' => 400, 'description' => 'The IP addresses of the local gateway and the peer gateway do not fall within the same subnet.'], ['code' => 'InvalidIpAddress.AlreadyExist', 'message' => 'Specified IpAddress is already exist.', 'http_code' => 400, 'description' => 'The IP address already exists. You cannot specify duplicate IP addresses by using the same account in the same region.'], ['code' => 'InvalidIPAddress.AlreadyInUse', 'message' => 'The specified IPAddress is already used by other resource.', 'http_code' => 400, 'description' => 'The IP address is being used by other resources.'], ['code' => 'InvalidIPAddress.AlreadyUsed', 'message' => 'The specified IPAddress is already used by other resource.', 'http_code' => null, 'description' => 'The specified IP address is in use.'], ['code' => 'InvalidIPAddress.Malformed', 'message' => 'The specified IPAddress is not a valid or strict address.', 'http_code' => 400, 'description' => 'The specified IP address is invalid.'], ['code' => 'InvalidIPAddress.NotAvailable', 'message' => 'The specified IPAddress is not available because it is a system reserved IPAddress.', 'http_code' => null, 'description' => 'The specified IP address is reserved by the system and cannot be used.'], ['code' => 'InvalidIPAddress.OutOfRange', 'message' => 'The specified IPAddress is out of VSwitch CIDR.', 'http_code' => null, 'description' => 'The private IP address does not fall within the vSwitch CIDR block.'], ['code' => 'InvalidIPAddress.OutOfVswCIDR', 'message' => 'The specified IPAddress is out of VSwitch CIDR.', 'http_code' => 400, 'description' => 'The IP address does not fall within the CIDR block of the vSwitch.'], ['code' => 'InvalidIpAddress.WrongFormat', 'message' => 'Specified IpAddress is invalid.', 'http_code' => null, 'description' => 'The specified IP address is invalid.'], ['code' => 'InvalidIpCount.ValueNotSupported', 'message' => 'The specified value of IpCount not supported.', 'http_code' => null, 'description' => 'IpCount is set to an invalid value.'], ['code' => 'InvalidIpCount.ValueNotSupported', 'message' => 'Can not remove all ips of the bandwidthPackage.', 'http_code' => null, 'description' => 'You cannot remove all IP addresses from the bandwidth plan.'], ['code' => 'InvalidIpInstanceId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified EIP does not exist.'], ['code' => 'InvalidIpInstanceId.NotFound', 'message' => 'The specified Eip InstanceId does not exist in our records.', 'http_code' => 400, 'description' => 'The specified EIP does not exist.'], ['code' => 'InvalidIpv6AddressId.NotFound', 'message' => 'The specified resource of %s is not found.', 'http_code' => 400, 'description' => 'The IPv6 address is not found.'], ['code' => 'InvalidIpv6CidrBlock.Malformed', 'message' => 'Param Ipv6CidrBlock is malformed.', 'http_code' => 400, 'description' => 'IPv6 network segment is illegal'], ['code' => 'InvalidIpv6CidrBlock.NotFound', 'message' => 'The specified IPv6CidrBlock was not found.', 'http_code' => 400, 'description' => 'The specified IPv6CidrBlock was not found.'], ['code' => 'InvalidIpv6Gateway.NotFound', 'message' => 'The specified IPv6 gateway was not found.', 'http_code' => 400, 'description' => 'The specified IPv6 gateway was not found.'], ['code' => 'InvalidIpv6GatewayId.NotFound', 'message' => 'The specified IPv6GatewayId was not found.', 'http_code' => 400, 'description' => 'The specified IPv6GatewayId was not found.'], ['code' => 'InvalidIpv6Instance.NotFound', 'message' => 'The specified resource of InvalidIpv6Instance is not found.', 'http_code' => 400, 'description' => 'The error message returned because the IPv6 resource is not found.'], ['code' => 'InvalidIpv6Instance.NotFound', 'message' => 'The specified Ipv6AddressId or Ipv6InternetBandwidthId is not found.', 'http_code' => 404, 'description' => 'The error message returned because Ipv6AddressId or Ipv6InternetBandwidthId is not set.'], ['code' => 'InvalidIpv6Instance.NotFound', 'message' => 'The specified IPv6Instance was not found.', 'http_code' => 400, 'description' => 'The specified IPv6 instance was not found.'], ['code' => 'InvalidIpv6ULACidrBlock.Malformed', 'message' => 'The specified IPv6ULACidrBlock is malformed.', 'http_code' => 400, 'description' => 'The format of the specified IPv6ULACidrBlock is invalid.'], ['code' => 'InvalidLineOperator.Malformd', 'message' => 'The LineOperator provided was invalid.', 'http_code' => null, 'description' => 'The value of the LineOperator parameter is invalid.'], ['code' => 'InvalidLoadBalancerId.NotFound', 'message' => 'The specified resource of load balancer is not found.', 'http_code' => 400, 'description' => 'The SLB instance does not exist.'], ['code' => 'InvalidLoadBalancerId.NotFound', 'message' => 'LoadBalancerId does not exist.', 'http_code' => 400, 'description' => 'The ID of the SLB instance does not exist.'], ['code' => 'InvalidLocalBgpIp.Malformed', 'message' => 'The specified LocalBgpIp is malformed.', 'http_code' => 400, 'description' => 'The local BGP IP address is in an abnormal state.'], ['code' => 'InvalidLocalGatewayIp.Malformed', 'message' => 'The specified LocalGatewayIp is not valid.', 'http_code' => null, 'description' => 'The IP address of the local gateway is invalid.'], ['code' => 'InvalidLockReason.NotFound', 'message' => 'The specified LockReason is not found', 'http_code' => null, 'description' => 'The reason why the instance is locked is unknown.'], ['code' => 'InvalidName', 'message' => 'The name is not valid', 'http_code' => null, 'description' => 'The name format is invalid.'], ['code' => 'InvalidName.Malformd', 'message' => 'The attribute name is illeagl.', 'http_code' => null, 'description' => 'Invalid name format.'], ['code' => 'InvalidName.Malformd', 'message' => 'The attribute name is illegal.', 'http_code' => 400, 'description' => 'The property name is invalid.'], ['code' => 'InvalidName.Malformed', 'message' => 'The specified ‘Name’ is not valid.', 'http_code' => null, 'description' => 'The name format is invalid.'], ['code' => 'InvalidName.Malformed', 'message' => 'The specified "Name" is not valid.', 'http_code' => null, 'description' => 'The name format is invalid.'], ['code' => 'InvalidName.Malformed', 'message' => 'The specified ?Name? is not valid.', 'http_code' => null, 'description' => 'The error message returned because the name format is invalid.'], ['code' => 'InvalidName.Malformed', 'message' => 'The attribute name is illegal.', 'http_code' => 400, 'description' => 'The value of the Name parameter is invalid.'], ['code' => 'InvalidName.Malformed', 'message' => 'The specified Name is not valid.', 'http_code' => 400, 'description' => 'The Name parameter is set to an invalid value.'], ['code' => 'InvalidNatGatewayDescription.MalFormed', 'message' => 'NatGateway description is not valid.', 'http_code' => null, 'description' => 'The gateway description is invalid.'], ['code' => 'InvalidNatGatewayId.NotFound', 'message' => 'The NatGatewayId not exist.', 'http_code' => null, 'description' => 'The value of the NatGatewayId parameter is invalid.'], ['code' => 'InvalidNatGatewayId.NotFound', 'message' => 'The specified NatGatewayId does not exist in our records.', 'http_code' => null, 'description' => 'The value of the NatGatewayId parameter is invalid.'], ['code' => 'InvalidNatGatewayName.MalFormed', 'message' => 'NatGateway name is not valid.', 'http_code' => null, 'description' => 'The gateway name is invalid.'], ['code' => 'InvalidNetworkAcl.NotFound', 'message' => 'The special Network Acl is not found.', 'http_code' => 400, 'description' => 'The network ACL is not found.'], ['code' => 'InvalidNetworkInterface.NotFound', 'message' => 'The network interface is not found on the attachment.', 'http_code' => 400, 'description' => 'No ENI is associated with the specified transit router.'], ['code' => 'InvalidNetworkInterface.NotFound', 'message' => 'The specified network interface does not exist.', 'http_code' => 400, 'description' => 'The ID of the next hop ENI is not found.'], ['code' => 'InvalidNetworkInterfaceId.NotFound', 'message' => 'The network interface is not found.', 'http_code' => 400, 'description' => 'The ENI does not exist.'], ['code' => 'InvalidNextHop', 'message' => 'Specified nexthop and nexthop list cannot both null.', 'http_code' => null, 'description' => 'The next hop and next hop list cannot be empty at the same time.'], ['code' => 'InvalidNexthop', 'message' => 'The Specified nexthop illage.', 'http_code' => null, 'description' => 'The next hop ID does not exist.'], ['code' => 'InvalidNexthop.DirectEni', 'message' => 'The direct Eni cannot be nexthop.', 'http_code' => 400, 'description' => 'An ENI in cut-through mode cannot be specified as a next hop.'], ['code' => 'InvalidNextHop.NotFound', 'message' => 'Specified next hop does not exist.', 'http_code' => null, 'description' => 'The specified next hop does not exist.'], ['code' => 'InvalidNextHop.NotFound', 'message' => 'The specified NextHop does not exist.', 'http_code' => 400, 'description' => 'The specified next hop does not exist.'], ['code' => 'InvalidNexthop.UnsupportedEniBizType', 'message' => 'The biz type of NetworkInterface is illegal.', 'http_code' => 400, 'description' => 'The biz type of NetworkInterface as the nexthop is illegal.'], ['code' => 'InvalidNexthop.zhuhao', 'message' => 'The specified nexthop is illegal.', 'http_code' => 400, 'description' => 'The next hop of the route is invalid.'], ['code' => 'InvalidNextHopId.NotFound', 'message' => 'Specified next hop does not exist.', 'http_code' => null, 'description' => 'The next hop does not exist.'], ['code' => 'InvalidNextHopList.Size', 'message' => 'Has more than one nexthop.', 'http_code' => 400, 'description' => 'Has more than one nexthop.'], ['code' => 'InvalidNexthopListSize', 'message' => 'nexthop size is illegal. Must be between 2 and 4.', 'http_code' => 400, 'description' => 'You must specify two to four router interfaces as next hops.'], ['code' => 'InvalidNextHopType', 'message' => 'Specified parameter "NextHopType" is not valid', 'http_code' => null, 'description' => 'The specified next hop type is invalid.'], ['code' => 'InvalidNextHopType', 'message' => 'Specified parameter "NextHopType" is not valid.', 'http_code' => 400, 'description' => 'Specified parameter "NextHopType" is not valid.'], ['code' => 'InvalidNexthopTypeAndList.BothNotNull', 'message' => 'both nexthopType and nextHopList are not null.', 'http_code' => null, 'description' => 'You cannot leave both NextHopType and NextHopList empty.'], ['code' => 'InvalidNexthopTypeAndList.BothNull', 'message' => 'both nexthopType and nextHopList are null.', 'http_code' => null, 'description' => 'NextHopType and NextHopList are not specified.'], ['code' => 'InvalidNicOrVm.NotFound', 'message' => 'Bind nic or vm not exist.', 'http_code' => 400, 'description' => 'The bound NIC or VM does not exist.'], ['code' => 'Invalidnull.NotFound', 'message' => '%s [%s] is not found.', 'http_code' => 400, 'description' => 'Resource is not found.'], ['code' => 'InvalidOperation.OperationNotAllowedInState', 'message' => 'The specified VirutalBorderRouter is in invalid state', 'http_code' => null, 'description' => 'The status of the VBR interface does not support this operation.'], ['code' => 'InvalidOperation.OperationNotAllowedInState', 'message' => 'The specified VirutalBorderRouter is in invalid state.', 'http_code' => null, 'description' => 'The specified VBR is in an invalid state. Check the status of the VBR.'], ['code' => 'InvalidOperation.OrderOpened', 'message' => 'You have already open the service. Go to the console to start using it.', 'http_code' => 400, 'description' => 'The cloud traffic service has been activated. Go to the console to use it.'], ['code' => 'InvalidOperation.RouterInterfaceNotDeleted', 'message' => 'The specified VirutalBorderRouter still has routerInterface.', 'http_code' => null, 'description' => 'The VBR is associated with a router interface.'], ['code' => 'InvalidOpposite.NotFound', 'message' => 'The opposite does not exist.', 'http_code' => 400, 'description' => 'The peer does not exist.'], ['code' => 'InvalidOpposite.NotFound', 'message' => 'The opposite does not exit.', 'http_code' => 400, 'description' => 'The peer does not exist.'], ['code' => 'InvalidOppositeRegionId.NotFound', 'message' => 'The oppositeRegionId provided does not exist in our records.', 'http_code' => null, 'description' => 'The peer region does not exist.'], ['code' => 'InvalidOppositeRouterType', 'message' => 'nexthop list cannot only contain router interface whose opposite router interface is on vbr.', 'http_code' => null, 'description' => 'The specified next hop is invalid. The peer router of the router interface that you specify as the next hop must be a VBR.'], ['code' => 'InvalidOppositeRouterType.ValueNotSupported', 'message' => 'The specified OppositeRouterType is not valid.', 'http_code' => 400, 'description' => 'The value of the OppositeRouterType parameter is invalid.'], ['code' => 'InvalidParam', 'message' => 'The Ecmp routerEntry with router interfaces local vgw vip not match.', 'http_code' => null, 'description' => 'The Ecmp routerEntry with router interfaces local vgw vip not match.'], ['code' => 'InvalidParam', 'message' => 'The routerEntry input param is illegal.', 'http_code' => 400, 'description' => 'The input parameter of the modified route is illegal.'], ['code' => 'InvalidParam.AvailableZoneId', 'message' => 'The specified AvailableZoneId did not retrieve the corresponding cluster IP address.', 'http_code' => 400, 'description' => 'The specified AvailableZoneId does not obtain the corresponding cluster IP address.'], ['code' => 'InvalidParam.CloudInstanceType', 'message' => 'invalid cloud instance type', 'http_code' => 400, 'description' => 'The service type is invalid.'], ['code' => 'InvalidParam.ModifyRouterInterface', 'message' => 'Modify routerinterface param invalide', 'http_code' => null, 'description' => 'A parameter that you set to modify the router interface is invalid.'], ['code' => 'InvalidParam.ModifyRouterInterface', 'message' => 'Modify routerinterface param invalid', 'http_code' => 400, 'description' => 'The parameters for editing the router interface are invalid.'], ['code' => 'InvalidParam.NotFound', 'message' => 'Parameter must not be null', 'http_code' => null, 'description' => 'A required parameter is not specified.'], ['code' => 'InvalidParam.NotFound', 'message' => 'Parameter must not be null,uid, bid,regionNo, remoteRegionNo, routerId or accessPointId', 'http_code' => 400, 'description' => 'The parameter value cannot be null.'], ['code' => 'InvalidParam.NotFound', 'message' => 'Parameters such as uid, bid, regionNo, remoteRegionNo or routerId cannot be null.', 'http_code' => 400, 'description' => 'Parameters such as uid, bid, regionNo, remoteRegionNo, and routerId cannot be empty'], ['code' => 'InvalidParam.NotNull', 'message' => 'The parameter must not be null.', 'http_code' => null, 'description' => 'A required parameter is not specified.'], ['code' => 'InvalidParam.NotNull', 'message' => 'SnatTableId and natGatewayId can not both be null', 'http_code' => 400, 'description' => 'SnatTableId and natGatewayId cannot be empty at the same time.'], ['code' => 'InvalidParam.NotNull', 'message' => 'FullnatTableId and natGatewayId can not both be null', 'http_code' => 400, 'description' => 'FullnatTableId and natGateway cannot be empty at the same time.'], ['code' => 'InvalidParam.NotNull', 'message' => 'ForwardTableId and natGatewayId can not both be null', 'http_code' => 400, 'description' => 'ForwardTableId and natGatewayId cannot be empty at the same time.'], ['code' => 'InvalidParameter', 'message' => 'The parameter is invalid.', 'http_code' => 400, 'description' => 'The bandwidth value is invalid.'], ['code' => 'InvalidParameter', 'message' => 'Specified CIDR block is not valid', 'http_code' => null, 'description' => 'The specified CIDR block is invalid.'], ['code' => 'InvalidParameter', 'message' => 'Specified CIDR block is not valid in VPC.', 'http_code' => null, 'description' => 'The CIDR block does not fall within the VPC CIDR block.'], ['code' => 'InvalidParameter', 'message' => 'Specified value of "Bandwidth" is not supported.', 'http_code' => null, 'description' => 'The specified bandwidth value is invalid.'], ['code' => 'InvalidParameter', 'message' => 'Specified UserCidr Subnet mask is not valid .', 'http_code' => null, 'description' => 'The subnet mask of the user CIDR block is invalid.'], ['code' => 'InvalidParameter', 'message' => 'Specified UserCidr invalid format.', 'http_code' => null, 'description' => 'The format of the user CIDR block is invalid.'], ['code' => 'InvalidParameter', 'message' => 'The specified parameter is not valid.', 'http_code' => null, 'description' => 'The parameter is set to an invalid value.'], ['code' => 'InvalidParameter', 'message' => 'Specified value of "Period" is not valid', 'http_code' => null, 'description' => 'Period is set to an invalid value.'], ['code' => 'InvalidParameter', 'message' => 'The specified parameter is not valid', 'http_code' => null, 'description' => 'The parameter is set to an invalid value.'], ['code' => 'InvalidParameter', 'message' => 'Specified value of InternetChargeType is not valid.', 'http_code' => 400, 'description' => 'InternetChargeType is set to an invalid value.'], ['code' => 'InvalidParameter', 'message' => 'Specified value of "Bandwidth" is not valid.', 'http_code' => null, 'description' => 'The specified bandwidth value is invalid.'], ['code' => 'InvalidParameter.Bandwidth', 'message' => null, 'http_code' => null, 'description' => 'The specified bandwidth value is invalid.'], ['code' => 'InvalidParameter.BandwidthPackage.n.ISP.ValueNotSupport', 'message' => 'The specified ISP of BandwidthPackage is not valid.', 'http_code' => null, 'description' => 'The specified ISP of the EIP bandwidth plan is invalid.'], ['code' => 'InvalidParameter.BgpConfig', 'message' => 'The specified BgpConfig is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the BGP configuration is invalid.'], ['code' => 'InvalidParameter.Description.Malformed', 'message' => 'The specified Description is not valid.', 'http_code' => null, 'description' => 'The specified description is invalid.'], ['code' => 'InvalidParameter.EniInstanceId', 'message' => 'The specified EniInstanceId is invalid.', 'http_code' => 400, 'description' => 'The specified EniInstanceId is invalid.'], ['code' => 'InvalidParameter.Mismatch', 'message' => 'Specified elastic IP address and ECS instance are not in the same region.', 'http_code' => null, 'description' => 'The EIP and ECS instance do not belong to the same region.'], ['code' => 'InvalidParameter.Name.Malformed', 'message' => 'The specified Name is not valid.', 'http_code' => null, 'description' => 'The specified name format is invalid. Enter the name in the valid format.'], ['code' => 'InvalidParameter.RegionId', 'message' => 'The EIP must be the same as the region of the bound instance.', 'http_code' => 400, 'description' => 'The EIP and the instance to be associated must belong to the same region.'], ['code' => 'InvalidParameter.Spec.ValueNotSupported', 'message' => 'The specified Spec is not valid.', 'http_code' => null, 'description' => 'The specification is invalid.'], ['code' => 'InvalidParameter.TagKey', 'message' => 'The specified parameter TagKey is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified tag key is invalid.'], ['code' => 'InvalidParameter.TagValue', 'message' => 'The specified parameter TagValue is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified tag value is invalid.'], ['code' => 'InvalidParameter.TooMany', 'message' => 'monitor parameter too many data required.', 'http_code' => 400, 'description' => 'There are multiple invalid input parameters.'], ['code' => 'InvalidParameter.VpnConnectionName', 'message' => 'The specified vpn connection name is invalid.', 'http_code' => 400, 'description' => 'The VPN connection name does not meet the requirements.'], ['code' => 'InvalidParams.AlreadyExists', 'message' => 'bgp network already exists', 'http_code' => 400, 'description' => 'The BGP network already exists.'], ['code' => 'InvalidParams.NotFound', 'message' => 'instance not found', 'http_code' => null, 'description' => 'The specified instance does not exist.'], ['code' => 'InvalidParams.NotFound', 'message' => 'vpc instance not found', 'http_code' => 400, 'description' => 'The VPC does not exist. Check whether the specified VPC is valid.'], ['code' => 'InvalidParams.NotNull', 'message' => 'parameter must not null.', 'http_code' => null, 'description' => 'A required parameter is not specified.'], ['code' => 'InvalidParams.NotNull', 'message' => 'invalid peer asn cannot equals aliyun asn:45104', 'http_code' => null, 'description' => 'The AS number cannot be the same as the AS number on the Alibaba Cloud side.'], ['code' => 'InvalidParams.NotNull', 'message' => 'The parameter must not be null, name or description or icmpReplyEnabled', 'http_code' => 400, 'description' => 'The name, description, and ICMP proxy cannot be empty at the same time.'], ['code' => 'InvalidParams.NotNull', 'message' => 'params must not null.', 'http_code' => 400, 'description' => 'The parameter is required.'], ['code' => 'InvalidParams.PeerIpAddressInUse', 'message' => 'peer ip address in use', 'http_code' => null, 'description' => 'The peer IP address is in use.'], ['code' => 'InvalidParams.PeerIpAddressInUse', 'message' => 'peer ip address in use ,cannot create bgp peer.', 'http_code' => 400, 'description' => 'The peer IP address is being used. Therefore, you cannot use it to create a BGP peer.'], ['code' => 'InvalidParams.PeerIpAddressMustPointOut', 'message' => 'vbr has 0 or more than 1 subif', 'http_code' => null, 'description' => 'The VBR must have at least one subinterface to create a BGP.'], ['code' => 'InvalidParams.PeerIpAddressMustPointOut', 'message' => 'vbr has 0 or more than 1 subif ,point out peerIpAddress.', 'http_code' => 400, 'description' => 'You must set the PeerIpAddress parameter.'], ['code' => 'InvalidPeerAsn.Malformed', 'message' => 'invalid peer asn cannot equals aliyun asn:45104', 'http_code' => null, 'description' => 'The AS number cannot be the same as the AS number on the Alibaba Cloud side.'], ['code' => 'InvalidPeerGatewayIp.Malformed', 'message' => 'The specified PeerGatewayIp is not valid.', 'http_code' => null, 'description' => 'PeerGatewayIp is set to an invalid value.'], ['code' => 'InvalidPeeringSubnetMask.Malformed', 'message' => 'The specified PeeringSubnetMask is not valid.', 'http_code' => 400, 'description' => 'PeeringSubnetMask is set to an invalid value.'], ['code' => 'InvalidPeerIpAddress', 'message' => 'multi pconn peer ip can not be null.', 'http_code' => null, 'description' => 'The IP addresses of multiple Express Connect circuits cannot be empty.'], ['code' => 'InvalidPeerLocation.Malformd', 'message' => 'The PeerLocation provided was invalid.', 'http_code' => null, 'description' => 'PeerLocation is set to an invalid value.'], ['code' => 'InvalidPeriod.ValueNotSupported', 'message' => 'The specified parameter "Period" is not valid.', 'http_code' => null, 'description' => 'Period is set to an invalid value.'], ['code' => 'InvalidPhoneNum.Malformed', 'message' => 'The parameter PhoneNum is invalid.', 'http_code' => 400, 'description' => 'The parameter PhoneNum is invalid.'], ['code' => 'InvalidPhysicalConnectionBandwidth.Malformed', 'message' => 'Specified PhysicalConnection Bandwidth is not valid.', 'http_code' => 400, 'description' => 'The bandwidth of the Express Connect circuit is set to an invalid value.'], ['code' => 'InvalidPhysicalConnectionBusinessStatus', 'message' => 'invalid physical connection business status.', 'http_code' => null, 'description' => 'The Express Connect circuit is in an invalid state.'], ['code' => 'InvalidPhysicalConnectionChargeType.Malformed', 'message' => 'Specified Physical Connection ChargeType is not valid.', 'http_code' => 400, 'description' => 'The InstanceChargeType parameter is set to an invalid value.'], ['code' => 'InvalidPhysicalConnectionId.NotEnabled', 'message' => 'The specified PhysicalConnectionId is not in Enabled state.', 'http_code' => null, 'description' => 'The Express Connect circuit is in an invalid state. Check the Express Connect circuit and try again.'], ['code' => 'InvalidPhysicalConnectionId.NotFound', 'message' => 'The specified PhysicalConnectionId is not found.', 'http_code' => 400, 'description' => 'The specified Express Connect circuit ID does not exist.'], ['code' => 'InvalidPhysicalConnectionId.NotFound', 'message' => 'The specified PhysicalConnectionId does not belong to user.', 'http_code' => null, 'description' => 'The specified physical connection does not belong to your account.'], ['code' => 'InvalidPhysicalConnectionId.NotFound', 'message' => 'The PhysicalConnectionId provided does not exist in our records.', 'http_code' => null, 'description' => 'The Express Connect circuit does not exist.'], ['code' => 'InvalidPhysicalConnectionId.NotFound', 'message' => 'The specified physicalConnection is not found.', 'http_code' => 400, 'description' => 'The specified physicalConnection is not found.'], ['code' => 'InvalidPhysicalConnectionId.NotFound', 'message' => 'The specified physicalConnection is not found', 'http_code' => 400, 'description' => 'The PhysicalConnectionId parameter is set to an invalid value.'], ['code' => 'InvalidPhysicalConnectionId.NotMatched', 'message' => 'instance id not matched.', 'http_code' => null, 'description' => 'The instance ID does not match.'], ['code' => 'InvalidPhysicalConnectionOperator.Malformed', 'message' => 'Specified PhysicalConnection Operator is not valid.', 'http_code' => 400, 'description' => 'The operation on the Express Connect circuit is invalid.'], ['code' => 'InvalidPhysicalConnectionPeriod.Malformed', 'message' => 'Specified Physical Connection Period is not valid.', 'http_code' => 400, 'description' => 'The Period parameter is set to an invalid value.'], ['code' => 'InvalidPhysicalConnectionPortType.Malformed', 'message' => 'Specified PhysicalConnection PortType is not valid.', 'http_code' => 400, 'description' => 'The port type of the Express Connect circuit is invalid.'], ['code' => 'InvalidPolicy.WrongFormat', 'message' => 'Invalid input policy format.', 'http_code' => 400, 'description' => 'The format of the policy information is invalid.'], ['code' => 'InvalidPortType.Malformd', 'message' => 'The PortType provided was invalid.', 'http_code' => null, 'description' => 'The specified port type is invalid.'], ['code' => 'InvalidPortType.NotFound', 'message' => 'Specified port type is not found.', 'http_code' => 400, 'description' => 'The portType parameter is not set.'], ['code' => 'InvalidPortType.NotFound', 'message' => 'There are no resources with the portType.', 'http_code' => 404, 'description' => 'The specified port type is invalid.'], ['code' => 'InvalidPrice.NotFound', 'message' => 'Pricing plan result not found.', 'http_code' => 400, 'description' => 'The Price parameter is set to an invalid value.'], ['code' => 'InvalidProtocal.ValueNotSupported', 'message' => 'The specified IpProtocol does not support.', 'http_code' => null, 'description' => 'The specified protocol is not supported.'], ['code' => 'InvalidRedundantPhysicalConnection', 'message' => 'redundant physical connection doesn\'t belong to current user.', 'http_code' => null, 'description' => 'The specified redundant Express Connect circuit does not belong to your Alibaba Cloud account.'], ['code' => 'InvalidRedundantPhysicalConnectionId.NotFound', 'message' => 'The RedundantPhysicalConnectionId does not found.', 'http_code' => null, 'description' => 'The specified redundant Express Connect circuit does not exist.'], ['code' => 'InvalidRedundantPhysicalConnectionStatus', 'message' => 'invalid redundant physical connection status.', 'http_code' => null, 'description' => 'The redundant Express Connect circuit is in an invalid state.'], ['code' => 'InvalidRegion.NotSupport', 'message' => 'The specified region does not support.', 'http_code' => null, 'description' => 'The specified region does not support.'], ['code' => 'InvalidRegionId.NotFound', 'message' => 'The specified region not found.', 'http_code' => null, 'description' => 'RegionId is set to an invalid value. Check whether the service is available in the specified region and try again.'], ['code' => 'InvalidRegionId.NotFound', 'message' => 'Specified value of "regionId" is not supported.', 'http_code' => null, 'description' => 'RegionId is set to an invalid value. Check whether the service is available in the specified region and try again.'], ['code' => 'InvalidRegionId.NotFound', 'message' => 'The specified RegionId is not found.', 'http_code' => 404, 'description' => 'The specified region ID is invalid. Check whether the service is available in the specified region.'], ['code' => 'InvalidRegionId.NotFound', 'message' => 'The specified RegionId does not exist in our records.', 'http_code' => 400, 'description' => 'The specified region ID does not exist.'], ['code' => 'InvalidRegionId.NotFound', 'message' => 'The parameter wrong', 'http_code' => null, 'description' => 'The parameter value is invalid.'], ['code' => 'InvalidRegionId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified region ID is invalid.'], ['code' => 'InvalidRegionId.NotFound', 'message' => 'The regionId provided does not exist in our records.', 'http_code' => 404, 'description' => 'The RegionId parameter is set to an invalid value. Specify a valid value and try again.'], ['code' => 'InvalidRegionId.NotFound', 'message' => 'The specified RegionId does not exist.', 'http_code' => 404, 'description' => 'The specified region does not exist.'], ['code' => 'InvalidRegionId.NotFound', 'message' => 'The specified region is not found.', 'http_code' => 400, 'description' => 'The specified region does not exist.'], ['code' => 'InvalidRegionId.NotFound', 'message' => 'The regionId provided does not exist in ec region list.', 'http_code' => 400, 'description' => 'The parameter is invalid.'], ['code' => 'InvalidRegionId.NotFound', 'message' => 'The parameter wrong, pageNum or pageSize.', 'http_code' => 404, 'description' => 'The parameter is set to an invalid value.'], ['code' => 'InvalidRegionId.NotFound', 'message' => 'The specified region is not found during access authentication.', 'http_code' => 404, 'description' => 'The specified area is not found during authentication.'], ['code' => 'InvalidRegionId.NotFound', 'message' => 'The RegionId provided does not exist in our records.', 'http_code' => 404, 'description' => 'The parameter is invalid.'], ['code' => 'InvalidRegionId.NotSupport', 'message' => 'The RegionId provided does not support in our records.', 'http_code' => null, 'description' => 'The specified region ID is invalid.'], ['code' => 'InvalidRegionPair.NotReachable', 'message' => 'The specified OppositeRegion is not reachable by ExpressConnect from that region specified by "RegionId"', 'http_code' => null, 'description' => 'The specified region ID is invalid.'], ['code' => 'invalidRemovedIpAddresses.NotFound', 'message' => 'Some of the specified value of RemovedIpAddress not found in specified BandwidthPackage.', 'http_code' => null, 'description' => 'An EIP in the EIP list is not associated with the EIP bandwidth plan. Check the EIP list.'], ['code' => 'InvalidRemovedIpAddresses.NotFound', 'message' => 'Some of remove ip is not natPublicIp.', 'http_code' => null, 'description' => 'One or more public IP addresses to be removed are not associated with the NAT gateway.'], ['code' => 'InvalidReservationTime.Malformed', 'message' => 'The parameter ReservationTime is invalid.', 'http_code' => 400, 'description' => 'The parameter ReservationTime is invalid.'], ['code' => 'InvalidResource.BindingExist', 'message' => 'The binding instance has been binded.', 'http_code' => 400, 'description' => 'The instance is already in the Associated state.'], ['code' => 'InvalidResourceGroupId', 'message' => 'The specified ResourceGroupId does not exist.', 'http_code' => 400, 'description' => 'The specified resource group ID does not exist.'], ['code' => 'InvalidResourceId.NotFound', 'message' => 'This resourceId already has flowlog instance existed.', 'http_code' => 400, 'description' => 'A flow log is already enabled for the resource.'], ['code' => 'InvalidResourceId.NotFound', 'message' => 'The specified ResourceId does not exist.', 'http_code' => 404, 'description' => 'The specified resource ID does not exist.'], ['code' => 'InvalidRole.ValueNotSupported', 'message' => 'The specified Role is not valid.', 'http_code' => null, 'description' => 'The specified role is invalid.'], ['code' => 'InvalidRouteEntry', 'message' => 'Specified routeEntry not exist.', 'http_code' => null, 'description' => 'The specified route entry does not exist.'], ['code' => 'InvalidRouteEntry.Duplicate', 'message' => 'The route entry already exist.', 'http_code' => null, 'description' => 'The specified route entry already exists.'], ['code' => 'InvalidRouteEntry.NotFound', 'message' => 'Route entry not exists.', 'http_code' => null, 'description' => 'The route entry does not exist.'], ['code' => 'InvalidRouteEntry.NotFound', 'message' => 'The specified route entry does not exist.', 'http_code' => 400, 'description' => 'The error message returned because the specified route does not exist.'], ['code' => 'InvalidRouteEntryId.NotFound', 'message' => 'The specified routeEntry does not exist.', 'http_code' => 400, 'description' => 'The specified routeEntry does not exist.'], ['code' => 'InvalidRouteEntryId.NotFound', 'message' => 'Specified RouteEntryId does not exist.', 'http_code' => 400, 'description' => 'The specified route is not found.'], ['code' => 'InvalidRouteEntryId.NotFound', 'message' => 'The specified resource of is not found.', 'http_code' => 404, 'description' => 'The specified route entry does not exist.'], ['code' => 'InvalidRouteEntryName.Malformed', 'message' => 'Specified RouteEntry name is not valid.', 'http_code' => 400, 'description' => 'The new name of the route is invalid.'], ['code' => 'InvalidRouteEntrySize', 'message' => 'The Specified routerEntry size not legal.', 'http_code' => 400, 'description' => 'You must specify two to four router interfaces as next hops if you want to configure ECMP routing.'], ['code' => 'InvalidRouterId.AttacedToCEN', 'message' => 'Can not create ri when attaced to CEN.', 'http_code' => 404, 'description' => 'You cannot attach the router interface to the CEN instance.'], ['code' => 'InvalidRouterId.NotFound', 'message' => 'The specified RouterId does not exist in our recored.', 'http_code' => null, 'description' => 'The specified router ID does not exist.'], ['code' => 'InvalidRouterId.NotFound', 'message' => 'Param is not valid,this user does not have this router or aliuid bid regionNo and routerId must have something wrong.', 'http_code' => 400, 'description' => 'The RouterId parameter is set to an invalid value.'], ['code' => 'InvalidRouterInterface', 'message' => 'invalid router interface.', 'http_code' => null, 'description' => 'The specified router interface does not exist.'], ['code' => 'InvalidRouterInterfaceChargeType.Malformed', 'message' => 'The prepaid routerinterface can not delete.', 'http_code' => null, 'description' => 'You cannot delete a subscription router interface.'], ['code' => 'InvalidRouterInterfaceChargeType.Malformed', 'message' => 'Specified RouterInterface ChargeType is not valid.', 'http_code' => 400, 'description' => 'The RouterInterface ChargeType parameter is set to an invalid value.'], ['code' => 'InvalidRouterInterfaceId.NotFound', 'message' => 'The specified RouterInterfaceId does not exist in our records.', 'http_code' => null, 'description' => 'The specified router interface does not exist.'], ['code' => 'InvalidRouterInterfaceId.NotFound', 'message' => 'The specified RouterInterfaceId does not exist in our record.', 'http_code' => null, 'description' => 'The specified router interface does not exist.'], ['code' => 'InvalidRouterInterfaceId.NotFound', 'message' => 'The specified RouterInterface does not exist in our record.', 'http_code' => 400, 'description' => 'The specified RouterInterface instance does not exist.'], ['code' => 'InvalidRouterInterfaceSpec.Malformed', 'message' => 'Specified RouterInterface spec is not valid.', 'http_code' => 400, 'description' => 'The RouterInterface Spec parameter is set to an invalid value.'], ['code' => 'InvalidRouterType', 'message' => 'Cannot specify nexthop list in vbr\'s route table.', 'http_code' => 400, 'description' => 'The specified next hop does not exist in the VBR routing table'], ['code' => 'InvalidRouterType.ValueNotSupported', 'message' => 'The specified RouterType is not valid.', 'http_code' => null, 'description' => 'The router type is invalid.'], ['code' => 'InvalidRouterType.ValueNotSupported', 'message' => 'The specified RouterType is not valid', 'http_code' => null, 'description' => 'The router type is invalid.'], ['code' => 'InvalidRouteTable.NotFound', 'message' => 'The specified routetable does not exist.', 'http_code' => 400, 'description' => 'The route table is not found.'], ['code' => 'InvalidRouteTable.NotFound', 'message' => 'The specified RouteTable was not found.', 'http_code' => 400, 'description' => 'The specified route table was not found.'], ['code' => 'InvalidRouteTableId.NotFound', 'message' => 'Specified route table does not exist.', 'http_code' => null, 'description' => 'The specified route table does not exist.'], ['code' => 'InvalidSecondaryCidrBlock.NotFound', 'message' => 'SecondaryCidrBlock [%s] is not found.', 'http_code' => 400, 'description' => 'The secondary CIDR block to be deleted cannot be found.'], ['code' => 'InvalidSecondaryCidrBlock.NotFound', 'message' => 'The specified SecondaryCidrBlock was not found.', 'http_code' => 400, 'description' => 'The specified secondary CIDR block is not found.'], ['code' => 'InvalidServiceLocation.Mismatch', 'message' => 'The specified ServiceLocation does not match the region.', 'http_code' => null, 'description' => 'The specified service region does not match the current region.'], ['code' => 'InvalidServiceLocation.ValueNotSupported', 'message' => 'The specified ServiceLocation is not supported.', 'http_code' => null, 'description' => 'The specified service region is not supported.'], ['code' => 'InvalidSnatEntryId.NotFound', 'message' => 'Specified SNAT entry does not exist.', 'http_code' => null, 'description' => 'The specified SNAT entry does not exist. Check whether the SNAT entry is valid.'], ['code' => 'InvalidSnatEntryId.NotFound', 'message' => 'Specified Snat entry ID does not exist', 'http_code' => null, 'description' => 'The specified SNAT entry does not exist. Check whether the SNAT entry is valid.'], ['code' => 'InvalidSnatIp.Malformed', 'message' => 'The specified SnatIp is not a valid IP address.', 'http_code' => null, 'description' => 'The specified EIP is invalid.'], ['code' => 'InvalidSnatIp.NotFound', 'message' => 'Specified SnatIp does not found on the NAT Gateway', 'http_code' => null, 'description' => 'The public IP address does not exist in the NAT gateway.'], ['code' => 'InvalidSnatTableId.NotFound', 'message' => 'Specified SNAT table does not exist.', 'http_code' => null, 'description' => 'The specified SNAT table does not exist.'], ['code' => 'InvalidSpec.ValudNotSupported', 'message' => 'The specified Spec is not supported.', 'http_code' => null, 'description' => 'The specification does not support this operation. Change the specification and try again.'], ['code' => 'InvalidSpec.ValueNotSupported', 'message' => 'The specified Spec is not supported.', 'http_code' => 400, 'description' => 'The router interface specification is invalid.'], ['code' => 'InvalidSslVpnServerCertId.NotFound', 'message' => 'The parameter is incorrect. The corresponding SSL VPN server certificate cannot be found.', 'http_code' => 400, 'description' => 'The parameter is incorrect. The corresponding SSL VPN server certificate cannot be found.'], ['code' => 'InvalidStartTime.Malformed', 'message' => 'The specified parameter "StartTime" is not valid.', 'http_code' => null, 'description' => 'The start time is invalid.'], ['code' => 'InvalidStartTime.Malformed', 'message' => 'Specified start time is malformed.', 'http_code' => null, 'description' => 'The start time is invalid.'], ['code' => 'InvalidStartTime.TooEarly', 'message' => 'The specified parameter "StartTime" is too early.', 'http_code' => null, 'description' => 'The start time is invalid.'], ['code' => 'InvalidStatus', 'message' => 'invalid physical connection status.', 'http_code' => null, 'description' => 'The Express Connect circuit is in an invalid state.'], ['code' => 'InvalidStatus', 'message' => 'RouterInterface can be operated by this action only when the status is Active,Idle or Inactive.', 'http_code' => 400, 'description' => 'RouterInterface can be operated by this action only when the status is Active,Idle or Inactive.'], ['code' => 'InvalidStatus.CannotOperate', 'message' => 'invalid status cannot operate', 'http_code' => null, 'description' => 'You cannot perform the operation when the specified resource is in the current state.'], ['code' => 'InvalidStatus.EcsStatusNotSupport', 'message' => 'The special instance status Pending is not support operate', 'http_code' => 400, 'description' => 'The operation is not supported because the instance is suspended.'], ['code' => 'InvalidStatus.EniStatusNotSupport', 'message' => 'The status of the specified Eni does not support the operation.', 'http_code' => 400, 'description' => 'The current ENI status does not support this operation.'], ['code' => 'InvalidStatus.NatGateway', 'message' => 'nat gateway status is incorrect.', 'http_code' => 400, 'description' => 'the nat gateway status is incorrect.'], ['code' => 'InvalidStatus.NotAllow', 'message' => 'Bind instance status invalid', 'http_code' => 400, 'description' => 'The status of the associated instance is invalid.'], ['code' => 'InvalidStatus.NotAllowed', 'message' => 'The virtual border has been associated by physicalConnection.', 'http_code' => null, 'description' => 'The VBR is associated with an Express Connect circuit.'], ['code' => 'InvalidStatus.NotAllowed', 'message' => 'Invalid virtual border router status.', 'http_code' => null, 'description' => 'The current VBR status does not support this operation.'], ['code' => 'InvalidStatus.SnatOrDnat', 'message' => 'Operation failed because snat or dnat in unstable status.', 'http_code' => 400, 'description' => 'The EIP failed to be disassociated because the SNAT or DNAT entry is in an unstable state.'], ['code' => 'InvalidStatus.StatusNotEnabled', 'message' => 'The physical connection status is invalid.', 'http_code' => null, 'description' => 'The status of the Express Connect circuit does not support this operation. Check the status of the Express Connect circuit.'], ['code' => 'InvalidStatus.vbrAttatchToEcr', 'message' => 'Invalid virtual border router ecr status.', 'http_code' => 400, 'description' => 'VBR and ECR are bound, please unbind first'], ['code' => 'InvalidTagKey', 'message' => 'The tag keys are not valid.', 'http_code' => 400, 'description' => 'The tag index is invalid.'], ['code' => 'InvalidTagKey.Malformed', 'message' => 'The specified tag key is invalid.', 'http_code' => 400, 'description' => 'Invalid tag key value. Specify a valid tag key value and try again.'], ['code' => 'InvalidTagScope.NotFound', 'message' => 'The tag scope is not found', 'http_code' => 400, 'description' => 'The resource scope is invalid.'], ['code' => 'InvalidTagValue', 'message' => 'The tag values are not valid.', 'http_code' => 400, 'description' => 'The tag value is invalid.'], ['code' => 'InvalidTransitRouterMode.NeedUpgrade', 'message' => 'TransitRouter need to upgrade.', 'http_code' => 400, 'description' => 'The transit router does not support this operation. Upgrade the transit router and try again.'], ['code' => 'InvalidTunnelCidr.Malformed', 'message' => 'The specified TunnelCidr is malformed.', 'http_code' => 400, 'description' => 'The specified tunnel CIDR block is invalid.'], ['code' => 'InvalidType.Malformd', 'message' => 'The Type provided was invalid.', 'http_code' => null, 'description' => 'Type is set to an invalid value.'], ['code' => 'InvalidUserCidr.Malformed', 'message' => 'Specified UserCird status is wrong', 'http_code' => null, 'description' => 'UserCidr is set to an invalid value.'], ['code' => 'InvalidUserCidr.Malformed', 'message' => 'Specified UserCidr overlapping in of 100.64.0.0/10.', 'http_code' => 400, 'description' => 'The user CIDR block that you specify overlaps with 100.64.0.0/10.'], ['code' => 'InvalidUserCidr.Quota', 'message' => 'Specified UserCidr number is greater than 3.', 'http_code' => null, 'description' => 'The number of user CIDR blocks that you specify has reached the upper limit.'], ['code' => 'InvalidUserCidr.Quota', 'message' => 'The number of user CIDR blocks that you specify has reached the quota limit.', 'http_code' => 400, 'description' => 'The number of user CIDR blocks has reached the upper limit.'], ['code' => 'InvalidVbrId.NotFound', 'message' => 'The specified VirutalBorderRouter is not found.', 'http_code' => null, 'description' => 'The VBR does not exist. Check the VBR ID.'], ['code' => 'InvalidVbrId.NotFound', 'message' => 'The specified VirutalBorderRouter or PhysicalConnection does not exist in our records.', 'http_code' => null, 'description' => 'The VBR or the Express Connect circuit does not exist.'], ['code' => 'InvalidVbrId.NotFound', 'message' => 'The specified VirutalBorderRouter does not exist in our records.', 'http_code' => null, 'description' => 'The VBR does not exist. Check the VBR ID.'], ['code' => 'InvalidVbrNetwork', 'message' => 'vbr netowrk not exists', 'http_code' => null, 'description' => 'The VBR does not exist. Check the VBR ID.'], ['code' => 'InvalidVbrOwnerId.NotFound', 'message' => 'The specified VbrOwnerId is not valid.', 'http_code' => null, 'description' => 'VbrOwnerId is set to an invalid value.'], ['code' => 'InvalidVBRStatus', 'message' => 'invalid virtual border router status.', 'http_code' => null, 'description' => 'The VBR is in an invalid state.'], ['code' => 'InvalidVlanId.Malformed', 'message' => 'The specified VlanId is not valid.', 'http_code' => null, 'description' => 'VlanId is set to an invalid value.'], ['code' => 'InvalidVlanId.Used', 'message' => 'The specified VlanId has been used.', 'http_code' => null, 'description' => 'The VLAN ID is in use.'], ['code' => 'InvalidVPC.NotFound', 'message' => 'vpc not exists.', 'http_code' => null, 'description' => 'The VPC does not exist. Check whether the specified VPC is valid.'], ['code' => 'InvalidVpc.NotFound', 'message' => 'The specified VPC is not found.', 'http_code' => 400, 'description' => ''], ['code' => 'InvalidVpc.NotFound', 'message' => 'The specified VPC was not found.', 'http_code' => 400, 'description' => ''], ['code' => 'InvalidVpcDiscription.Malformed', 'message' => 'Specified VPC description is not valid.', 'http_code' => null, 'description' => 'The format of the VPC description is invalid.'], ['code' => 'InvalidVpcId.NotFound', 'message' => 'Specified value of VpcId is not found in our record.', 'http_code' => 404, 'description' => 'The VPC does not exist. Check whether the specified VPC is valid.'], ['code' => 'InvalidVpcId.NotFound', 'message' => 'Specified VPC does not exist.', 'http_code' => null, 'description' => 'The specified VPC does not exist.'], ['code' => 'InvalidVpcId.NotFound', 'message' => '%s [%s] is not found.', 'http_code' => 400, 'description' => 'The specified VpcId instance does not exist'], ['code' => 'InvalidVpcId.NotFound', 'message' => 'The specified VPC was not found.', 'http_code' => 400, 'description' => 'The specified VPC-connected instance was not found.'], ['code' => 'InvalidVpcIdNumber.NotSupported', 'message' => 'The number of vpcIds exceeds the limit.', 'http_code' => 400, 'description' => 'The value of the vpcId parameter has reached the upper limit.'], ['code' => 'InvalidVpcName.Malformed', 'message' => 'Specified VPC name is not valid.', 'http_code' => null, 'description' => 'The format of the VPC name is invalid. Enter a valid VPC name and try again.'], ['code' => 'InvalidVPCStatus', 'message' => 'vpc incorrect status.', 'http_code' => null, 'description' => 'The VPC is in an invalid state.'], ['code' => 'InvalidVpnConnection.AlreadyExists', 'message' => 'Vpn connection already exists.', 'http_code' => null, 'description' => 'Vpn connection already exists.'], ['code' => 'InvalidVpnConnectionInstanceId.NotFound', 'message' => 'The specified vpn connection instance id does not exist.', 'http_code' => 404, 'description' => 'The specified vpn connection instance id does not exist.'], ['code' => 'InvalidVpnGatewayInstanceId.NotFound', 'message' => 'The specified vpn gateway instance id does not exist.', 'http_code' => 400, 'description' => 'The specified VPN gateway does not exist. Check whether the specified VPN gateway is valid.'], ['code' => 'InvalidVpnInstanceId.NotFound', 'message' => 'The specified VPN was not found.', 'http_code' => 400, 'description' => 'The specified VPN instance was not found.'], ['code' => 'InvalidVpnInternetIp.NotFound', 'message' => 'The specified VPN IP does not exist.', 'http_code' => 404, 'description' => 'The VPN gateway IP does not exist.'], ['code' => 'InvalidVpnRouteEntry.NotFound', 'message' => 'The specified route entry does not exist.', 'http_code' => 400, 'description' => 'The error message returned because the specified route does not exist.'], ['code' => 'InvalidVRouter.NotFound', 'message' => 'vRouter not exists.', 'http_code' => null, 'description' => 'The specified vRouter does not exist. Check whether the specified vRouter is valid.'], ['code' => 'InvalidVRouterDescription.Malformed', 'message' => 'Specified virtual router description is not valid.', 'http_code' => 400, 'description' => 'The router description is invalid.'], ['code' => 'InvalidVRouterDiscription.Malformed', 'message' => 'Specified virtual router description is not valid.', 'http_code' => null, 'description' => 'The description format of the specified vRouter is invalid.'], ['code' => 'InvalidVRouterId.NotFound', 'message' => 'Specified virtual router does not exist.', 'http_code' => null, 'description' => 'The specified vRouter does not exist. Check whether the specified vRouter is valid.'], ['code' => 'InvalidVRouterName.Malformed', 'message' => 'Specified virtual router name is not valid.', 'http_code' => null, 'description' => 'The name format of the specified vRouter is invalid.'], ['code' => 'InvalidVSwitch.NotFound', 'message' => 'The specified vSwitch is not found.', 'http_code' => 400, 'description' => 'The specified vSwitch does not exist.'], ['code' => 'InvalidVSwitchDiscription.Malformed', 'message' => 'Specified virtual switch description is not valid.', 'http_code' => null, 'description' => 'The vSwitch description is invalid.'], ['code' => 'InvalidVSwitchDiscription.Malformed', 'message' => 'Specified virtual switch description is not valid.', 'http_code' => 400, 'description' => 'The format of the vSwitch description is invalid.'], ['code' => 'InvalidVSwitchId.FirstVswitchIpNotEnough', 'message' => 'The ip of vswitch1 not enough.', 'http_code' => 400, 'description' => 'Insufficient number of available IPs in primary vSwitch.'], ['code' => 'InvalidVSwitchId.FirstVswitchNotSupport', 'message' => 'The available zone of vswitch1 not supported.', 'http_code' => 400, 'description' => 'The zone where the primary vSwitch is located is not supported.'], ['code' => 'InvalidVSwitchId.FirstVswitchNotSupport', 'message' => 'The zone of vSwitch does not support creating a ha-tunnel VPN.', 'http_code' => 400, 'description' => 'The zone of the vSwitch does not support a dual-tunnel VPN gateway. Specify another vSwitch.'], ['code' => 'InvalidVSwitchId.NotFound', 'message' => 'The specified virtual switch does not exists.', 'http_code' => null, 'description' => 'The vSwitch does not exist.'], ['code' => 'InvalidVSwitchId.NotFound', 'message' => 'The specified virtual switch not found.', 'http_code' => null, 'description' => 'The vSwitch does not exist.'], ['code' => 'InvalidVSwitchId.NotFound', 'message' => 'VSwitch not exist.', 'http_code' => null, 'description' => 'The error message returned because the specified vSwitch does not exist. Check whether the specified vSwitch ID is valid.'], ['code' => 'InvalidVSwitchId.NotFound', 'message' => 'The specified VSwitch does not exist in the specified region.', 'http_code' => null, 'description' => 'The vSwitch does not exist in the specified region.'], ['code' => 'InvalidVSwitchId.SecondVswitchIpNotEnough', 'message' => 'The ip of vswitch2 not enough.', 'http_code' => 400, 'description' => 'Insufficient IP addresses are available in the standby vSwitch.'], ['code' => 'InvalidVSwitchId.SecondVswitchNotSupport', 'message' => 'The available zone of vswitch2 not supported.', 'http_code' => 400, 'description' => 'The zone of the secondary vSwitch does not support the feature.'], ['code' => 'InvalidVSwitchId.SecondVswitchNotSupport', 'message' => 'when creating a vpn gateway for this region, you cannot enter the second vswitch id.', 'http_code' => 400, 'description' => 'when creating a vpn gateway for this region, you cannot enter the second vswitch id.'], ['code' => 'InvalidVSwitchId.VswitchIdShouldDifferent', 'message' => 'The VSwitch ids should be different.', 'http_code' => 400, 'description' => 'The primary zone cannot be the same as the secondary zone.'], ['code' => 'InvalidVSwitchId.ZoneIdShouldDifferent', 'message' => 'Two vSwitches should belong to different Availability Zones.', 'http_code' => 400, 'description' => 'When you create a dual-tunnel VPN gateway, the two vSwitches that you specify must belong to different zones.'], ['code' => 'InvalidVSwitchId.ZoneIdShouldDifferent', 'message' => 'the available zone of vswitch1 and vswitch2 should be different.', 'http_code' => 400, 'description' => 'When creating a double-tunnel VPN, the two zones of the inbound parameters should be different.'], ['code' => 'InvalidVSwitchName.Malformed', 'message' => 'Specified virtual switch name is not valid.', 'http_code' => 400, 'description' => 'The format of the specified vSwitch name is invalid. Specify the name in the valid format.'], ['code' => 'InvalidZoneId.DisasterZoneNotSupport', 'message' => 'the disaster available zone not support.', 'http_code' => 400, 'description' => 'the zone for dual-tunnel disaster recovery is not supported.'], ['code' => 'InvalidZoneId.FirstZoneNotSupport', 'message' => 'the first available zone not support.', 'http_code' => 400, 'description' => 'The first available zone of the input parameter is not available.'], ['code' => 'InvalidZoneId.NotFound', 'message' => 'Specified value of ZoneId is not exists.', 'http_code' => null, 'description' => 'The specified zone does not exist.'], ['code' => 'InvalidZoneId.NotFound', 'message' => 'Specified zone does not exist.', 'http_code' => null, 'description' => 'The zone ID is invalid.'], ['code' => 'InvalidZoneId.NotFound', 'message' => 'Can not find ZoneId for allocated ip.', 'http_code' => null, 'description' => 'The zone of the specified IP address is invalid.'], ['code' => 'INVALID_COMPONENT', 'message' => null, 'http_code' => null, 'description' => 'This instance type is unavailable for this account.'], ['code' => 'INVALID_PARAMETER', 'message' => 'The parameter invalid.', 'http_code' => null, 'description' => 'A parameter is set to an invalid value.'], ['code' => 'INVALID_VPC_ID', 'message' => 'The Specified VpcId not match.', 'http_code' => 400, 'description' => 'The specified VPC does not exist.'], ['code' => 'INVALID_WEIGHT_PARAM', 'message' => 'Specified value of weight invalid', 'http_code' => null, 'description' => 'The specified weight is invalid.'], ['code' => 'InvokeError', 'message' => 'instance quota rule invoke error.', 'http_code' => 400, 'description' => 'Failed to get rule data, please wait zai shi'], ['code' => 'Ip.Allocated', 'message' => 'The reserve ip has been allocated.', 'http_code' => 400, 'description' => 'Reserved IP addresses are already specified.'], ['code' => 'IpConflict', 'message' => 'Client IP pool conflict with other SSL VPN server in the same VPC.', 'http_code' => 400, 'description' => 'The client IP address pool conflicts with SSL servers in the same VPC.'], ['code' => 'IpConflict', 'message' => 'Client IP pool conflict with local IP range.', 'http_code' => 400, 'description' => 'The client IP pool conflicts with the local IP range.'], ['code' => 'IpInstanceId.AlreadyInBandwidthPackage', 'message' => null, 'http_code' => null, 'description' => 'The EIP is already associated with the EIP bandwidth plan.'], ['code' => 'IpInstanceId.AlreadyInBandwidthPackage', 'message' => 'The specified Eip InstanceId is already added to the bandwidth package.', 'http_code' => 400, 'description' => 'The EIP is already associated with an EIP bandwidth plan.'], ['code' => 'IpInstanceId.AlreadyInBandwidthPackage', 'message' => 'The specified Eip InstanceId already in bandwidthPackage.', 'http_code' => 400, 'description' => 'The specified Eip InstanceId already in bandwidthPackage.'], ['code' => 'IpInstanceId.AlreadyOutsideBandwidthPackage', 'message' => 'The eip instance is already outside bandwidth package.', 'http_code' => 400, 'description' => 'The eip instance is already outside bandwidth package.'], ['code' => 'IpInstanceId.BizStatusInvalid', 'message' => null, 'http_code' => null, 'description' => 'The specified EIP is disabled.'], ['code' => 'IpInstanceId.BizStatusInvalid', 'message' => 'The specified EIP BizStatus is incorrect.', 'http_code' => 400, 'description' => 'The EIP is in an invalid state.'], ['code' => 'IpInstanceId.ChargeType.NotSupport', 'message' => null, 'http_code' => null, 'description' => 'The EIP uses the subscription billing method.'], ['code' => 'IpInstanceId.ChargeType.NotSupport', 'message' => 'You cannot add subscription EIP instance to the bandwidth package.', 'http_code' => 400, 'description' => 'You cannot add subscription EIP instance to the bandwidth package.'], ['code' => 'IpInstanceId.InvalidIpInternetChargeType', 'message' => 'You cannot add the hybrid cloud EIP to a pay by traffic bandwidth package.', 'http_code' => 400, 'description' => 'You cannot add the hybrid cloud EIP to a pay by traffic bandwidth package.'], ['code' => 'IpInstanceId.NotBandwidthPackage', 'message' => null, 'http_code' => null, 'description' => 'The EIP is not associated with an EIP bandwidth plan.'], ['code' => 'IpInstanceId.QuotaExceeded', 'message' => null, 'http_code' => null, 'description' => 'The number of EIPs associated with the EIP bandwidth plan exceeds the upper limit.'], ['code' => 'IpInstanceId.QuotaExceeded', 'message' => 'The maximum number of EIP that you can add to the bandwidth package is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of EIP that you can add to the bandwidth package is exceeded.'], ['code' => 'LastTokenProcessing', 'message' => 'The last token request is processing.', 'http_code' => null, 'description' => 'A token request is being processed. Try again later.'], ['code' => 'LimitationExceed.InterfaceNumberOnRouter', 'message' => 'Total number of RouterInterfaces on a Router exceeded.', 'http_code' => null, 'description' => 'The number of router interfaces reaches the quota.'], ['code' => 'LinkRole.NotSupport', 'message' => 'This linkrole is not supported', 'http_code' => null, 'description' => 'This link is not supported.'], ['code' => 'MaintenanceEvent.EventNotExist', 'message' => 'Maintenance event is not exist.', 'http_code' => 404, 'description' => 'Maintenance event is not exist.'], ['code' => 'MaintenanceEvent.ExecuteTimeShouldBeforeLatestTime', 'message' => 'The specified execution time of event must be before the latest execution time.', 'http_code' => 400, 'description' => 'The specified execution time must be before the latest execution time.'], ['code' => 'MCMS_VBR_EMPTY', 'message' => 'Specified region have no vbr.', 'http_code' => null, 'description' => 'No VBR exists in the region. Select another region and try again.'], ['code' => 'MCMS_VPC_EMPTY', 'message' => 'Specified region have no vpc.', 'http_code' => null, 'description' => 'No VPC exists in the region. Specify another region and try again.'], ['code' => 'Mismatch.%sAnd%s', 'message' => 'The %s and %s are mismatched.', 'http_code' => 400, 'description' => 'The parameter does not match. Check the parameter.'], ['code' => 'Mismatch.CbwpZoneAndCloudBoxEipZone', 'message' => 'The CbwpZone and EipZone are mismatched.', 'http_code' => 400, 'description' => 'The EIP bandwidth plan of the cloud box does not match the zone of the EIP.'], ['code' => 'Mismatch.CloudBoxCbwpZoneAndEipZone', 'message' => 'The CbwpZone and EipZone are mismatched.', 'http_code' => 400, 'description' => 'The EIP bandwidth plan of the cloud box does not match the zone of the EIP.'], ['code' => 'Mismatch.EipSecurityProtectionTypeAndPoolSecurityProtectionType', 'message' => 'The EipSecurityProtectionType and PoolSecurityProtectionType are mismatched.', 'http_code' => 400, 'description' => 'The EIP protection type does not match the address pool protection type.'], ['code' => 'Mismatch.EniIdAndRouteTableId', 'message' => 'The operation is not allowed because eni and route table not in same vpc.', 'http_code' => 400, 'description' => 'The operation is not allowed because eni and route table not in same vpc.'], ['code' => 'Mismatch.HaVipIdAndRouteTableId', 'message' => 'The HaVip and RouteTable are mismatched.', 'http_code' => 400, 'description' => 'The specified HAVIP and route table do not belong to the same VPC.'], ['code' => 'Mismatch.IpAndBandwidthPackage', 'message' => 'The IP does not match the bandwidth package and is not in the specified bandwidth package.', 'http_code' => 400, 'description' => 'The IP does not match the bandwidth package and is not in the specified bandwidth package.'], ['code' => 'Mismatch.IpAndIsp', 'message' => 'The specified IP address does not match the ISP.', 'http_code' => 400, 'description' => 'The system failed to allocate the specified EIP because the ISP and IP address do not match.'], ['code' => 'Mismatch.Ipv4GatewayIdAndRouteTableId', 'message' => 'The specified IPv4Gateway and RouteTable are not matched.', 'http_code' => 400, 'description' => 'The operation failed because the IPv4 gateway and route table do not belong to the same VPC.'], ['code' => 'Mismatch.Ipv6AddressAndIpv6Gateway', 'message' => 'The %s and %s are mismatched.', 'http_code' => 400, 'description' => 'Specified Ipv6Address and Ipv6Gateway are not in the same VPC'], ['code' => 'Mismatch.IpVersionAndIpamPoolIpVersion', 'message' => 'The input IpVersion is inconsistent with the IpVersion of the input IPAM pool.', 'http_code' => 400, 'description' => 'The input IpVersion is inconsistent with the IpVersion of the input IPAM pool.'], ['code' => 'Mismatch.NatIpAndNatIpCidr', 'message' => 'The %s and %s are mismatched.', 'http_code' => 400, 'description' => 'The specified %s and %s do not match.'], ['code' => 'Mismatch.NetworkAclAndVSwitch', 'message' => 'The specified network ACL and vSwitch are not matched.', 'http_code' => 400, 'description' => 'The error message returned because the specified network ACL is not associated with the vSwitch.'], ['code' => 'Mismatch.ResourceRegionAndServiceRegion', 'message' => 'The region where the resource is located is inconsistent with the region where the service is called.', 'http_code' => 400, 'description' => 'The region where the resource is located is inconsistent with the region where the service is called.'], ['code' => 'Mismatch.VSwitchAndPrivateIpAddress', 'message' => 'The vswitch and privateIpAddress are mismatched.', 'http_code' => 400, 'description' => 'The specified private IP address does not match the vSwitch.'], ['code' => 'MissingParam', 'message' => 'MissingParameter %s', 'http_code' => 400, 'description' => 'The error message returned because one or more required parameters are not set.'], ['code' => 'MissingParam', 'message' => 'Miss mandatory parameter.', 'http_code' => 400, 'description' => 'A required parameter is missing.'], ['code' => 'MissingParam.%s', 'message' => 'The param of %s is missing.', 'http_code' => 400, 'description' => 'The required parameter is not set.'], ['code' => 'MissingParam.Action', 'message' => 'You must specify Action.', 'http_code' => 400, 'description' => 'No action is specified.'], ['code' => 'MissingParam.AliUid', 'message' => 'You must specify AliUid.', 'http_code' => 400, 'description' => 'You must specify AliUid.'], ['code' => 'MissingParam.AliUid', 'message' => 'AliUid is missing.', 'http_code' => 400, 'description' => 'The AliUid parameter is not set.'], ['code' => 'MissingParam.aliUid', 'message' => 'The param of aliUid is missing.', 'http_code' => 400, 'description' => ''], ['code' => 'MissingParam.AssociatedInstanceId', 'message' => 'The param of AssociatedInstanceId is missing when AssociatedInstanceType is specified.', 'http_code' => 400, 'description' => 'Missing parameter AssociatedInstanceId'], ['code' => 'MissingParam.Bandwidth', 'message' => 'You must specify Bandwidth.', 'http_code' => 400, 'description' => 'You must specify Bandwidth.'], ['code' => 'MissingParam.Bandwidth', 'message' => 'Missing param of Bandwidth.', 'http_code' => 400, 'description' => 'The Bandwidth parameter is not set.'], ['code' => 'MissingParam.bid', 'message' => 'The param of bid is missing.', 'http_code' => 400, 'description' => 'The bid parameter is missing.'], ['code' => 'MissingParam.BindInstanceId', 'message' => 'The param of BindInstanceId is missing.', 'http_code' => 400, 'description' => 'The parameter BindInstanceId is missing.'], ['code' => 'MissingParam.CidrBlockOrCidrMask', 'message' => 'CidrBlock or CidrMask is not specified.', 'http_code' => 400, 'description' => 'The system failed to add the CIDR block to the address pool because the CIDR block or the subnet mask is not specified.'], ['code' => 'MissingParam.CidrOrCidrMask', 'message' => 'The CIDR or CIDR Mask must be input.', 'http_code' => 400, 'description' => 'The CIDR or CIDR Mask must be input.'], ['code' => 'MissingParam.CidrReservationMaskOrCidrReservationCidr', 'message' => 'Either VSwitchCidrReservationMask or VSwitchCidrReservationCidr should be specified.', 'http_code' => 400, 'description' => 'You cannot leave both the VSwitchCidrReservationMask and VSwitchCidrReservationCidr parameters empty. Set a value and try again.'], ['code' => 'MissingParam.ConstructionTime', 'message' => 'The parameter ConstructionTime is mandatory.', 'http_code' => 400, 'description' => 'You must specify the start time.'], ['code' => 'MissingParam.context', 'message' => 'The param of context is missing.', 'http_code' => 400, 'description' => 'The context parameter is missing.'], ['code' => 'MissingParam.CustomerGatewayAsn', 'message' => 'Asn of customer gateway is mandatory when BGP is enabled.', 'http_code' => 400, 'description' => 'The ASN of the customer gateway cannot be empty when you enable BGP.'], ['code' => 'MissingParam.Description', 'message' => 'You must specify Description.', 'http_code' => 400, 'description' => 'You must specify Description.'], ['code' => 'MissingParam.DstCidrBlock', 'message' => 'You must specify destination CIDR block.', 'http_code' => 400, 'description' => 'The error message returned because no destination CIDR block is specified.'], ['code' => 'MissingParam.EnableIpv6', 'message' => 'The input parameter EnableIpv6 that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'Missing EnableIpv6 parameter'], ['code' => 'MissingParam.EnableIpv6', 'message' => 'The param of EnableIpv6 is missing.', 'http_code' => 400, 'description' => 'The EnableIpv6 parameter is missing.'], ['code' => 'MissingParam.FilterId', 'message' => 'You must specify filter instance ID.', 'http_code' => 400, 'description' => 'The filter instance ID parameter is not specified.'], ['code' => 'MissingParam.FullnatTableIdOrNatGatewayId', 'message' => 'FullnatTableId and natGatewayId can not both be null', 'http_code' => 400, 'description' => 'FullnatTableId and natGatewayId cannot be empty at the same time.'], ['code' => 'MissingParam.IDaaSApplicationId', 'message' => 'The input parameter IDaaSApplicationId is mandatory when enable multi-factor authentication.', 'http_code' => 400, 'description' => 'Enter the IDaaSApplicationId parameters when starting two-factor authentication.'], ['code' => 'MissingParam.IDaaSInstanceId', 'message' => 'The input parameter IDaaSInstanceId is mandatory when enable multi-factor authentication.', 'http_code' => 400, 'description' => 'You must specify the IDaaS instance ID when two-factor authentication is enabled.'], ['code' => 'MissingParam.IDaaSRegionId', 'message' => 'The input parameter IDaaSRegionId is mandatory when enable multi-factor authentication.', 'http_code' => 400, 'description' => 'Enter the IDaaSRegionId parameters when starting two-factor authentication.'], ['code' => 'MissingParam.InstanceId', 'message' => 'You must specify InstanceId.', 'http_code' => 400, 'description' => 'Missing param of InstanceId.'], ['code' => 'MissingParam.InstanceId', 'message' => 'Missing param of InstanceId.', 'http_code' => 400, 'description' => 'The InstanceId parameter is not set.'], ['code' => 'MissingParam.InstanceId', 'message' => 'The parameter InstanceId is mandatory.', 'http_code' => 400, 'description' => 'You must specify the Express Connect circuit ID.'], ['code' => 'MissingParam.InstanceId', 'message' => 'The param of InstanceId can\'t be null or empty.', 'http_code' => 400, 'description' => 'InstanceId cannot be empty'], ['code' => 'MissingParam.Ipv6CidrBlock', 'message' => 'The parameter Ipv6CidrBlock is mandatory.', 'http_code' => 400, 'description' => 'The Ipv6CidrBlock parameter is required.'], ['code' => 'MissingParam.Ipv6InstanceId', 'message' => 'The param of Ipv6InstanceId is missing.', 'http_code' => 400, 'description' => 'The error message returned because Ipv6InstanceId is not set.'], ['code' => 'MissingParam.IpVersion', 'message' => 'The parameter IpVersion is missing.', 'http_code' => 400, 'description' => 'The parameter IpVersion is missing.'], ['code' => 'MissingParam.Name', 'message' => 'You must specify Name.', 'http_code' => 400, 'description' => 'You must specify Name.'], ['code' => 'MissingParam.NatGatewayId', 'message' => 'You must specify NatGatewayId.', 'http_code' => 400, 'description' => 'You must specify NatGatewayId.'], ['code' => 'MissingParam.NetworkInterfaceId', 'message' => 'The input parameter NetworkInterfaceId that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'You need to specify NetworkInterfaceId parameters when creating a Snat rule for NAT with the private network link service enabled.'], ['code' => 'MissingParam.NewNextHopId', 'message' => 'The parameter NewNextHopId is mandatory.', 'http_code' => 400, 'description' => 'The next hop instance ID is not specified when you modify the next hop.'], ['code' => 'MissingParam.NewNextHopType', 'message' => 'The parameter NewNextHopType is mandatory.', 'http_code' => 400, 'description' => 'The next hop type is not specified when you modify the next hop.'], ['code' => 'MissingParam.ParameterMustNotNull', 'message' => '%s, %s.', 'http_code' => 400, 'description' => 'Missing parameter that must be passed in.'], ['code' => 'MissingParam.PeerIpAddress', 'message' => 'The param of PeerIpAddress is missing.', 'http_code' => 400, 'description' => 'The peer IP address is not specified.'], ['code' => 'MissingParam.PhysicalConnectionId', 'message' => 'You must specify PhysicalConnectionId.', 'http_code' => 400, 'description' => 'You must specify PhysicalConnectionId.'], ['code' => 'MissingParam.PhysicalConnectionId', 'message' => 'PhysicalConnectionId is missing.', 'http_code' => 400, 'description' => 'The PhysicalConnectionId is not set.'], ['code' => 'MissingParam.PMInfo', 'message' => 'The parameter PMInfo is mandatory.', 'http_code' => 400, 'description' => 'You must specify the engineer information.'], ['code' => 'MissingParam.Priority', 'message' => 'You must specify Priority.', 'http_code' => 400, 'description' => 'No priority is specified.'], ['code' => 'MissingParam.Protocol', 'message' => 'You must specify Protocol.', 'http_code' => 400, 'description' => 'No protocol is specified.'], ['code' => 'MissingParam.PublicIpAddressPoolId', 'message' => 'The parameter PublicIpAddressPoolId is missing.', 'http_code' => 400, 'description' => 'The parameter PublicIpAddressPoolId is missing.'], ['code' => 'MissingParam.RegionNo', 'message' => 'You must specify RegionNo.', 'http_code' => 400, 'description' => 'You must specify RegionNo.'], ['code' => 'MissingParam.RegionNo', 'message' => 'RegionNo is missing.', 'http_code' => 400, 'description' => 'The RegionNo parameter is not set.'], ['code' => 'MissingParam.RemoteId', 'message' => 'The remote ID is mandatory when creating national standard VPN connection.', 'http_code' => 400, 'description' => 'The error message returned because the peer ID is not specified. You must specify the peer ID when you create a VPN connection encrypted by SM.'], ['code' => 'MissingParam.ReservedCidrOrReservedCidrMask', 'message' => 'MissingParam.ReservedCidrOrReservedCidrMask', 'http_code' => 400, 'description' => 'The error message returned because you must set one of the ReservedCidr and ReservedCidrMask parameters.'], ['code' => 'MissingParam.Resource', 'message' => 'Missing parameter Resource.', 'http_code' => 400, 'description' => 'Missing parameter Resource'], ['code' => 'MissingParam.ResourceType', 'message' => 'The param of ResourceType is missing.', 'http_code' => 400, 'description' => 'ResourceType is not specified.'], ['code' => 'MissingParam.RouteEntries', 'message' => 'The parameter RouteEntries is missing.', 'http_code' => 400, 'description' => 'Missing parameter RouteEntries'], ['code' => 'MissingParam.RouteEntryId', 'message' => 'The param of %s is missing.', 'http_code' => 400, 'description' => 'Missing required parameters'], ['code' => 'MissingParam.RouteEntryIdOrRouteTableDstCidr', 'message' => '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.', 'http_code' => 400, 'description' => 'The request is missing a required parameter. You must provide RouteEntryId, or both RouteTableId and DestinationCidrBlock.'], ['code' => 'MissingParam.RuleId', 'message' => 'You must specify rule instance ID.', 'http_code' => 400, 'description' => 'The traffic mirroring filter rule instance ID parameter is not specified.'], ['code' => 'MissingParam.Rules', 'message' => 'You must specify rule instance ID.', 'http_code' => 400, 'description' => 'The traffic mirroring filter rule instance ID is not specified.'], ['code' => 'MissingParam.ScheduledMigrationParam', 'message' => 'You must specify the parameters that are required for the scheduled migration.', 'http_code' => 400, 'description' => 'You must specify the parameters that are required for the scheduled migration.'], ['code' => 'MissingParam.SecondaryCidrBlockOrIpv6CidrBlock', 'message' => 'Either SecondaryCidrBlock or Ipv6CidrBlock must be specified.', 'http_code' => 400, 'description' => 'The secondary CIDR block or the IPv6 CIDR block is not specified.'], ['code' => 'MissingParam.SecondaryCidrMask', 'message' => 'The parameter SecondaryCidrMask must be input.', 'http_code' => 400, 'description' => 'SecondaryCidrMask is required.'], ['code' => 'MissingParam.SecondaryCidrOrIpv6Cidr', 'message' => 'Either the SecondaryCidrBlock or the Ipv6CidrBlock parameter is required, but both cannot be entered simultaneously.', 'http_code' => 400, 'description' => 'When you add a secondary CIDR block to a VPC without using an IPAM pool, you must specify either SecondaryCidrBlock or Ipv6CidrBlock, but not both.'], ['code' => 'MissingParam.SnatIp', 'message' => 'The input parameter SnatIp that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'You need to specify the SnatIp parameter when creating a Snat rule for public network NAT or private network NAT.'], ['code' => 'MissingParam.SourceInstanceIds', 'message' => 'You must specify source instance ID.', 'http_code' => 400, 'description' => 'The traffic mirror source instance ID parameter is not specified.'], ['code' => 'MissingParam.Spec', 'message' => 'The param of Spec is missing.', 'http_code' => 400, 'description' => 'The Spec parameter is not set.'], ['code' => 'MissingParam.SrcCidrBlock', 'message' => 'You must specify source CIDR block.', 'http_code' => 400, 'description' => 'The error message returned because no source CIDR block is specified.'], ['code' => 'MissingParam.Tags', 'message' => 'You must specify the Tags parameter.', 'http_code' => 400, 'description' => 'The error message returned because the Tags parameter is not set.'], ['code' => 'MissingParam.Tags', 'message' => 'The Tags parameter is required.', 'http_code' => 400, 'description' => 'The error message returned because the Tags parameter is required.'], ['code' => 'MissingParam.TimePoint', 'message' => 'You must specify TimePoint.', 'http_code' => 400, 'description' => 'You must specify TimePoint.'], ['code' => 'MissingParam.TrafficAnalyzerIdOrLogProjectOrLogStore', 'message' => 'TrafficAnalyzerId and ProjectName and LogStoreName parameters are not passed in.', 'http_code' => 400, 'description' => 'TrafficAnalyzerId and ProjectName and LogStoreName parameters are not passed in.'], ['code' => 'MissingParam.TrafficMirrorRules', 'message' => 'You must specify traffic mirror rules.', 'http_code' => 400, 'description' => 'No filter rule is specified.'], ['code' => 'MissingParam.VbrHaIdOrVbrId', 'message' => 'Missing parameter VBR switch group instance ID or VBR instance ID.', 'http_code' => 400, 'description' => 'Missing parameter VBR switch group instance ID or VBR instance ID.'], ['code' => 'MissingParam.VbrId', 'message' => 'You must specify VbrId.', 'http_code' => 400, 'description' => 'The vbrId parameter is not set.'], ['code' => 'MissingParam.VpcId', 'message' => 'You must specify VpcId.', 'http_code' => 400, 'description' => 'You must specify VpcId.'], ['code' => 'MissingParam.vpcId', 'message' => 'The parameter vpcId is mandatory.', 'http_code' => 400, 'description' => 'The vpcId parameter is required.'], ['code' => 'MissingParam.VSwitchId', 'message' => 'The parameter VSwitchId is missing.', 'http_code' => 400, 'description' => 'The parameter VSwitchId is missing.'], ['code' => 'MissingParam.Zones', 'message' => 'The Zones parameter is required.', 'http_code' => 400, 'description' => 'Zones is required.'], ['code' => 'MissingParameter', 'message' => 'Missing mandatory parameter', 'http_code' => null, 'description' => 'Required parameters are not specified. Check whether you have specified all required parameters before you call this operation.'], ['code' => 'MissingParameter', 'message' => 'Either nexthopId or nextHopList should be specified', 'http_code' => null, 'description' => 'nexthopId or nextHopList is not specified.'], ['code' => 'MissingParameter', 'message' => 'The input parameter is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'Some required parameters are not specified. Specify all required parameters and try again.'], ['code' => 'MissingParameter', 'message' => 'The input parameter \'PhysicalConnectionId\' that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'PhysicalConnectionId is not specified.'], ['code' => 'MissingParameter', 'message' => 'The input parameter \'VlanId\' that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'VlanId is not specified.'], ['code' => 'MissingParameter', 'message' => 'The input parameter \'LocalGatewayIp\' that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'LocalGatewayIp is not specified.'], ['code' => 'MissingParameter', 'message' => 'The input parameter \'PeerGatewayIp\' that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'PeerGatewayIp is not specified.'], ['code' => 'MissingParameter', 'message' => 'The input parameter \'PeeringSubnetMask\' that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'PeeringSubnetMask is not specified.'], ['code' => 'MissingParameter', 'message' => 'LocalGatewayIp', 'http_code' => null, 'description' => 'LocalGatewayIp is not specified.'], ['code' => 'MissingParameter', 'message' => 'Miss mandatory parameter.', 'http_code' => null, 'description' => 'Some required parameters are not specified. Specify all required parameters and try again.'], ['code' => 'MissingParameter', 'message' => null, 'http_code' => null, 'description' => 'Some required parameters are not specified. Specify all required parameters and try again.'], ['code' => 'MissingParameter', 'message' => 'The input parameter OwnerId', 'http_code' => null, 'description' => 'Some required parameters are not specified.'], ['code' => 'MissingParameter', 'message' => 'LocalGatewayIp, peerGatewayIp and peeringSubnetMask must not be null.', 'http_code' => 400, 'description' => 'The following parameters are required but not set: LocalGatewayIp, peerGatewayIp, and peeringSubnetMask.'], ['code' => 'MissingParameter.bandwidth', 'message' => 'portType and bandWidth cannot be null at the same time.', 'http_code' => 400, 'description' => 'The error message returned because you cannot leave the port type and bandwidth value empty at the same time.'], ['code' => 'MissingParameter.BandwidthPackage', 'message' => 'only support one BandwidthPackage be created with NatGateway.', 'http_code' => null, 'description' => 'You must specify an EIP bandwidth plan.'], ['code' => 'MissingParameter.IDaaSInstanceId', 'message' => 'The input parameter IDaaSInstanceId is mandatory when enable multi-factor authentication.', 'http_code' => 400, 'description' => 'You must set the IDaaSInstanceId parameter when you enable two-factor authentication.'], ['code' => 'MissingParameter.TagKey', 'message' => 'The input parameter TagKey that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'The TagKey parameter is not set.'], ['code' => 'MissingParameter.TagValue', 'message' => 'The input parameter TagValue that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'The TagValue parameter is not set.'], ['code' => 'MissingParameter.TunnelCidr', 'message' => 'The parameter TunnelCidr is mandatory when BGP is enabled.', 'http_code' => 400, 'description' => 'You must specify the tunnel CIDR block when you enable BGP.'], ['code' => 'MissingParameter.TunnelOptionsSpecification', 'message' => 'The required parameters are missing when creating a tunnel for dual-tunnel VPN.', 'http_code' => 400, 'description' => 'The required parameters are missing when creating a tunnel for dual-tunnel VPN.'], ['code' => 'ModifyIkeV1WithMultiRoutes.Invalid', 'message' => 'Failed to modify VPN connection parameters. Multi-network is configured while using IkeV1 protocol.', 'http_code' => 400, 'description' => 'Failed to modify VPN connection parameters. Multi-network is configured while using IkeV1 protocol.'], ['code' => 'MultiplePconnSingleVbrNotSupportShutdown', 'message' => 'Vbr for single vbr and multiple pconn scenarios does not support failover test job.', 'http_code' => 400, 'description' => 'The vbr of a single vbr and multiple pconn scenarios does not support failover test job.'], ['code' => 'NATGATEWAY_FINANCIALLOCKED', 'message' => null, 'http_code' => null, 'description' => 'The specified NAT gateway has expired.'], ['code' => 'NATGW_MODIFY_SPEC_SAME', 'message' => 'The specified Spec is same with now.', 'http_code' => null, 'description' => 'The specified gateway size is the same as the current one.'], ['code' => 'NATGW_NOT_EXIST', 'message' => 'The specified NAT gateway does not exist.', 'http_code' => 400, 'description' => 'The specified NAT gateway does not exist.'], ['code' => 'NetworkAclExistBinding', 'message' => 'The Network Acl has bindings.', 'http_code' => 400, 'description' => 'The network ACL is associated with a resource.'], ['code' => 'NetworkStatus.Modifying', 'message' => 'The special Network Acl is in modifying.', 'http_code' => 400, 'description' => 'The network ACL is being modified.'], ['code' => 'NOCARD', 'message' => null, 'http_code' => null, 'description' => 'No payment card is associated.'], ['code' => 'NoPermission.CreateServiceLinkedRole', 'message' => 'You are not authorized to create service linked role.', 'http_code' => 400, 'description' => 'You are not authorized to create a service-linked role.'], ['code' => 'NotFound.BandwidthPackage', 'message' => 'BandwidthPackage is not exist.', 'http_code' => 400, 'description' => 'The specified bandwidth package is not exist.'], ['code' => 'NotSupportLinkrole', 'message' => 'The router interface is not a VLAN interface for connection.', 'http_code' => 405, 'description' => 'You cannot activate the router interface because the router interface is on the user side.'], ['code' => 'NotSupportLinkrole', 'message' => 'This RouterInterface is not a vlan interface for connection.', 'http_code' => 400, 'description' => 'The router interface is not a virtual interface for connection.'], ['code' => 'NotSupportVpnConnectionParameter.IpsecAuthAlg', 'message' => 'The specified vpn connection ipsec Auth Alg is not support.', 'http_code' => 400, 'description' => 'The authentication algorithm specified for the IPsec-VPN connection is not supported.'], ['code' => 'NotSupportVpnConnectionParameter.IpsecPfs', 'message' => 'The specified vpn connection ipsec Ipsec Pfs is not support.', 'http_code' => 400, 'description' => 'The PFS parameter set for the IPsec-VPN connection is not supported.'], ['code' => 'NOT_ALLOW_USE_SOURCECIDR', 'message' => 'The User not in nat_scope_unlimited white list. Cannot use SourceCidr param.', 'http_code' => null, 'description' => 'The private IP address does not fall within the VPC CIDR block.'], ['code' => 'NO_REAL_NAME_AUTHENTICATION', 'message' => null, 'http_code' => null, 'description' => 'The account has not completed real-name verification.'], ['code' => 'nsupportedFeature.VpcNatSecurityProtectionEnabled', 'message' => 'The VPC NAT gateway is not support to enable security protection.', 'http_code' => 400, 'description' => 'You cannot enable security protection for the VPC NAT gateway.'], ['code' => 'nvalidPhysicalConnectionPeriod.Malformed', 'message' => 'Specified Physical Connection Period is not valid.', 'http_code' => 400, 'description' => 'The Period parameter is set to an invalid value.'], ['code' => 'OperationConflict', 'message' => 'Request was denied due to conflict with a previos request.', 'http_code' => 409, 'description' => 'The error message returned because your request is conflicting with another request. Try again later.'], ['code' => 'OperationConflict', 'message' => 'The operation against this instance is too frequent, please try again later.', 'http_code' => 409, 'description' => 'Operations are too frequently performed on the instance. Try again later.'], ['code' => 'OperationConflict', 'message' => 'Request was denied due to conflict with a previous request.', 'http_code' => 409, 'description' => 'The request conflicts with another one. Try again later.'], ['code' => 'OperationDenied', 'message' => 'Eip of default vpc not allow this operation', 'http_code' => null, 'description' => 'The operation is not supported by EIPs in a default VPC.'], ['code' => 'OperationDenied', 'message' => 'The operation is not supported in this status.', 'http_code' => null, 'description' => 'The status of the VPC is invalid and the operation cannot be performed.'], ['code' => 'OperationDenied', 'message' => 'The snapshot creation for the specified disk is not finished yet.', 'http_code' => null, 'description' => 'The snapshot of the specified disk is being created.'], ['code' => 'OperationDenied', 'message' => 'Specified operation is denied as route entry type is system.', 'http_code' => null, 'description' => 'The specified route is a system route.'], ['code' => 'OperationDenied', 'message' => 'Specified instance is not in VPC.', 'http_code' => null, 'description' => 'The specified instance does not exist in the VPC.'], ['code' => 'OperationDenied', 'message' => 'The user cannot allow to create natgw', 'http_code' => null, 'description' => 'You are not allowed to delete system routes.'], ['code' => 'OperationDenied.AccountTypeRestricted', 'message' => 'The operation is denied because your account type is not supported.', 'http_code' => 400, 'description' => 'Your account type does not support this transaction.'], ['code' => 'OperationDenied.AllTrafficPathOfManagedExist', 'message' => '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.', 'http_code' => 400, 'description' => '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.'], ['code' => 'OperationDenied.AlreadyNewest', 'message' => 'The operation is denied because the firmware version of the VPN gateway is already the latest.', 'http_code' => 400, 'description' => 'The operation is denied because the firmware version of the VPN gateway is already the latest.'], ['code' => 'OperationDenied.AssociateGatewayRouteTable', 'message' => 'The operation is not allowed because gateway route tables cannot be bound to a vSwitch.', 'http_code' => 400, 'description' => 'The vSwitch cannot be associated with a gateway route table.'], ['code' => 'OperationDenied.AvailableCidrInsufficient', 'message' => 'The operation is not allowed because available CIDR is insufficient.', 'http_code' => 400, 'description' => 'The operation is not allowed because available CIDR is insufficient.'], ['code' => 'OperationDenied.BetweenFinanceUserAndNormalUser', 'message' => 'Creating VPC connection between financial user and non-financial user is not allowed.', 'http_code' => 400, 'description' => 'Creating VPC connection between financial user and non-financial user is not allowed.'], ['code' => 'OperationDenied.CenAttached', 'message' => 'The operation is not allowed because the VPC is attached to CEN.', 'http_code' => 400, 'description' => 'The operation is not allowed because the VPC is attached to a CEN instance.'], ['code' => 'OperationDenied.CenTypeInvalid', 'message' => 'The operation is not allowed because of Cen type is invalid..', 'http_code' => 400, 'description' => 'You cannot add a route that points to a CEN instance of this type to the route table.'], ['code' => 'OperationDenied.CidrInExcludeCidrs', 'message' => 'The operation is not allowed because the input CIDR is within the illegal CIDRs.', 'http_code' => 400, 'description' => 'The operation is not allowed because the input CIDR is within the illegal CIDRs.'."\n"], ['code' => 'OperationDenied.CidrUnavailableInPool', 'message' => 'The operation is not allowed because the CIDR is unavailable in the IPAM pool.', 'http_code' => 400, 'description' => 'The operation is not allowed because the CIDR is unavailable in the IPAM pool.'], ['code' => 'OperationDenied.ClassicSLB', 'message' => 'The operation is not allowed because of ClassicSLB.', 'http_code' => 400, 'description' => 'The error message returned because you cannot perform the operation on a CLB instance.'], ['code' => 'OperationDenied.CloudBoxResourceExist', 'message' => 'The operation is not allowed because there are resources related to the cloud box in VPC.', 'http_code' => 400, 'description' => 'The operation is not allowed because CloudBox-related resources exist in the VPC.'], ['code' => 'OperationDenied.CloudBoxVbrEntryAllowedInCustomRouteTable', 'message' => '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.', 'http_code' => 400, 'description' => 'The operation is prohibited because only custom route tables can add route entries with the next hop pointing to a CloudBox-type VBR.'], ['code' => 'OperationDenied.CloudBoxVbrEntryExist', 'message' => 'The operation is not allowed because the routing table has a route entry for the next hop to the cloud box VBR.', 'http_code' => 400, 'description' => 'The operation is not allowed because the route table contains route entries with the next hop pointing to a CloudBox VBR.'], ['code' => 'OperationDenied.CloudBoxVSwitch', 'message' => 'The operation is not allowed because the vswitch is a cloud box type.', 'http_code' => 400, 'description' => 'The operation is prohibited because the vSwitch is of the CloudBox type.'], ['code' => 'OperationDenied.CloudBoxVSwitchExist', 'message' => 'The operation is not allowed because a cloud box type vSwitch exists in VPC.', 'http_code' => 400, 'description' => 'The operation is not allowed because vSwitches of the CloudBox type exist in the VPC.'], ['code' => 'OperationDenied.CloudBoxZone', 'message' => 'The operation is not allowed because the zone is a cloud box type.', 'http_code' => 400, 'description' => 'The operation is prohibited because the zone is of the CloudBox type.'], ['code' => 'OperationDenied.CreateEcmpForPublishedRouteEntry', 'message' => 'Operation denied because of can not create EcmpRouteEntry for published RouteEntry.', 'http_code' => 400, 'description' => 'The published route does not support the creation of primary and secondary routes or load balancing routes.'], ['code' => 'OperationDenied.CreateVpconn', 'message' => 'You are not allowed to create virtual physical connection. Please contact you CBM.', 'http_code' => 400, 'description' => 'You do not have the permissions to create a hosted connection. Contact your sales manager.'], ['code' => 'OperationDenied.CreateVpconn', 'message' => 'You are not allowed to create virtual physical connection. Please contact your CBM.', 'http_code' => 400, 'description' => 'If you do not have permission to create a shared line, please contact the business manager.'], ['code' => 'OperationDenied.DeleteGatewayEndpointRoute', 'message' => 'The operation is not allowed to delete route entry pointing gateway endpoint..', 'http_code' => 400, 'description' => 'You cannot delete a route that points to a gateway endpoint.'], ['code' => 'OperationDenied.DeleteManagedRouteEntry', 'message' => 'The operation is not allowed because of route entry is managed.', 'http_code' => 400, 'description' => 'You cannot delete hosted routes.'], ['code' => 'OperationDenied.DeleteShareResource', 'message' => 'This is not allowed to delete shared prefixList.', 'http_code' => 400, 'description' => 'A shared prefix list cannot be deleted.'], ['code' => 'OperationDenied.DirectEipExist', 'message' => 'The operation is not allowed because of existing directEip.', 'http_code' => 400, 'description' => 'EIPs are associated with the VPC in cut-through mode or enhanced NAT gateways are deployed in the VPC.'], ['code' => 'OperationDenied.DnatEntryStatusInvalid', 'message' => 'The NAT gateway has DNAT entry in invalid status.', 'http_code' => 400, 'description' => 'The DNAT entry associated with the NAT gateway is in an invalid state.'], ['code' => 'OperationDenied.DuplicateRole', 'message' => 'The network interface must not be the source and the target of traffic mirror sessions at the same time.', 'http_code' => 400, 'description' => 'A network interface controller (NIC) cannot be used as both the source and destination of a traffic mirror session at the same time.'], ['code' => 'OperationDenied.EcsNotSupportTrafficMirror', 'message' => 'The ECS instance does not support traffic mirroring.', 'http_code' => 400, 'description' => 'The ECS instance does not support the traffic mirroring feature.'], ['code' => 'OperationDenied.EipBondTypeIsAlreadyNAT', 'message' => 'The EIP bond type is already NAT type.', 'http_code' => 400, 'description' => 'EipBindMode is already set to NAT.'], ['code' => 'OperationDenied.EipStatusInvalid', 'message' => 'The NAT gateway has EIP in invalid status.', 'http_code' => 400, 'description' => 'The EIP associated with the NAT gateway is in an invalid state.'], ['code' => 'OperationDenied.ExistDirectEip', 'message' => 'The operation is not allowed because of existing direct eip.', 'http_code' => 400, 'description' => 'You are not allowed to create an IPv4 gateway because an EIP in cut-through mode exists.'], ['code' => 'OperationDenied.ExistPublicIpv6IpInVpc', 'message' => 'Operation denied because IPV6 public ip exists in VPC.', 'http_code' => 400, 'description' => 'The operation failed because the ipv6 public IP exists in the VPC.'], ['code' => 'OperationDenied.ExistRouteTable1.0', 'message' => 'A route table with a lower version exists in the VPC. Please submit a ticket for processing.', 'http_code' => 400, 'description' => 'A route table with a lower version exists in the VPC. Please submit a ticket for processing.'], ['code' => 'OperationDenied.ExistRouteTableV1', 'message' => 'The operation is not allowed because of existing RouteTable1.0.', 'http_code' => 400, 'description' => 'The operation is not allowed because of existing RouteTable1.0.'], ['code' => 'OperationDenied.FlowLogDeliverFailed', 'message' => 'The operation is not allowed due to an invalid delivery address.', 'http_code' => 400, 'description' => 'The flow log cannot be started because the delivery address is invalid.'], ['code' => 'OperationDenied.FreeNetworkInterface', 'message' => 'The network interface is not attached to any ECS instance.', 'http_code' => 400, 'description' => 'The ENI is not associated with an ECS instance.'], ['code' => 'OperationDenied.GatewayAlreadyAssociated', 'message' => 'The operation is not allowed because of the specified resource %s is already associated.', 'http_code' => 400, 'description' => 'The operation is not allowed because the IPv4 gateway is in the Associated state.'], ['code' => 'OperationDenied.GatewayAndTableNotInOneVpc', 'message' => 'The gateway and the route table are not in the same VPC.', 'http_code' => 400, 'description' => 'A gateway cannot be associated with a route table in a different VPC.'], ['code' => 'OperationDenied.GatewayAndTableNotInOneVpc', 'message' => 'The operation is not allowed because of GatewayAndTableNotInOneVpc.', 'http_code' => 400, 'description' => 'The gateway route table and gateway do not belong to the same VPC.'], ['code' => 'OperationDenied.GatewayAssociated', 'message' => 'You cannot delete the specified route table because it still associates with gateway.', 'http_code' => 400, 'description' => 'You cannot delete the route table because it is associated with a gateway.'], ['code' => 'OperationDenied.GatewayRouteTableNotPermitted', 'message' => 'The operation is not allowed to create a route pointing to this nextHop type on gateway route table.', 'http_code' => 400, 'description' => 'You cannot create routes that point to instances of this type in the gateway route table.'], ['code' => 'OperationDenied.IllegalNewNextHopType', 'message' => 'When modifying the next hop of a route of the local type, a new next hop type that is not supported is passed in.', 'http_code' => 400, 'description' => 'When modifying the next hop of a route of the local type, a new next hop type that is not supported is passed in.'], ['code' => 'OperationDenied.IngressRoutingNotSupportAnycast', 'message' => 'The operation is not allowed because ingress routing not support anycast.', 'http_code' => 400, 'description' => 'The operation is not allowed because ingress routing not support anycast.'], ['code' => 'OperationDenied.InstanceAttachCen', 'message' => 'Operation denied because instance association CEN.', 'http_code' => 400, 'description' => 'Operation failed due to instance association CEN'], ['code' => 'OperationDenied.InvalidInstanceDeliverScope', 'message' => '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.', 'http_code' => 400, 'description' => '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.'], ['code' => 'OperationDenied.InvalidSourceBondEniType', 'message' => 'The traffic mirroring source does not support the entered bond ENI type.', 'http_code' => 400, 'description' => 'The traffic mirroring source does not support the entered bond ENI type.'], ['code' => 'OperationDenied.InvalidTargetBondEniType', 'message' => 'The traffic mirroring target does not support the entered bond ENI type.', 'http_code' => 400, 'description' => 'The traffic mirroring target does not support the entered bond ENI type.'], ['code' => 'OperationDenied.IpamPoolNotInRegion', 'message' => 'The operation is not allowed because the IPAM pool not in specific region does not support creating VPC or associating CIDR for VPC.', 'http_code' => 400, 'description' => 'The operation is not allowed because the IPAM pool not in specific region does not support creating VPC or associating CIDR for VPC.'], ['code' => 'OperationDenied.IpBelongToOtherUser', 'message' => 'The operation is not allowed because of ip belong to other user.', 'http_code' => 400, 'description' => 'Your application failed because the IP address belongs to another user.'], ['code' => 'OperationDenied.Ipv4GatewayExist', 'message' => 'The operation is not allowed because of Ipv4GatewayExist.', 'http_code' => 500, 'description' => 'The EIP failed to be associated because IPv4 gateways exist in the VPC.'], ['code' => 'OperationDenied.Ipv4GatewayNotActive', 'message' => 'The operation is not allowed because of ipv4Gateway [%s] is not active.', 'http_code' => 400, 'description' => 'The operation is not allowed because the IPv4 gateway is not activated.'], ['code' => 'OperationDenied.Ipv6EntryOnCustomTable', 'message' => 'You cannot create any IPv6 route entry on a custom route table.', 'http_code' => 400, 'description' => 'IPv6 routes cannot be created on a custom route table.'], ['code' => 'OperationDenied.ISPNotSupportDdosEnhanced', 'message' => 'The operation is not allowed because of DdosEnhanced is not supported by current isp.', 'http_code' => 400, 'description' => 'The current ISP does not support the creation of an enhanced security protection address pool.'], ['code' => 'OperationDenied.L2EipBindIpAddress', 'message' => 'Operation is denied because this region does not support L2 EIP binding to IP address.', 'http_code' => 400, 'description' => 'This region does not support L2 EIP bindng to IP addresses.'], ['code' => 'OperationDenied.LOAForVirtualPhysicalConnection', 'message' => 'The operation is not allowed because of LOAForVirtualPhysicalConnection.', 'http_code' => 400, 'description' => 'The shared Express Connect circuit does not allow construction.'], ['code' => 'OperationDenied.LOAStatusNotAllowComplete', 'message' => 'The operation is not allowed because of LOAStatusNotAllowComplete.', 'http_code' => 400, 'description' => 'The LOA status of the port does not allow completion reporting or line O&M.'], ['code' => 'OperationDenied.LocalEntryCanOnlyModifyNextHop', 'message' => 'Only the nextHop parameter can be modified for a local route entry.', 'http_code' => 400, 'description' => 'You can modify only the next hop of a local route.'], ['code' => 'OperationDenied.LocalRouteEntryBoundToVSwitch', 'message' => '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.', 'http_code' => 400, 'description' => '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.'], ['code' => 'OperationDenied.LocalRouteEntryInSystemRouteTable', 'message' => 'The Local Route Entry In System Route Table Can Not Be Modify.', 'http_code' => 400, 'description' => 'Modifying the Local route in the system routing table is prohibited.'], ['code' => 'OperationDenied.LocalRouteEntryModified', 'message' => 'The next hop of a local route is modified.', 'http_code' => 400, 'description' => 'The next hop of the local type route has been modified.'], ['code' => 'OperationDenied.LocalRouteEntryModified', 'message' => 'When you modify the next hop of a Local route in a custom routing table, the destination CIDR block of the Local route is exactly the same as the Cidr of a VSwitch bound to the routing table.', 'http_code' => 400, 'description' => 'When you modify the next hop of a Local route in a custom routing table, the destination CIDR block of the Local route is exactly the same as the Cidr of a VSwitch bound to the routing table.'], ['code' => 'OperationDenied.MaskOfCidrIsNotAllowed', 'message' => 'The input mask or mask of the input CIDR is not allowed.', 'http_code' => 400, 'description' => 'The input mask or mask of the input CIDR is not allowed.'], ['code' => 'OperationDenied.MissingAsn', 'message' => 'The autonomous system number of the customer gateway is mandatory when BGP authentication key is specified.', 'http_code' => 400, 'description' => 'The autonomous system number of the customer gateway is mandatory when BGP authentication key is specified.'], ['code' => 'OperationDenied.ModifyDefaultDhcpOptionsSet', 'message' => 'The default DHCP options set is not allowed to be modified.', 'http_code' => 400, 'description' => 'The default DHCP options set is not allowed to be modified.'], ['code' => 'OperationDenied.ModifyManagedRouteEntry', 'message' => 'The operation is not allowed because of route entry is managed.', 'http_code' => 400, 'description' => 'Hosted route cannot be modified.'], ['code' => 'OperationDenied.NatGatewayStatusInvalid', 'message' => 'The NAT gateway status is invalid.', 'http_code' => 400, 'description' => 'The status of the NAT gateway does not support the operation.'], ['code' => 'OperationDenied.NatgwExist', 'message' => 'The operation is not allowed because the NAT gateway exists in VPC.', 'http_code' => 400, 'description' => 'The operation is not allowed because NAT gateways exist in the VPC.'], ['code' => 'OperationDenied.NeedPconnOwner', 'message' => 'The operation is denied.', 'http_code' => 400, 'description' => 'The deletion failed. Only the owner of a physical port can delete it.'], ['code' => 'OperationDenied.NeedVpconnOwner', 'message' => 'The operation is denied.', 'http_code' => 400, 'description' => 'The deletion failed. Only the owner of a shared port can delete it.'], ['code' => 'OperationDenied.NewNextHopNotSupportPublish', 'message' => 'New nexthop is not supported for published route entry.', 'http_code' => 400, 'description' => 'The route has been published to other components. The specified next hop type does not support route advertisement.'], ['code' => 'OperationDenied.NextHopExist', 'message' => 'The operation is not allowed because the nexthop already exists.', 'http_code' => 400, 'description' => 'The next hop of the destination-based route that you want to modify already exists.'], ['code' => 'OperationDenied.NextHopNotChanged', 'message' => 'The operation is not allowed because of NextHopNotChanged.', 'http_code' => 400, 'description' => 'The operation is not allowed because the next hop is not changed.'], ['code' => 'OperationDenied.NextHopTypeNonsupport', 'message' => 'The operation is not allowed because of nextHopType is nonsupport.', 'http_code' => 400, 'description' => 'Specifying the next hop of the resource type is not supported.'], ['code' => 'OperationDenied.NextHopTypeNotPermitted', 'message' => 'The operation is not allowed because the nextHop type is invalid.', 'http_code' => 400, 'description' => 'You are not allowed to create a route whose next hop is of this type.'], ['code' => 'OperationDenied.NisTrafficAnalyzerAggregationIntervalMismatch', 'message' => 'The sampling interval of the FlowLog is greater than the sampling interval of the NIS Traffic Analyzer.', 'http_code' => 400, 'description' => 'The sampling interval of the FlowLog is greater than the sampling interval of the NIS Traffic Analyzer.'], ['code' => 'OperationDenied.NisTrafficAnalyzerNotActive', 'message' => 'The specified NIS Traffic Analyzer is not enabled.', 'http_code' => 400, 'description' => 'The specified NIS Traffic Analyzer is not enabled.'], ['code' => 'OperationDenied.NisTrafficAnalyzerNotFound', 'message' => 'The specified NIS Traffic Analyzer does not exist.', 'http_code' => 400, 'description' => 'The specified NIS Traffic Analyzer does not exist.'], ['code' => 'OperationDenied.NoAvailablePrivateIp', 'message' => 'The operation is failed because of vSwitch has not availalbe private ip', 'http_code' => 400, 'description' => 'The vSwitch does not have sufficient private IP addresses.'], ['code' => 'OperationDenied.NoEnoughAvailablePrivateIps', 'message' => 'The available private Ip number is not enough in your subnet.', 'http_code' => 400, 'description' => 'The number of private IP addresses in the subnet is insufficient.'], ['code' => 'OperationDenied.NormalNatExist', 'message' => 'The operation is not allowed because of existing normalNat.', 'http_code' => 400, 'description' => 'Standard NAT gateways are deployed in the specified VPC.'], ['code' => 'OperationDenied.NotAttachCen', 'message' => 'The operation is not allowed because the instance is not attached to a CEN instance.', 'http_code' => 400, 'description' => 'The operation is not allowed because the instance is not attached to CEN.'], ['code' => 'OperationDenied.NotOpenDdosOriginProtectService', 'message' => 'The operation is not allowed because of you do not open Ddos Origin Protection Service', 'http_code' => 400, 'description' => 'You can not create an anti-DDoS Enhanced EIP because you do not open Ddos Origin Protection Service.'], ['code' => 'OperationDenied.OperateSharedResource', 'message' => 'The operation is not allowed because of the PublicIpAddressPool is a shared resource.', 'http_code' => 400, 'description' => 'The public IP address pool is a shared resource and cannot be modified.'], ['code' => 'OperationDenied.OperateShareResource', 'message' => 'The operation is not allowed because of OperateShareResource.', 'http_code' => 400, 'description' => 'Operating on shared resources causes the operation to fail'], ['code' => 'OperationDenied.OtherCloudBoxVbrEntryExist', 'message' => '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.', 'http_code' => 400, 'description' => 'The specified operation is not allowed because the route table contains a route whose next hop points to a Virtual Border Router (VBR) that does not belong to the current cloud box.'], ['code' => 'OperationDenied.OtherSubnetCreating', 'message' => 'The operation is not allowed because a subnet is being created.', 'http_code' => 400, 'description' => 'The operation failed because another virtual subnet is being created.'], ['code' => 'OperationDenied.OtherSubnetProcessing', 'message' => 'other subnet is processing.', 'http_code' => 400, 'description' => 'You cannot delete the vSwitch because other subnets are being managed.'], ['code' => 'OperationDenied.PconnNotAllowRecover', 'message' => 'Exclusive physical connection does not allow recovery.', 'http_code' => 400, 'description' => 'The current resource cannot perform this operation. Please contact the duty officer for assistance.'], ['code' => 'OperationDenied.PconnTrafficNotEnable', 'message' => 'Operation is not allowed because the outbound data transfer fees is not enabled.', 'http_code' => 400, 'description' => 'The operation is not allowed because outbound data transfer billing is disabled.'], ['code' => 'OperationDenied.PrePaidInstance', 'message' => 'The operation is not allowed because prepaid instance is no longer supported.', 'http_code' => 400, 'description' => 'Prepaid instance is no longer supported.'], ['code' => 'OperationDenied.PrivateLinkNotEnabled', 'message' => 'The NAT gateway is not enable for private link.', 'http_code' => 400, 'description' => 'The error message returned because the NAT gateway cannot use PrivateLink.'], ['code' => 'OperationDenied.QueryCdt95Instance', 'message' => 'The operation is not allowed because of QueryCdt95Instance.', 'http_code' => 400, 'description' => 'The error message returned because you cannot query an EIP bandwidth plan connected to CDT.'], ['code' => 'OperationDenied.RemoveCountExceedExistCount', 'message' => 'The operation is not allowed because of remove-count exceed exist-count.', 'http_code' => 400, 'description' => 'The number of CIDR blocks to delete exceeds the number of CIDR blocks in the prefix list.'], ['code' => 'OperationDenied.RequestRegionInvalid', 'message' => 'The operation is not allowed because the request is not invoked in the region of the IPAM pool.', 'http_code' => 400, 'description' => 'The operation is not allowed because the request is not invoked in the region of the IPAM pool.'], ['code' => 'OperationDenied.RouteEntryExist', 'message' => 'The operation is not allowed because of existing routeEntry point to ipv4Gateway.', 'http_code' => 400, 'description' => 'You cannot delete the IPv4 gateway because routes that point to the IPv4 gateway exist.'], ['code' => 'OperationDenied.RouterInterfaceFromDifferentZones', 'message' => 'The operation is not allowed because the router interface resides in different zones.', 'http_code' => 400, 'description' => 'The specified operation is prohibited because the router interfaces are in different zones.'], ['code' => 'OperationDenied.RouterInterfaceIpv6', 'message' => 'RouterInterface does not support IPv6.', 'http_code' => 400, 'description' => 'RouterInterface does not support IPv6.'], ['code' => 'OperationDenied.RouterInterfaceIpv6NotEnabled', 'message' => 'Routerinterface does not support IPv6.', 'http_code' => 400, 'description' => 'The operation failed because the router interface does not support IPv6.'], ['code' => 'OperationDenied.RouterInterfaceToDifferentVpc', 'message' => 'The operation is not allowed because the router interface is connected to different VPCs.', 'http_code' => 400, 'description' => 'The operation failed because the router interfaces point to different VPCs.'], ['code' => 'OperationDenied.RouteTableAssociateNotCloudBoxVSwitch', 'message' => '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.', 'http_code' => 400, 'description' => 'The operation is not allowed because the route table is associated with a non-CloudBox vSwitch. You cannot add routes that point to VBRs of the CloudBox instance.'], ['code' => 'OperationDenied.RouteTableTypeIncorrect', 'message' => 'The operation is not allowed because of routeTableType is incorrect.', 'http_code' => 400, 'description' => 'The operation is not allowed because the type of route table is not supported.'], ['code' => 'OperationDenied.RouteTableTypeIncorrect', 'message' => 'The operation is not allowed because of %s.', 'http_code' => 400, 'description' => 'The gateway route table is not a border gateway route table.'], ['code' => 'OperationDenied.RouteTableTypeNotPermitted', 'message' => 'The operation is not allowed because the type of route table is not permitted.', 'http_code' => 400, 'description' => 'You cannot create routes for route tables of the specified type.'], ['code' => 'OperationDenied.SlbNotInVpc', 'message' => 'The specified SLB is not in any VPC.', 'http_code' => 400, 'description' => 'The specified SLB instance does not belong to any VPC.'], ['code' => 'OperationDenied.SnatEntryStatusInvalid', 'message' => 'The NAT gateway has SNAT entry in invalid status.', 'http_code' => 400, 'description' => 'The SNAT entry associated with the NAT gateway is in an invalid state.'], ['code' => 'OperationDenied.SubnetRouteV1Exist', 'message' => 'The operation is not allowed because of existing subnetRouteV1.', 'http_code' => 400, 'description' => 'The subnet routes in the VPC do not meet the requirements.'], ['code' => 'OperationDenied.SwitchToSystemRouteTable', 'message' => 'The associated route tables cannot be directly changed to system route tables.', 'http_code' => 400, 'description' => 'Failed to switch from the associated route table to the system route table.'], ['code' => 'OperationDenied.SystemPrefixList', 'message' => 'The status of traffic mirror filter is incorrect.', 'http_code' => 400, 'description' => 'Operations on the operating system prefix list are not allowed.'], ['code' => 'OperationDenied.SystemPrefixList', 'message' => 'The operation is not allowed because of SystemPrefixList.', 'http_code' => 400, 'description' => 'You cannot manage the system prefix list.'], ['code' => 'OperationDenied.TargetTypeNotSupportBondEni', 'message' => 'Operation denied because of target type can not be Bond Network Interface.', 'http_code' => 400, 'description' => 'Operation denied because of target type can not be Bond Network Interface.'], ['code' => 'OperationDenied.TargetTypeNotSupportGatewayLoadBalancerEndpoint', 'message' => 'Operation denied because of target type can not be GatewayLoadBalancerEndpoint.', 'http_code' => 400, 'description' => 'Gateway-based load balancing endpoints are not supported as traffic mirrors mu d'], ['code' => 'OperationDenied.TargetTypeNotSupportSourceType', 'message' => 'The traffic mirroring target does not support the type of the traffic mirroring source.', 'http_code' => 400, 'description' => 'The traffic mirroring target does not support the type of the traffic mirroring source.'], ['code' => 'OperationDenied.TargetTypeNotSupportTrafficMirrorFullPacket', 'message' => 'The traffic mirror session target type does not support the feature of mirroring source full packet.', 'http_code' => 400, 'description' => 'The traffic mirror session target type does not support the feature of mirroring source full packet'], ['code' => 'OperationDenied.TerminateVirtualPhysicalConnection', 'message' => 'The operation is not allowed because of TerminateVirtualPhysicalConnection.', 'http_code' => 400, 'description' => 'The VirtualPhysicalConnection does not have permission or is in arrears, the operation is not allowed'], ['code' => 'OperationDenied.TooManyDataQueried', 'message' => 'Specified operation is denied as too many data to return.', 'http_code' => null, 'description' => 'The number of data entries to be returned has reached the upper limit.'], ['code' => 'OperationDenied.TrafficMirrorSessionSourceFullPacketNotSupport', 'message' => 'The traffic mirror session does not support the feature of mirroring source full packet.', 'http_code' => 400, 'description' => 'Traffic mirror currently does not support source full packet mirroring. TrafficMirrorSourceTruncateMode can only be set to 0, which is the default mode.'], ['code' => 'OperationDenied.TrAttachmentIpv6Disabled', 'message' => 'The operation is not allowed because tr attachment Ipv6 is disabled.', 'http_code' => 400, 'description' => 'The operation is not allowed because tr attachment Ipv6 is disabled.'], ['code' => 'OperationDenied.Unauthorized', 'message' => 'The operation is not allowed because the user is not in the whitelist.', 'http_code' => 400, 'description' => 'The operation is not allowed because you are not in the whitelist.'], ['code' => 'OperationDenied.UneffectiveChargeOrderExisted', 'message' => 'The current operation is not allowed because there is an uneffective change order in your account.', 'http_code' => 400, 'description' => 'The operation is not allowed because your account has pending orders for specification changes.'], ['code' => 'OperationDenied.UnexpectedRouteTable', 'message' => 'Operation is denied because only system route table supports publishing route entries.', 'http_code' => 400, 'description' => 'The operation was denied because only the system routing table supports publishing routes'], ['code' => 'OperationDenied.UnsupportedEipBindMode', 'message' => 'The operation is not supported for the NAT gateway due to its EIP binding mode.', 'http_code' => 400, 'description' => 'The operation is not supported by the EIP binding mode of the NAT gateway.'], ['code' => 'OperationDenied.UnsupportedTargetType', 'message' => 'Traffic mirror target must be SLB if traffic mirror sources contain nat gateway network interface.', 'http_code' => 400, 'description' => 'When a NAT gateway NIC exists in the traffic mirroring source, the traffic mirroring purpose must be SLB type.'], ['code' => 'OperationDenied.UnsupportedTargetType', 'message' => 'The operation is not allowed because the target type is not supported.', 'http_code' => 400, 'description' => 'The operation was rejected because the type of the route publication target is not currently supported.'], ['code' => 'OperationDenied.UpdateGatewayRouteEntry', 'message' => 'The operation is not allowed because of need switch to local first.', 'http_code' => 400, 'description' => 'The system failed to modify the route. You must first set the next hop to a local route before you can set a custom next hop.'], ['code' => 'OperationDenied.UseGatewayRouteEntryQueryInterface', 'message' => 'Use listGatewayRouteTableEntries to describe gateway route entries.', 'http_code' => 400, 'description' => 'To query route entries in a gateway route table, use the listGatewayRouteTableEntries operation.'], ['code' => 'OperationDenied.VBRAssociateVPconn', 'message' => 'The operation is not allowed because of VBRAssociateVPconn.', 'http_code' => 400, 'description' => 'The operation failed because you cannot associate a VBR with the hosted connection.'], ['code' => 'OperationDenied.VbrAttachEcrInMiddleStatus', 'message' => 'The operation is not allowed because of VBR attach or detach ECR in middle status.', 'http_code' => 400, 'description' => 'The current operation cannot be performed because the VBR is in the process of loading or unloading the leased line gateway. Please wait a moment and try again.'], ['code' => 'OperationDenied.VbrIdle', 'message' => '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.', 'http_code' => 400, 'description' => 'The operation failed because the next hop of the added route is a router interface whose peer device is a VBR, and the VBR must not be in the Idle state.'], ['code' => 'OperationDenied.VbrMisMatchCloudBox', 'message' => '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.', 'http_code' => 400, 'description' => 'The operation failed because the route table is associated with the vSwitch of a CloudBox instance. You cannot add routes that point to VBRs of other CloudBox instances.'], ['code' => 'OperationDenied.VpcExistIpv4Gateway', 'message' => 'An IPv4 gateway already exists in the VPC.', 'http_code' => 400, 'description' => 'You are not allowed to create an IPv4 gateway in the VPC because an IPv4 gateway already exists in the VPC.'], ['code' => 'OperationDenied.VpcIpv4GatewayEnabled', 'message' => 'The operation is not allowed because of the VPC of the NAT gateway has opened IPv4 Gateway.', 'http_code' => 404, 'description' => 'IPv4 gateways are enabled for the VPC where the NAT gateway resides and the operation is denied.'], ['code' => 'OperationDenied.VpcIpv6NotEnabled', 'message' => 'IPv6 has not been enabled for the VPC.', 'http_code' => 400, 'description' => 'The error message returned because the VPC does not support IPv6 and the operation is denied.'], ['code' => 'OperationDenied.VPconn', 'message' => 'The operation is not allowed because of VPconn.', 'http_code' => 400, 'description' => 'The operation failed because the hosted connection does not support the operation.'], ['code' => 'OperationDenied.VPconn', 'message' => 'Vpconn is forbidden to create vbr for another account.', 'http_code' => 400, 'description' => 'You cannot create a VBR for another account.'], ['code' => 'OperationDenied.VpconnVBRAssociatePconn', 'message' => 'The operation is not allowed because of VpconnVBRAssociatePconn.', 'http_code' => 400, 'description' => 'The operation failed because you cannot associate a VBR that is associated with a hosted connection with an Express Connect circuit.'], ['code' => 'OperationDenied.VpcPeerExist', 'message' => 'The operation is not allowed because the VPC peer exists.', 'http_code' => 400, 'description' => 'The operation failed because VPC peering connections exist.'], ['code' => 'OperationDenied.VpcPeerExists', 'message' => 'The operation is not allowed because the VpcPeer exists.', 'http_code' => 400, 'description' => 'The VPC has a VPC peering connection.'], ['code' => 'OperationDenied.VpcPeerExists', 'message' => 'The operation is not allowed because of VpcPeerExists.', 'http_code' => 400, 'description' => 'The VPC has a VPC peering connection.'], ['code' => 'OperationDenied.VpnConfiguring', 'message' => 'The associated VPN gateway is being configured. You cannot update the attributes of the customer gateway.', 'http_code' => 400, 'description' => 'The associated VPN gateway is being configured. You cannot update the attributes of the customer gateway.'], ['code' => 'OperationDenied.VpnExist', 'message' => 'The operation is not allowed because of existing vpn.', 'http_code' => 400, 'description' => 'You are not allowed to create an IPv4 gateway because a VPN gateway already exists in the VPC.'], ['code' => 'OperationDenied.VpnFinancialLocked', 'message' => 'The associated VPN gateway is financially locked. You cannot update the attributes of the customer gateway.', 'http_code' => 400, 'description' => 'The associated VPN gateway is financially locked. You cannot update the attributes of the customer gateway.'], ['code' => 'OperationFailed.AccessDeviceDisabled', 'message' => 'Access device is disabled and can not create vbr.', 'http_code' => 404, 'description' => 'You cannot create a VBR because the access device is disabled.'], ['code' => 'OperationFailed.AccessTunnelId', 'message' => 'AccessTunnelId param do operation failed.', 'http_code' => 500, 'description' => 'VPC NAT failed to generate tunnel ID. Try again later'], ['code' => 'OperationFailed.ActiveNetworkInterfaceNotFound', 'message' => 'No active network interface is found on the attachment.', 'http_code' => 400, 'description' => 'No ENI is available on the specified transit router.'], ['code' => 'OperationFailed.AddIpTaskInProcessing', 'message' => 'Operation failed because add ip to common bandwidth task in processing.', 'http_code' => 400, 'description' => 'You cannot delete the resource because EIPs are being associated with the EIP bandwidth plan.'], ['code' => 'OperationFailed.AddressAlreadyAllocated', 'message' => 'The operation is failed because of AddressAlreadyAllocated.', 'http_code' => 400, 'description' => 'The specified address has already been assigned'], ['code' => 'OperationFailed.AddressNotInVSwitchCidr', 'message' => 'The operation is failed because of %s.', 'http_code' => 400, 'description' => 'The specified IP address is not in the vSwitch CIDR block. Please modify it as described in the API document and try again.'], ['code' => 'OperationFailed.AddVpcRoute', 'message' => 'It is failed to add VPC route after this operation.', 'http_code' => 400, 'description' => 'VPC routes failed to be added after the operation is performed.'], ['code' => 'OperationFailed.AliGroupUserCanNotBuyInnerCommodity', 'message' => 'Vpc_flowlog_public has no group cloud product label, and users within the group are not allowed to purchase.', 'http_code' => 400, 'description' => 'vpc_flowlog_public does not have a merchandise tag and cannot be purchased by an internal group user.'], ['code' => 'OperationFailed.AliGroupUserCanNotBuyInnerCommodity', 'message' => 'Vpc trafficmirror public has no group cloud product label, and users within the group are not allowed to purchase.', 'http_code' => 400, 'description' => 'vpc_trafficmirror_public does not have a merchandise tag and cannot be purchased by an internal group user.'], ['code' => 'OperationFailed.AllocateEipSegment', 'message' => 'Operation failed because eip segment is out of stock.', 'http_code' => 400, 'description' => 'Insufficient inventory of continuous EIP.'], ['code' => 'OperationFailed.AllocateNatIpPortFailed', 'message' => 'NatIpPort allocation failed.', 'http_code' => 400, 'description' => 'NatIpPort allocation failed.'], ['code' => 'OperationFailed.AllocateUnfamiliarIp', 'message' => 'The operation failed because only IP addresses used within the last seven days can be allocated.', 'http_code' => 400, 'description' => 'Only IP addresses used within the last seven days can be used to apply for EIP.'], ['code' => 'OperationFailed.AlreadyUsedIpContained', 'message' => 'The specified VSwitchCidrReservationCidr cannot contain already used IP addresses.', 'http_code' => 400, 'description' => 'The reserved CIDR block cannot contain used IP addresses.'], ['code' => 'OperationFailed.AnotherAssociationExist', 'message' => 'The VPN gateway has associated with %s.', 'http_code' => 400, 'description' => 'The VPN gateway is already associated with a certificate of the same type.'], ['code' => 'OperationFailed.AnyPortConfig', 'message' => 'Operation failed because any port correspondence any protocol', 'http_code' => 400, 'description' => 'The operation failed. There is a conflict with another entry, any port or any protocol type.'], ['code' => 'OperationFailed.AssociationExist', 'message' => 'The association already exists.', 'http_code' => 400, 'description' => 'Operation is failed because the current resource is associated.'], ['code' => 'OperationFailed.AssociationExist', 'message' => 'Operation failed because the existence of an association.', 'http_code' => 400, 'description' => 'The operation failed because there is a bind operation failure.'], ['code' => 'OperationFailed.AttachmentExist', 'message' => 'The current VPC is already attached to a DHCP options set.', 'http_code' => 400, 'description' => 'The VPC is associated with a DHCP options set. You can associate a VPC with only one DHCP options set.'], ['code' => 'OperationFailed.AttachmentNotExist', 'message' => 'The current VPC is not attahced to a DHCP options set.', 'http_code' => 400, 'description' => 'The VPC is not associated with a DHCP options set.'], ['code' => 'OperationFailed.BandwidthExceedLimit', 'message' => 'The operation is forbidden because of BandwidthExceedLimit.', 'http_code' => 400, 'description' => 'The error message returned because the specified bandwidth exceeds the upper limit and the operation is denied.'], ['code' => 'OperationFailed.BandwidthOrVlanIdEmpty', 'message' => 'The specified VBR bandwidth or VlanId is empty.', 'http_code' => 400, 'description' => 'The operation failed because the bandwidth or the VLAN ID of the VBR is empty.'], ['code' => 'OperationFailed.BandwidthPackageNotEmpty', 'message' => 'Eip bandwidth package not empty.', 'http_code' => 400, 'description' => 'The EIP bandwidth plan cannot be deleted because EIPs are associated with the EIP bandwidth plan.'], ['code' => 'OperationFailed.BasicInfoUncompleted', 'message' => 'Your information is incomplete. Complete your information before the operation.', 'http_code' => 500, 'description' => 'The error message returned because your basic information is incomplete. Complete your basic information and try again.'], ['code' => 'OperationFailed.BasicInfoUncompleted', 'message' => 'You have not completed your basic personal information, please complete the information and try again.', 'http_code' => 400, 'description' => 'Your basic information is incomplete. Specify the information and try again.'], ['code' => 'OperationFailed.BgpGroupLocalAsnMustSameEachOther', 'message' => 'VBR bgpGroup local asn must same each other.', 'http_code' => 400, 'description' => 'The BGP group AS numbers of the VBRs in the switching group must be consistent with each other.'], ['code' => 'OperationFailed.BgpPeerConflictWithECR', 'message' => 'The BGP neighbor created by the previous VBR conflicts with the ECR configuration.', 'http_code' => 400, 'description' => 'The BGP neighbor created by the current VBR conflicts with the ECR configuration. Delete the BGP configuration and try again.'], ['code' => 'OperationFailed.BondingVpnNotSupportBGP', 'message' => 'The architecture does not support BGP capabilities (single tunnel bonding architecture VPN gateway).', 'http_code' => 400, 'description' => 'the architecture does not support the bgp capability (single-tunnel bonding vpn gateway)'], ['code' => 'OperationFailed.CannotConnectOtherOwnerInstance', 'message' => 'Can not connect with other owner VPC or CEN.', 'http_code' => 400, 'description' => 'Failed to bind the current resource to another account\'s VPC or CEN. Check whether you have the relevant permissions and try again.'], ['code' => 'OperationFailed.CanNotUseEipInDnat', 'message' => 'Operation failed because the EIP cannot be used to create a forward entry.', 'http_code' => 400, 'description' => 'Operation failed because the EIP cannot be used to create a forward entry.'], ['code' => 'OperationFailed.CenLevelNotSupport', 'message' => 'When the VPC to which the VPN gateway belongs is attached to a FULL-mode CEN, the VPN gateway cannot enable BGP.', 'http_code' => 400, 'description' => 'When the VPC to which the VPN gateway belongs is attached to a FULL-mode CEN, the VPN gateway cannot enable BGP.'], ['code' => 'OperationFailed.CidrConflictWithPrefixList', 'message' => 'The specified CIDR block already exists in a prefixList route entry.', 'http_code' => 400, 'description' => 'The route conflicts with an existing prefix list route.'], ['code' => 'OperationFailed.CidrCountExceedMaxCount', 'message' => 'The operation is failed because of cidrCountExceedMaxCount.', 'http_code' => 400, 'description' => 'The number of CIDR blocks specified exceeds the maximum allowed value of cidrMaxCount.'], ['code' => 'OperationFailed.CidrInUse', 'message' => 'Operation failed because cidr is in use.', 'http_code' => 400, 'description' => 'The CIDR block is being used.'], ['code' => 'OperationFailed.CidrInUse', 'message' => 'The operation failed because the CIDR block is already in use.', 'http_code' => 400, 'description' => 'The operation failed. The CIDR block is currently in use.'], ['code' => 'OperationFailed.CidrNotEnoughInVSwitch', 'message' => 'No enough cidr to allocate in this vswitch.', 'http_code' => 400, 'description' => 'The specified vSwitch does not have sufficient CIDR blocks.'], ['code' => 'OperationFailed.ClearAuthKeyForbidden', 'message' => 'The specific auth key is not empty.', 'http_code' => 400, 'description' => 'The specified key is not empty and cannot be cleared.'], ['code' => 'OperationFailed.CommodityCodeInvalid', 'message' => 'Invalid CommodityCode.', 'http_code' => 400, 'description' => 'The commodity code is invalid. Modify the code and try again.'], ['code' => 'OperationFailed.ConfigSessionLog', 'message' => 'Failed to configure the NAT session log delivery rule.', 'http_code' => 400, 'description' => 'Failed to configure the NAT session log delivery rule.'], ['code' => 'OperationFailed.ConfigSessionLog', 'message' => 'Failed to configure session log due to a temporary failure of the server.', 'http_code' => 500, 'description' => 'Failed to configure session log due to an internal service error.'], ['code' => 'OperationFailed.ConflictWithEntry', 'message' => 'The CidrBlock is conflict with routeEntry.', 'http_code' => 400, 'description' => 'The operation failed. The new CIDR block has a route conflict with an existing routing entry.'], ['code' => 'OperationFailed.ContainForbiddenLabel', 'message' => 'There is a label that prohibits ordering, please contact your distributor for processing.', 'http_code' => 400, 'description' => 'There is a label that prohibits ordering, please contact your distributor for processing.'], ['code' => 'OperationFailed.CreateNatIpCidrInVpcCidrBlock', 'message' => 'NAT CIDR blocks cannot be created in VPC CIDR blocks.', 'http_code' => 400, 'description' => 'The operation failed because a NAT CIDR block is created in a VPC CIDR block.'], ['code' => 'OperationFailed.CreateNatIpCidrNotInUserCidr', 'message' => 'The operation is failed because of Creating NatIpCidr not in UserCidr.', 'http_code' => 400, 'description' => 'The operation failed because the NAT CIDR block does not fall within the user CIDR block.'], ['code' => 'OperationFailed.CreditPayInsufficientBalance', 'message' => 'Your account does not have enough balance.', 'http_code' => 400, 'description' => 'Your account balance is negative. Top up your account before you can make a purchase.'], ['code' => 'OperationFailed.DefaultNatIp', 'message' => 'The operation is failed because of default NatIP can not be deleted.', 'http_code' => 400, 'description' => 'You cannot delete the default NAT IP address.'], ['code' => 'OperationFailed.DefaultNatIpCidr', 'message' => 'The operation is failed because of default NatIPCidr can not be deleted.', 'http_code' => 400, 'description' => 'The operation failed because you cannot delete the default CIDR block.'], ['code' => 'OperationFailed.DefaultVpcExist', 'message' => 'A default VPC already exists in the region.', 'http_code' => 400, 'description' => 'The operation failed because the default VPC already exists.'], ['code' => 'OperationFailed.DefaultVpcNotExist', 'message' => 'Operation failed because the default VPC does not exist.', 'http_code' => 400, 'description' => 'The operation failed because the default VPC does not exist.'], ['code' => 'OperationFailed.DefaultVSwitchExist', 'message' => 'A default vSwitch already exists in the zone.', 'http_code' => 400, 'description' => 'The error message returned because the default vSwitch already exists in the current zone.'], ['code' => 'OperationFailed.DescribeCenRoute', 'message' => 'An error occurred while querying the CEN route entry.', 'http_code' => 400, 'description' => 'CEN routes are abnormal.'], ['code' => 'OperationFailed.DistibuteLock', 'message' => 'The resource is locked and cannot be operated.', 'http_code' => 400, 'description' => 'The resource is locked and cannot be operated.'], ['code' => 'OperationFailed.DistibuteLock', 'message' => 'Distibute lock fail.', 'http_code' => 400, 'description' => 'The operation is locked by another request;'], ['code' => 'OperationFailed.DnatInMiddleStatus', 'message' => 'Operation failed because the status of the DNAT entry associated with the NAT gateway is abnormal.', 'http_code' => 400, 'description' => 'Operation failed because the status of the DNAT entry associated with the NAT gateway is abnormal.'], ['code' => 'OperationFailed.DnatPortRangeLimit', 'message' => 'port range mapping count of this ip must less than 64', 'http_code' => 400, 'description' => 'Each IP address can be mapped to at most 64 port ranges.'], ['code' => 'OperationFailed.DnatPortRangeLimit', 'message' => 'port range mapping count of this ip must less than limit', 'http_code' => 400, 'description' => 'The number of port ranges to which each IP address maps has reached the upper limit.'], ['code' => 'OperationFailed.DnatPortRangeLimit', 'message' => 'The maximum number of port ranges that can be specified is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of port ranges that can be specified is exceeded.'], ['code' => 'OperationFailed.DnatQuotaExceed', 'message' => 'Operation failed because the maximum number of forward entry is exceeded.', 'http_code' => 400, 'description' => 'Operation failed because the maximum number of forward entry is exceeded.'], ['code' => 'OperationFailed.EcmpInvalidRouterInterfaceOppositeType', 'message' => 'Operation failed because the opposite type of the router interface is invalid for ECMP configuration.', 'http_code' => 400, 'description' => 'The operation failed because the peer type of the router interface is invalid for ECMP.'], ['code' => 'OperationFailed.EcsMetricNotEnabled', 'message' => 'The feature is not enabled for enhanced NAT gateway.', 'http_code' => 400, 'description' => 'The feature is not enabled for enhanced NAT gateway.'], ['code' => 'OperationFailed.EcsMigrating', 'message' => 'The operation is failed because of ECS is migrating.', 'http_code' => 500, 'description' => 'The error message returned because the ECS instance is being migrated.'], ['code' => 'OperationFailed.EcsNetworkInterfaceQuotaNotSatisfy', 'message' => 'ECS network interface quota is not satisfy.', 'http_code' => 400, 'description' => 'The ECS ENI quota does not meet the requirements.'], ['code' => 'OperationFailed.EipBindModeConflict', 'message' => 'Eips can not bind Eni with NAT mode and MULTI_BINDED mode at the same time.', 'http_code' => 500, 'description' => 'The error message returned because you cannot associate an EIP with an ENI in NAT mode and multi-EIP-to-ENI mode at the same time.'], ['code' => 'OperationFailed.EipBoundOnInstance', 'message' => 'The operation is failed because of eip is bounded on instance.', 'http_code' => 400, 'description' => 'Failed to delete the instance because an EIP is associated with the instance.'], ['code' => 'OperationFailed.EipInMiddleStatus', 'message' => 'Operation failed because the status of EIP associated with the specified NAT gateway is abnormal.', 'http_code' => 400, 'description' => 'Operation failed because the status of EIP associated with the specified NAT gateway is abnormal.'], ['code' => 'OperationFailed.EipStatusInvalid', 'message' => 'Operation failed because eip instance status invalid.', 'http_code' => 400, 'description' => 'The operation failed because the status of the EIP is invalid.'], ['code' => 'OperationFailed.Endpoint', 'message' => 'Operation failed because the RegionId is unavailable in this endpoint.', 'http_code' => 400, 'description' => 'The region does not belong to the service registration endpoint management scope.'], ['code' => 'OperationFailed.EnhancedCheckInventory', 'message' => 'The NAT gateway in the current zone is not in service, or the resource inventory is insufficient.', 'http_code' => 500, 'description' => 'The NAT gateway in the current zone is not in service, or the resource inventory is insufficient.'], ['code' => 'OperationFailed.EnhancedInventoryNotEnough', 'message' => 'The enhanced NAT gateway inventory is insufficient in the specified zone.', 'http_code' => 400, 'description' => 'The stock of enhanced NAT gateways is insufficient in the specified zone.'], ['code' => 'OperationFailed.EnhancedQuotaExceed', 'message' => 'Operation failed because the maximum number of enhanced NAT gateways in the same VPC is exceeded.', 'http_code' => 400, 'description' => 'Operation failed because the maximum number of enhanced NAT gateways in the same VPC is exceeded.'], ['code' => 'OperationFailed.EnhancedQuotaExceed', 'message' => 'Enhanced nat gateway per vpc quota is exceeded', 'http_code' => 400, 'description' => 'The quota for creating enhanced NAT gateways in the current VPC has been exceeded.'], ['code' => 'OperationFailed.EnhancedRegion', 'message' => 'Operation failed because enhanced NAT gateways are not available for sale in the specified region.', 'http_code' => 400, 'description' => 'Operation failed because enhanced NAT gateways are not available for sale in the specified region.'], ['code' => 'OperationFailed.EnhancedUserIsUnAuthorized', 'message' => 'Operation failed because the user is not authorized to create an enhanced NAT gateway.', 'http_code' => 400, 'description' => 'Operation failed because the user is not authorized to create an enhanced NAT gateway.'], ['code' => 'OperationFailed.EniTypeNotSupport', 'message' => 'Operation failed because the ENI type is not supported.', 'http_code' => 400, 'description' => 'Operation failed because the ENI type is not supported.'], ['code' => 'OperationFailed.ExceedPurchaseLimit', 'message' => 'You have reached the limit of purchase quantity.', 'http_code' => 400, 'description' => 'You have reached the maximum purchase quantity.'], ['code' => 'OperationFailed.ExistIPv6Used', 'message' => 'The operation is failed because of some ipv6 in the ipv6 prefix is already in use.', 'http_code' => 400, 'description' => 'The operation failed because IPv6 is already in use in the IPv6 prefix'], ['code' => 'OperationFailed.FailToGetStatus', 'message' => 'The operation is failed because of FailToGetStatus.', 'http_code' => 400, 'description' => 'Failed to obtain the resource status information of the high-speed channel. Please check the resource information and query again.'], ['code' => 'OperationFailed.FilterParamUnderWrongRouteType', 'message' => 'Operation failed because only custom type support filter by routeEntryId or routeEntryName', 'http_code' => 400, 'description' => 'The operation failed because only custom routes support search by route ID or route name.'], ['code' => 'OperationFailed.FilterParamUnderWrongRouteType', 'message' => 'Operation failed because only custom type support filter by routeEntryId or routeEntryName', 'http_code' => 400, 'description' => 'The operation failed. Only custom route entries support filtering by route entry ID or route entry name.'], ['code' => 'OperationFailed.FinancialLocked', 'message' => 'The operation is forbidden because of financialLocked.', 'http_code' => 400, 'description' => 'The operation failed due to an overdue payment.'], ['code' => 'OperationFailed.ForwardEntryNotAllowSrcIpEqualDstIp', 'message' => 'The source IP of forward entry is not allowed to equal destination IP.', 'http_code' => 400, 'description' => 'The public IP address of the DNAT entry is not allowed to be equal to the private IP address.'], ['code' => 'OperationFailed.GetEniInfo', 'message' => 'The back-end service failed to query the NIC information.', 'http_code' => 500, 'description' => 'The back-end service failed to query the NIC information.'], ['code' => 'OperationFailed.GetNfvServiceList', 'message' => 'The operation is failed because of get nfv serviceList failed.', 'http_code' => 400, 'description' => 'Failed to obtain the nfc service list.'], ['code' => 'OperationFailed.HavipBoundPortmap', 'message' => 'Operation failed because Havip instance already bound portmap.', 'http_code' => 400, 'description' => 'The operation failed because the HaVip instance already has port mappings associated with it.'], ['code' => 'OperationFailed.HcForInvalidRiType', 'message' => 'Healthchecksourceip and healthchecktargetip is only valid for vr ri that is connected to vbr.', 'http_code' => 400, 'description' => 'The IP address configured for health checks is invalid.'], ['code' => 'OperationFailed.InformationIncomplete', 'message' => 'Your information is incomplete.', 'http_code' => 400, 'description' => 'The information that you entered is incomplete.'], ['code' => 'OperationFailed.InstanceDismatchCurrentVpc', 'message' => 'The specified instance does not exist in current vpc.', 'http_code' => 404, 'description' => 'The specified instance does not exist in the VPC.'], ['code' => 'OperationFailed.InstanceNotExist', 'message' => 'The ECS instance does not exist, or is not a VPC VM.', 'http_code' => 400, 'description' => 'The EIP failed to be associated with the ECS instance because the ECS instance does not exist or is not a VPC virtual machine.'], ['code' => 'OperationFailed.InstanceStatusNotAllowed', 'message' => 'The current status of the resource does not support this operation.', 'http_code' => 400, 'description' => 'The resource in this state does not support the current operation.'], ['code' => 'OperationFailed.InternalError', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => 400, 'description' => 'Unknown error. Please retry the operation. The error still exists. Please submit the work order for processing.'], ['code' => 'OperationFailed.InternetBandwidthAlreadyExisted', 'message' => 'The operation is failed because of %s.', 'http_code' => 400, 'description' => 'Internet bandwidth is already enabled for the IPv6 address.'], ['code' => 'OperationFailed.InternetBandwidthNonExist', 'message' => 'The operation is forbidden because of InternetBandwidthNonExist.', 'http_code' => 400, 'description' => 'The error message returned because the specified bandwidth is invalid and the operation is denied.'], ['code' => 'OperationFailed.InternetBandwidthUnstable', 'message' => 'The operation is forbidden because of InternetBandwidthUnstable.', 'http_code' => 400, 'description' => 'The operation is prohibited because the bandwidth instance is in a transient state.'], ['code' => 'OperationFailed.InvalidCidrBlock', 'message' => 'Operation failed because the specified network block is invalid.', 'http_code' => 400, 'description' => 'The CIDR block is invalid.'], ['code' => 'OperationFailed.InvalidEcGrant', 'message' => 'The VBR have no grant to create EC.', 'http_code' => 400, 'description' => 'The VBR instance is not grant by the VPC instance. Please try again after grant.'], ['code' => 'OperationFailed.InvalidNextHopType', 'message' => 'Operation failed because Ecmp routeEntry has more than one ri entry and can only support one non-ri entry.', 'http_code' => 400, 'description' => 'The system failed to create the route because the next hop of an ECMP route must not be a router interface.'], ['code' => 'OperationFailed.InvalidNextHopType', 'message' => 'Operation failed because the specified nexthopType is invalid.', 'http_code' => 400, 'description' => 'The operation failed because the next hop type is invalid.'], ['code' => 'OperationFailed.InvalidStatus', 'message' => 'Route entry is not allowed to operate in current status.', 'http_code' => 400, 'description' => 'You are not allowed to manage the route in the current state.'], ['code' => 'OperationFailed.IpIsLocked', 'message' => 'The operation is failed because of ip is locked.', 'http_code' => 400, 'description' => 'Your application failed because the IP address is locked.'], ['code' => 'OperationFailed.IpPrefixConflict', 'message' => 'The operation failed due to the IP prefix of the ENI.', 'http_code' => 400, 'description' => 'The operation conflicts with the IP address prefix of the ENI.'], ['code' => 'OperationFailed.IpPrefixMustInVSwitchCidrReservation', 'message' => 'The specified ip prefix must in reserved segment the VSwitch.', 'http_code' => 400, 'description' => 'The specified prefix network segment must be within the reserved network segment of the switch'], ['code' => 'OperationFailed.IPsecServerExist', 'message' => 'An IPsec server already exists in the VPN gateway.', 'http_code' => 400, 'description' => 'An IPsec server already exists in the VPN gateway.'], ['code' => 'OperationFailed.Ipv4GatewayNotOpenedInVpc', 'message' => 'The operation is failed because Ipv4Gateway is not opened in Vpc.', 'http_code' => 400, 'description' => 'The error message returned because the VPC does not have IPv4 gateways enabled and the IP address failed to be associated with the EIP.'], ['code' => 'OperationFailed.Ipv4GatewayUsedByEipBindIpAddress', 'message' => 'Failed to delete the IPv4 gateway because the EIP associated with a private IP address requires the IPv4 gateway to implement outbound Internet access.', 'http_code' => 400, 'description' => 'The EIP is associated with a private IP address and this feature requires an IPv4 gateway. Therefore, you cannot delete the IPv4 gateway.'], ['code' => 'OperationFailed.Ipv6AddressAlreadyAllocated', 'message' => 'The operation is failed because of Ipv6AddressAlreadyAllocated.', 'http_code' => 400, 'description' => 'The specified ipv6 address has already been assigned'], ['code' => 'OperationFailed.IPv6AddressAlreadyAllocated', 'message' => 'The operation is failed because of the ipv6 address specified was allocated.', 'http_code' => 400, 'description' => 'The specified IPv6 address is already allocated'], ['code' => 'OperationFailed.Ipv6AlreadyEnabled', 'message' => 'Operation failed because the IPv6 is enabled already.', 'http_code' => 400, 'description' => 'The operation failed because IPv6 is already enabled.'], ['code' => 'OperationFailed.Ipv6BandwidthExceedLimit', 'message' => 'Operation failed because the IPv6 bandwidth is beyond the limits of IPv6Gateway spec to modify.', 'http_code' => 400, 'description' => 'The operation failed because the bandwidth of the IPv6 instance exceeds the maximum bandwidth limit of the gateway specification to be modified.'], ['code' => 'OperationFailed.Ipv6CidrBlockExisted', 'message' => 'Operation failed because the specified IPv6 CIDR block is used already.', 'http_code' => 400, 'description' => 'The operation failed because the specified IPv6 CIDR block is already in use.'], ['code' => 'OperationFailed.Ipv6CidrBlockOverLapped', 'message' => 'The input IPv6 CIDR block overlaps with the existing ones.', 'http_code' => 400, 'description' => 'The input IPv6 CIDR block overlaps with the existing ones.'], ['code' => 'OperationFailed.Ipv6CidrBlockUsed', 'message' => 'Operation failed because the specified IPv6 CIDR block is used already.', 'http_code' => 400, 'description' => 'The operation failed because the specified IPv6 CIDR block is already in use.'], ['code' => 'OperationFailed.IPv6CidrNotReserved', 'message' => 'The IPv6 CIDR block is not reserved.', 'http_code' => 400, 'description' => 'The operation failed because the specified IPv6 CIDR block is not reserved.'], ['code' => 'OperationFailed.IPv6Disabled', 'message' => 'Operation failed because IPv6 is not enabled for the vSwitch.', 'http_code' => 400, 'description' => 'The IPv6 feature is disabled.'], ['code' => 'OperationFailed.Ipv6EgressRuleExisted', 'message' => 'An egress-only rule already exists for the IPv6 address.', 'http_code' => 400, 'description' => 'The IPv6 instance already has egress-only rules.'], ['code' => 'OperationFailed.Ipv6Gateway', 'message' => 'The operation is failed because of ipv6Gateway is in use.', 'http_code' => 400, 'description' => 'The operation failed because the IPv6 gateway is being used.'], ['code' => 'OperationFailed.Ipv6GatewayDisMatchIpv6Address', 'message' => 'The operation is failed because of %s.', 'http_code' => 400, 'description' => 'The IPv6 address and IPv6 gateway do not belong to the same VPC.'], ['code' => 'OperationFailed.Ipv6GatewayInUse', 'message' => 'The IPv6 gateway is in use.', 'http_code' => 400, 'description' => 'You cannot modify the VPC attributes because the IPv6 gateway is in use.'], ['code' => 'OperationFailed.Ipv6GatewayNotExist', 'message' => 'The operation is failed because of %s.', 'http_code' => 400, 'description' => 'No IPv6 gateway exists in the VPC to which the IPv6 address belongs. Create an IPv6 gateway and try again.'], ['code' => 'OperationFailed.Ipv6InstanceExist', 'message' => 'Operation failed because vswitch has ipv6 instance.', 'http_code' => 400, 'description' => 'IPv6 instances exist in the vSwitch.'], ['code' => 'OperationFailed.Ipv6RouteEntryUsing', 'message' => 'VPC exist IPv6 Route Entry, cannot disable IPv6.', 'http_code' => 400, 'description' => 'The VPC has an IPv6 route, and IPv6 must not be disabled.'], ['code' => 'OperationFailed.IpV6VSwitchInuse', 'message' => 'Operation failed because some vswitch ipv6 is in use.', 'http_code' => 400, 'description' => 'The IPv6 vSwitch is still in use.'], ['code' => 'OperationFailed.LastTokenProcessing', 'message' => 'A token request is being processed. Try again later.', 'http_code' => 400, 'description' => 'The last token request is being processed. Try again later.'], ['code' => 'OperationFailed.LogDeliveryIsUnAuthorized', 'message' => 'Operation failed because the user is not authorized to deliver NAT session log.', 'http_code' => 400, 'description' => 'The operation failed because you did not grant the NAT session log delivery permission'], ['code' => 'OperationFailed.MissCertificate', 'message' => 'The VPN gateway has not associated any certificates.', 'http_code' => 400, 'description' => 'The error message returned because the VPN gateway is not associated with a certificate.'], ['code' => 'OperationFailed.MissCertificate', 'message' => 'The VPN connecton has not associated any certificates.', 'http_code' => 400, 'description' => 'The error message returned because the VPN gateway is not associated with a certificate.'], ['code' => 'OperationFailed.ModifyVpcDnsHostname', 'message' => 'Operation failed because DnsHostName resource is in transient state, please try again later.', 'http_code' => 400, 'description' => 'dns domain name resource is unstable, please try again later.'], ['code' => 'OperationFailed.NatArchitectrueNotMatch', 'message' => 'The operation is not supported because the NAT instance architecture does not match.', 'http_code' => 400, 'description' => 'The operation is not supported because the NAT instance architecture does not match.'], ['code' => 'OperationFailed.NatGatewayNotExist', 'message' => 'The specified NatGateway does not exist.', 'http_code' => 400, 'description' => 'The specified NatGateway does not exist.'], ['code' => 'OperationFailed.NatGwBandwidthQuotaExceed', 'message' => 'The total bandwidth of the EIP bound to the NAT gateway exceeds the quota.', 'http_code' => 400, 'description' => 'The total bandwidth of the EIP bound to the NAT gateway exceeds the quota.'], ['code' => 'OperationFailed.NatGwBindWithBandwidthPackage', 'message' => 'Operation failed because the NAT gateway is bound to bandwidth packages.', 'http_code' => 400, 'description' => 'Operation failed because the NAT gateway is bound to bandwidth packages.'], ['code' => 'OperationFailed.NatGwRouteInMiddleStatus', 'message' => 'Operation failed because the status of the route entry associated with the NAT gateway is abnormal.', 'http_code' => 400, 'description' => 'Operation failed because the status of the route entry associated with the NAT gateway is abnormal.'], ['code' => 'OperationFailed.NatTypeInvalid', 'message' => 'Only enhanced NAT gateway supports the operation.', 'http_code' => 400, 'description' => 'Only enhanced NAT gateway supports the operation.'], ['code' => 'OperationFailed.NatTypeNotEnhanced', 'message' => 'Operation failed because the specified NAT gateway type is not enhanced.', 'http_code' => 400, 'description' => 'Operation failed because the specified NAT gateway type is not enhanced.'], ['code' => 'OperationFailed.NoAvailableAmount', 'message' => 'The available amount of your account is less than 0, please recharge before attempting to purchase.', 'http_code' => 400, 'description' => 'Your account balance is negative. Top up your account before you can make a purchase.'], ['code' => 'OperationFailed.NoAvailableResource', 'message' => 'The Zone have no available resource.', 'http_code' => 400, 'description' => 'No resources are available in the region.'], ['code' => 'OperationFailed.NoInternetBandwidth', 'message' => 'Operation failed because the ipv6 instance has no internet bandwidth.', 'http_code' => 400, 'description' => 'The operation is not supported because the IPv6 instance does not have Internet bandwidth.'], ['code' => 'OperationFailed.NoNameAuthentication', 'message' => '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.', 'http_code' => 400, 'description' => '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.'], ['code' => 'OperationFailed.NoPaymentMethod', 'message' => 'No payment method is specified for your account.', 'http_code' => 400, 'description' => 'No valid payment method exists in the account.'], ['code' => 'OperationFailed.NoPermission', 'message' => 'You are not authorized to perform the operation.', 'http_code' => 400, 'description' => 'You are not authorized to perform the operation.'], ['code' => 'OperationFailed.NoRamPermission', 'message' => 'Vpn Service has no permission to operate your IDaaS instances.', 'http_code' => 400, 'description' => 'The VPN service does not have the permissions to manage your IDaaS instance.'], ['code' => 'OperationFailed.NormalInventoryNotEnough', 'message' => 'Operation failed because the inventory of standard NAT gateway is insufficient.', 'http_code' => 400, 'description' => 'Operation failed because the inventory of standard NAT gateway is insufficient.'], ['code' => 'OperationFailed.NormalInventoryNotEnough', 'message' => 'Standard NAT gateways are no longer offered. You can create enhanced NAT gateways and set the correct natType.', 'http_code' => 500, 'description' => 'Create an enhanced NAT gateway and ensure that the NatType parameters are configured correctly.'], ['code' => 'OperationFailed.NotConsistentWithVpconn', 'message' => 'VBR bandwidth is not consistent with vpconn', 'http_code' => 400, 'description' => 'The bandwidth value of the VBR is not the same as the bandwidth value of the hosted connection to which the VBR belongs.'], ['code' => 'OperationFailed.NotConsistentWithVpconn', 'message' => 'The operation is failed because of NotConsistentWithVpconn.', 'http_code' => 400, 'description' => 'The error message returned because you cannot modify the bandwidth of a vRouter created on a shared port.'], ['code' => 'OperationFailed.NotExistAssociateRelation', 'message' => 'The operation is failed because of association not exist.', 'http_code' => 400, 'description' => 'The operation to disassociate the route table from the gateway failed because no association exists.'], ['code' => 'OperationFailed.NotExistAssociateRelation', 'message' => 'The operation is not failed because of not exist this associate relation.', 'http_code' => 400, 'description' => 'The system failed to disassociate the route table from the gateway because the route table is not associated with the gateway.'], ['code' => 'OperationFailed.NotSupportBizType', 'message' => 'The specified instance type does not support the operation.', 'http_code' => 400, 'description' => 'The specified instance type does not support the operation.'], ['code' => 'OperationFailed.NotSupportIPV6', 'message' => 'The specified next hop does not support IPv6.', 'http_code' => 400, 'description' => 'The specified next hop does not support IPv6.'], ['code' => 'OperationFailed.NotSupportIPv6', 'message' => 'Router interface not support IPv6.', 'http_code' => 400, 'description' => 'The router interface does not support IPv6.'], ['code' => 'OperationFailed.OpenCdtServiceFirst', 'message' => 'The operation is failed because of %s.', 'http_code' => 400, 'description' => 'The billing method requires CDT billing enabled. Enable CDT billing and try again.'], ['code' => 'OperationFailed.OperateShareResource', 'message' => 'This is not allowed to operate shared prefixList.', 'http_code' => 400, 'description' => 'You cannot operate on a shared prefix list.'], ['code' => 'OperationFailed.OperationLocked', 'message' => 'The operation failed because the nextHop instance is in the O&M lock state.', 'http_code' => 400, 'description' => 'The operation failed because the next hop instance is locked for O&M.'], ['code' => 'OperationFailed.OperationLocked', 'message' => 'Operation failed because OperationLocked.', 'http_code' => 400, 'description' => 'The operation failed because the instance is locked due to O&M.'], ['code' => 'OperationFailed.PconnAllocateVlan0', 'message' => 'Vlan 0 Vbr cannot share the physical connection with another Vbr.', 'http_code' => 400, 'description' => 'The operation failed because VLAN 0 is set to a VBR associated with the Express Connect circuit and you cannot set VLAN 0 to other VBRs.'], ['code' => 'OperationFailed.PconnExistVlan0Vbr', 'message' => 'The physical connection has VLAN 0 VBR. You cannot create another VBR.', 'http_code' => 400, 'description' => 'You cannot create other VBRs for this Express Connect circuit because a VBR with VLAN 0 is already created for this Express Connect circuit.'], ['code' => 'OperationFailed.PconnTrafficNotEnable', 'message' => 'The operation is failed because of PconnTrafficNotEnable.', 'http_code' => 400, 'description' => 'Billing for outbound data transfer is disabled.'], ['code' => 'OperationFailed.PconnTrafficNotEnable', 'message' => 'The operation failed because Outbound Data Transfer service is not activated.', 'http_code' => 400, 'description' => 'The operation is failed because of PconnTrafficNotEnable.'], ['code' => 'OperationFailed.PeerAsnCannotEqualsLocalAsn', 'message' => 'Peer ASN is illegal, peer ASN cannot equals to local ASN.', 'http_code' => 400, 'description' => 'When adding a BGPGroup, the peer autonomous system number cannot be the same as the local autonomous system number. Please check the parameters and try again.'], ['code' => 'OperationFailed.PhysicalConnectionFinancialLocked', 'message' => 'Update failed, the physical connection is financial locked.', 'http_code' => 400, 'description' => 'The shared port is locked due to overdue payments and you cannot modify the VLAN.'], ['code' => 'OperationFailed.PhysicalConnectionTerminated', 'message' => 'Update failed, the physical connection is terminated.', 'http_code' => 400, 'description' => 'The shared port is disabled and you cannot modify the VLAN.'], ['code' => 'OperationFailed.PrivateIpAddressNotExist', 'message' => 'The operation failed because the PrivateIpAddress is not found.', 'http_code' => 400, 'description' => 'The specified private IP address is invalid.'], ['code' => 'OperationFailed.PrivateLinkMode', 'message' => 'The NAT gateway is not support to change PrivateLinkMode.', 'http_code' => 400, 'description' => 'The NAT gateway is not support to change PrivateLinkMode.'], ['code' => 'OperationFailed.QueryAccountInfo', 'message' => 'Query account info failed when create order.', 'http_code' => 500, 'description' => 'Failed to query the account information when the order is placed.'], ['code' => 'OperationFailed.QueryAttachmentInfo', 'message' => 'Failed to query attachment information.', 'http_code' => 400, 'description' => 'The system fails to query the transit router.'], ['code' => 'OperationFailed.QueryCenEntry', 'message' => 'Operation is denied because getting CEN route entry has failed.', 'http_code' => 400, 'description' => 'Operation is denied because getting CEN route entry has failed.'], ['code' => 'OperationFailed.QueryCenIpv6Status', 'message' => 'Failed to query the IPv6 status of the specified VPC in CEN.', 'http_code' => 400, 'description' => 'The operation failed because the system failed to query the IPv6 status of the VPC that is attached to the CEN instance.'], ['code' => 'OperationFailed.QueryNetworkInterfaceInfo', 'message' => 'Failed to query network interface information.', 'http_code' => 400, 'description' => 'The system failed to query ENI information.'], ['code' => 'OperationFailed.QueryOrderError', 'message' => 'Failed to query order, error calling trade application.', 'http_code' => 400, 'description' => 'Failed to query order, error calling trade application.'], ['code' => 'OperationFailed.QueryPrice', 'message' => 'Query price failed when create order.', 'http_code' => 400, 'description' => 'Failed to query the price when creating the order.'], ['code' => 'OperationFailed.QuerySpInfo', 'message' => 'query resource by sp error', 'http_code' => 500, 'description' => 'Failed to query the instance order.'], ['code' => 'OperationFailed.QuotaExceedPerTimeWindow', 'message' => 'The maximum number of scheduled migration within the specified time window is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of scheduled migration within the specified time window is exceeded.'], ['code' => 'OperationFailed.QuotaNotEnough', 'message' => 'Your quota is insufficient. Please contact your channel partner to increase your quota', 'http_code' => 400, 'description' => 'Your current quota is insufficient. Contact your channel partner to increase the quota.'], ['code' => 'OperationFailed.QuotaNotEnough', 'message' => 'Your current quota is insufficient, please contact your channel partner to increase the quota for you.', 'http_code' => 400, 'description' => 'The quota is insufficient. Contact your channel partner to request a quota increase.'], ['code' => 'OperationFailed.RegionDissolved', 'message' => 'The operation failed because the region is dissolved.', 'http_code' => 400, 'description' => 'Hello, Alibaba Cloud plans to optimize and adjust the current region. Cloud services in this region will stop operating. In order to ensure your business continuity and smooth transition of data migration, you cannot operate new orders. Thank you for your understanding and support.'], ['code' => 'OperationFailed.RegionNotSupport', 'message' => 'The specified region does not support the feature.', 'http_code' => 400, 'description' => 'The specified region does not support the feature.'], ['code' => 'OperationFailed.ReservedCidr', 'message' => 'OperationFailed.ReservedCidr', 'http_code' => 400, 'description' => 'The error message returned because the specified CIDR block does not meet the reservation requirements.'], ['code' => 'OperationFailed.ResourceInBinding', 'message' => 'The operation is failed because of the resource is in binding.', 'http_code' => 400, 'description' => 'The operation failed because the resource is in binding.'], ['code' => 'OperationFailed.ResourceIsShared', 'message' => 'The operation is failed because of PublicIpAddressPool is shared with other users.', 'http_code' => 400, 'description' => 'The public IP address pool is shared with another user and cannot be deleted.'], ['code' => 'OperationFailed.ResourceNotEnough', 'message' => 'Insufficient resources.', 'http_code' => 500, 'description' => 'The resources that you request are insufficient. If you still want to request the resources, submit a ticket.'], ['code' => 'OperationFailed.ResourceNotEnough', 'message' => 'The resources you have applied for are insufficient.', 'http_code' => 400, 'description' => 'The resources you have applied for are insufficient. If you still need to apply, please submit a work order for processing.'], ['code' => 'OperationFailed.ResourceUidNotExist', 'message' => 'The operation is failed because of the resource uid does not exist.', 'http_code' => 400, 'description' => 'The operation is failed because of the resource uid does not exist.'], ['code' => 'OperationFailed.RiskControl', 'message' => 'Risk control check failed.', 'http_code' => 400, 'description' => 'The error message returned because your payment method has security risks. Click the link for verification in your email or console message and submit your order after verification.'], ['code' => 'OperationFailed.RouteConflict', 'message' => 'Operation failed because there is already a route in VPC route table to another VPN on the same network block.', 'http_code' => 400, 'description' => 'Operation failed because there is already a route in VPC route table to another VPN on the same network block.'], ['code' => 'OperationFailed.RouteConflict', 'message' => 'Operation failed because there is already a route in VPC route table to a non-RI and non-VPN next hop on the same network block.', 'http_code' => 400, 'description' => 'Routes that point to resources other than the router interface or VPN gateway already exists on the same CIDR block in the route table of the VPC.'], ['code' => 'OperationFailed.RouteConflict', 'message' => 'Operation failed because a specified route entry is already exist.', 'http_code' => 404, 'description' => 'The operation conflicts with an existing route.'], ['code' => 'OperationFailed.RouteConflictWithIPsecServer', 'message' => 'Operation failed because the route to create conflicts with the client IP pool of the IPsec server.', 'http_code' => 400, 'description' => 'Operation failed because the route to create conflicts with the client IP pool of the IPsec server.'], ['code' => 'OperationFailed.RouteConflictWithIPsecServer', 'message' => 'Operation failed because the specified route conflicts with IPsec server.', 'http_code' => 500, 'description' => 'The route conflicts with the IPsec server.'], ['code' => 'OperationFailed.RouteEntryUnstable', 'message' => 'The operation is failed because of route entry related to it is unstable, please try later.', 'http_code' => 400, 'description' => 'Because the routing entry associated with the instance is unstable, please try again later'], ['code' => 'OperationFailed.SaleValidate', 'message' => 'Validate sale condition with subArticle failed.', 'http_code' => 400, 'description' => 'Failed to validate the sales condition with a subproject.'], ['code' => 'OperationFailed.ScopeActiveRouteEntryQuota', 'message' => 'Operation failed because the quota for active route entries in the scope has been exceeded.', 'http_code' => 400, 'description' => 'The operation failed because the quota for active route entries has been exceeded.'], ['code' => 'OperationFailed.ScopeActiveRouteEntryType', 'message' => 'Operation failed because the type of the active route entry is not supported.', 'http_code' => 400, 'description' => 'The operation failed because this type of active route is not supported.'], ['code' => 'OperationFailed.ScopeStandbyRouteEntryQuota', 'message' => 'Operation failed because the quota for standby route entries in the scope has been exceeded.', 'http_code' => 400, 'description' => 'The operation failed because the quota for standby route entries has been exceeded.'], ['code' => 'OperationFailed.ServiceManaged', 'message' => 'Operation is forbidden because this instance belongs to Service manager.', 'http_code' => 404, 'description' => 'A managed instance does not support this operation.'], ['code' => 'OperationFailed.SnatInMiddleStatus', 'message' => 'Operation failed because the status of the SNAT entry of the specified NAT gateway is abnormal.', 'http_code' => 400, 'description' => 'Operation failed because the status of the SNAT entry of the specified NAT gateway is abnormal.'], ['code' => 'OperationFailed.SnatIpsTooMany', 'message' => 'The maximum number of IP addresses is exceeded in the SNAT pool.', 'http_code' => 400, 'description' => 'The maximum number of IP addresses is exceeded in the SNAT pool.'], ['code' => 'OperationFailed.SnatQuotaExceed', 'message' => 'Operation failed because the maximum number of SNAT entry is exceeded.', 'http_code' => 400, 'description' => 'Operation failed because the maximum number of SNAT entry is exceeded.'], ['code' => 'OperationFailed.SslNotSupport', 'message' => 'Enable ssl vpn with private networkType is unsupported.', 'http_code' => 400, 'description' => 'You cannot enable the SSL feature for a private VPN gateway.'], ['code' => 'OperationFailed.StaleBGPRoutes', 'message' => 'BGP routes are still there and automatic route propagation cannot be disabled.', 'http_code' => 400, 'description' => 'Automatic route propagation cannot be disabled because a BGP route is left.'], ['code' => 'OperationFailed.SyncOrderToSub', 'message' => 'SyncOrderToSub error.', 'http_code' => 400, 'description' => 'The operation failed.'], ['code' => 'OperationFailed.SyncTradeResource', 'message' => 'Resource transaction information synchronization failed', 'http_code' => 500, 'description' => 'Failed to synchronize the resource transaction information.'], ['code' => 'OperationFailed.SystemBusy', 'message' => 'Operation failed because system is busy.', 'http_code' => 400, 'description' => 'The error message returned because the system is busy. Try again later.'], ['code' => 'OperationFailed.SystemReservedIpContained', 'message' => 'The specified VSwitchCidrReservationCidr cannot contain system reserved IP addresses.', 'http_code' => 400, 'description' => 'VSwitchCidrReservationCidr cannot contain a reserved IP address.'], ['code' => 'OperationFailed.TargetUserPconnTrafficNotEnable', 'message' => 'The operation failed because of TargetUserPconnTrafficNotEnable.', 'http_code' => 400, 'description' => 'The operation failed because the user does not have outbound traffic enabled.'], ['code' => 'OperationFailed.TokenInvalid', 'message' => 'Create order failed, because the token is invalid', 'http_code' => 400, 'description' => 'The system failed to generate the order because the token is invalid.'], ['code' => 'OperationFailed.UnpaidBillsExist', 'message' => 'The account has unpaid bills. Please pay your overdue bill first.', 'http_code' => 400, 'description' => 'This account has unpaid orders.'], ['code' => 'OperationFailed.UpgradeCdtServiceFirst', 'message' => 'The operation is failed because of cdt is not upgraded.', 'http_code' => 400, 'description' => 'The instance type you specified to purchase needs to be upgraded to CDT billing. Upgrade CDT and try again'], ['code' => 'OperationFailed.UsedInRouteEntryNextHop', 'message' => 'The VPC also has a static route pointing to the ECR, and it is not allowed to disassociate the ECR.', 'http_code' => 400, 'description' => 'The VPC also has a static route pointing to the ECR, and it is not allowed to disassociate the ECR.'], ['code' => 'OperationFailed.VbrBandWidthMust0InVlan0Vbr', 'message' => 'The operation is failed because of VbrBandWidthMust0InVlan0Vbr.', 'http_code' => 400, 'description' => 'Operation failed, speed limit configuration is not allowed.'], ['code' => 'OperationFailed.VbrBindedPconn', 'message' => 'The operation failed because of VbrBindedPconn.', 'http_code' => 400, 'description' => 'The operation failed because a VBR is associated with the Express Connect circuit.'], ['code' => 'OperationFailed.VbrBindedPconn', 'message' => 'The operation is failed because of VbrBindedPconn.', 'http_code' => 400, 'description' => 'A hosted connection is created for the VBR.'], ['code' => 'OperationFailed.VbrLocked', 'message' => 'The VBR is locked.', 'http_code' => 400, 'description' => 'The border router is locked, please try again later.'], ['code' => 'OperationFailed.VirtualPhysicalConnectionExistVBR', 'message' => 'The operation failed because of VirtualPhysicalConnectionExistVBR.', 'http_code' => 400, 'description' => 'The operation failed because a VBR is already associated with the hosted connection.'], ['code' => 'OperationFailed.VirtualPhysicalConnectionExistVBR', 'message' => 'The virtual physical connect has already created another VBR.', 'http_code' => 400, 'description' => 'You cannot create another VBR for the hosted connection because a VBR is already created.'], ['code' => 'OperationFailed.Vlan0VbrUnSharePconn', 'message' => 'VLAN 0 VBR cannot share the physical connection with another VBR.', 'http_code' => 400, 'description' => 'You cannot create a VBR with VLAN 0 for this Express Connect circuit because another VBR with VLAN 0 is already created for this Express Connect circuit.'], ['code' => 'OperationFailed.VlanIdAlreadyInUse', 'message' => 'The specifed vlanId has been used.', 'http_code' => null, 'description' => 'The VLAN ID is in use.'], ['code' => 'OperationFailed.VlanIdInUse', 'message' => 'Operation failed because vlanId is in use.', 'http_code' => 400, 'description' => 'The VLAN ID is already used.'], ['code' => 'OperationFailed.VpcIpv6Disabled', 'message' => 'Operation failed because the VPC has not enabled IPv6.', 'http_code' => 400, 'description' => 'The operation is not supported because IPv6 is not enabled for the VPC.'], ['code' => 'OperationFailed.VpcNotExist', 'message' => 'The specified VPC does not exist.', 'http_code' => 400, 'description' => 'The specified VPC does not exist.'], ['code' => 'OperationFailed.VpcNotExist', 'message' => 'The operation is failed because of vpc is not found.', 'http_code' => 400, 'description' => 'The operation failed because the VPC is not found.'], ['code' => 'OperationFailed.Vpconn', 'message' => 'The operation is failed because of Vpconn.', 'http_code' => 400, 'description' => 'You cannot set the Vpconn parameter.'], ['code' => 'OperationFailed.VpconnAttached', 'message' => 'Cannot terminate physical connection when vpconn are still attached.', 'http_code' => 400, 'description' => 'The shared port still exists and the physical port cannot be disabled.'], ['code' => 'OperationFailed.VPconnCreated', 'message' => 'The operation failed because VPconn is already created.', 'http_code' => 400, 'description' => 'The operation failed because the hosted connection is already created. Do not create again.'], ['code' => 'OperationFailed.VPconnCreated', 'message' => 'The operation is failed because of VPconnCreated.', 'http_code' => 400, 'description' => 'You cannot create an Express Connect circuit.'], ['code' => 'OperationFailed.VpcRoutePropagationDisable', 'message' => 'The VPC system routing table does not enable the acceptance of propagated routes.', 'http_code' => 400, 'description' => 'The VPC system route table is not enabled to accept the propagation route.'], ['code' => 'OperationFailed.VpcRoutePublishEnabledInECR', 'message' => 'VPC supports only one dynamic route learning source at most. Please remove the VPC from ECR.', 'http_code' => 400, 'description' => 'A VPC supports at most one dynamic route learning source. Remove the VPC from ECR'], ['code' => 'OperationFailed.VpcRoutePublishEnabledInTR', 'message' => 'A VPC supports at most one dynamic route learning source. In the forwarding router, disable route synchronization for the VPC.', 'http_code' => 400, 'description' => 'A VPC supports at most one dynamic route learning source. In the forwarding router, disable route synchronization for the VPC.'], ['code' => 'OperationFailed.VpnConnectionExist', 'message' => 'Auto propagate cannot be closed when VPN connections with BGP enabled exist.', 'http_code' => 400, 'description' => 'Auto propagation cannot be closed when VPN connections with BGP enabled exist.'], ['code' => 'OperationFailed.VRouterNotExist', 'message' => 'Operation failed because the VRouter does not exist.', 'http_code' => 400, 'description' => 'Operation failed because the VRouter does not exist.'], ['code' => 'OperationFailed.VswBindedAcl', 'message' => 'The operation failed because a network ACL is associated with the specified VSwitch.', 'http_code' => 400, 'description' => 'The specified vSwitch is associated with a network ACL.'], ['code' => 'OperationFailed.VswBindedRouteTable', 'message' => 'The operation failed because a custom route table that contains subnet routes is associated with the specified VSwitch.', 'http_code' => 400, 'description' => 'The specified vSwitch is associated with a subnet route table.'], ['code' => 'OperationFailed.VswHasAcl', 'message' => 'Operation failed because the specified VSwitch is associated with a network ACL.', 'http_code' => 400, 'description' => 'Operation failed because the specified VSwitch is associated with a network ACL.'], ['code' => 'OperationFailed.VswHasRouteTable', 'message' => 'Operation failed because the specified VSwitch is associated with a route table.', 'http_code' => 400, 'description' => 'Operation failed because the specified VSwitch is associated with a route table.'], ['code' => 'OperationFailed.VSwitchCidrReservationCidr', 'message' => 'The specified VSwitchCidrReservationCidr conflicts with existed cidr reservation or vswitch cidr.', 'http_code' => 400, 'description' => 'The VSwitchCidrReservationCidr value conflicts with an existing VSwitchCidrReservation value.'], ['code' => 'OperationFailed.VSwitchIpv6Disabled', 'message' => 'The operation is failed because of %s.', 'http_code' => 400, 'description' => 'IPv6 is not enabled for the vSwitch. Enable IPv6 and try again.'], ['code' => 'OperationFailed.VSwitchNoAvailableIp', 'message' => 'Operation failed because the number of available IP addresses of the specified VSwitch is insufficient.', 'http_code' => 400, 'description' => 'Operation failed because the number of available IP addresses of the specified VSwitch is insufficient.'], ['code' => 'OperationFailed.VSwitchNotFound', 'message' => 'The specified vSwitch does not exist.', 'http_code' => 400, 'description' => 'vSwitch is not found.'], ['code' => 'OperationFailed.VSwitchNotInVpc', 'message' => 'The specified VSwitch and NAT gateway must be in the same VPC.', 'http_code' => 400, 'description' => 'The specified VSwitch and NAT gateway must be in the same VPC.'], ['code' => 'OperationFailed.VSwitchStatusError', 'message' => 'The vSwitch is creating .', 'http_code' => 400, 'description' => 'The vSwitch is being created.'], ['code' => 'OperationFailed.VswNotBelongToVpc', 'message' => 'Operation failed because the specified VSwitch is not bound to the same VPC with NAT gateway.', 'http_code' => 400, 'description' => 'The vSwitch and NAT gateway do not belong to the same VPC.'], ['code' => 'OperationFailed.VswNotExist', 'message' => 'The specified VSwitch does not exist.', 'http_code' => 400, 'description' => 'The specified VSwitch does not exist.'], ['code' => 'OperationFailed.ZoneIdInconsistent', 'message' => 'Operation failed because the ZoneId is inconsistent.', 'http_code' => 400, 'description' => 'The operation is not supported because the zone ID does not match.'], ['code' => 'OperationUnsupport', 'message' => 'Operation is unsupport, not in vbr support custom local asn white list.', 'http_code' => 400, 'description' => 'The operation is not supported.'], ['code' => 'OperationUnsupported.AccessDevice', 'message' => 'The AccessDevice is not supported.', 'http_code' => 400, 'description' => 'The operation does not support access to the device.'], ['code' => 'OperationUnsupported.action', 'message' => 'This action is not support.', 'http_code' => 400, 'description' => 'The error message returned because the operation is not supported.'], ['code' => 'OperationUnsupported.AdvancedFeature', 'message' => 'Advanced features of the vpc is unsupported.', 'http_code' => 400, 'description' => 'This advanced feature is not supported.'], ['code' => 'OperationUnsupported.AllocateCountTooMuch', 'message' => '%s is unsupported.', 'http_code' => 400, 'description' => 'The number of IP addresses exceeds the upper limit. See the API reference and specify a valid value.'], ['code' => 'OperationUnsupported.BindMultipleType', 'message' => 'You cannot bind HaVip to multiple instance types.', 'http_code' => 400, 'description' => 'You cannot associate the ECS instance and the ENI at the same time.'], ['code' => 'OperationUnsupported.BindOnFreeNetworkInterface', 'message' => 'The network interface must be attached to an ECS instance.', 'http_code' => 400, 'description' => 'The ENI must be associated with an ECS instance.'], ['code' => 'OperationUnsupported.BindOnMultipleVswitch', 'message' => 'The bound instance and HaVip must be on the same vSwitch.', 'http_code' => 400, 'description' => 'The instance to be associated and the HAVIP must belong to the same vSwitch.'], ['code' => 'OperationUnsupported.BindOnSameEcs', 'message' => 'You cannot bind two network interfaces on the same ECS instance.', 'http_code' => 400, 'description' => 'You are not allowed to associate two ENIs of the same ECS instance.'], ['code' => 'OperationUnsupported.BondingNetworkInterface', 'message' => 'The specified traffic mirror source is bonding eni without slave.', 'http_code' => 400, 'description' => 'The operation does not support a bond ENI without a slave ENI.'], ['code' => 'OperationUnsupported.CenIpv6Enabled', 'message' => 'The IPv6 feature is enabled in CEN.', 'http_code' => 400, 'description' => 'The IPv6 feature is already enabled for CEN.'], ['code' => 'OperationUnsupported.CidrConflict', 'message' => 'The specified CIDR block conflicts with an existing SNAT entry.', 'http_code' => 400, 'description' => 'The specified CIDR block conflicts with those in existing SNAT entries.'], ['code' => 'OperationUnsupported.DestinationCidrBlockOverlapWithVSwitch', 'message' => 'The destination IPv6 network segment specified in the route entry overlaps with the vSwitch network segment.', 'http_code' => 400, 'description' => 'The error message returned because the destination IPv6 CIDR block of the route overlaps with the vSwitch CIDR block.'], ['code' => 'OperationUnsupported.DestinationCidrBlockOverlapWithVSwitch', 'message' => 'The destination IPv6 network segment specified in the route entry overlaps with the vSwitch network segment。', 'http_code' => 400, 'description' => 'The error message returned because the destination IPv6 CIDR block of the route includes the vSwitch CIDR block.'], ['code' => 'OperationUnsupported.DhcpLeaseTime', 'message' => 'The DhcpOptionsSet of this region does not support custom LeaseTime.', 'http_code' => 400, 'description' => 'DHCP options sets in the region do not support a custom lease time.'], ['code' => 'OperationUnsupported.DhcpOptionsSet', 'message' => 'The DHCP options set feature in this region is not supported.', 'http_code' => 400, 'description' => 'The current region does not support the DHCP options sets feature.'], ['code' => 'OperationUnsupported.DisableIpv6', 'message' => 'The operation is unsupported because IPv6 is not enabled.', 'http_code' => 400, 'description' => 'The current operation is not supported because the IPv6 feature is not enabled.'], ['code' => 'OperationUnsupported.EgressOnlyRuleOnFreeIpv6Instance', 'message' => 'Creating ipv6 egress only rule on ipv6 instance that not associated with any resource is unsupported.', 'http_code' => 400, 'description' => 'Creating egress-only rules on unbound IPv6 instances is not supported'], ['code' => 'OperationUnsupported.EgressRuleInDefaultSpec', 'message' => 'Egress-only rule is not supported. Please update the spec of IPv6 Gateway to Medium or Large.', 'http_code' => 400, 'description' => 'The free edition IPv6 gateway does not support creating egress-only rules. Upgrade the IPv6 gateway to Enterprise Edition or Enhanced Enterprise Edition.'], ['code' => 'OperationUnsupported.EgressRuleVSwitch', 'message' => 'The specified VSwitch is not supported to create egress-only rule.', 'http_code' => 400, 'description' => 'The specified region does not support vSwitch-level egress-only rules.'], ['code' => 'OperationUnsupported.EipInBinding', 'message' => 'Create snat entry with eip in associating status is unsupported.', 'http_code' => 400, 'description' => 'You cannot use an associated EIP when you create an SNAT entry.'], ['code' => 'OperationUnsupported.EipNatBWPCheck', 'message' => 'The EIP is not associated with a NAT service plan.', 'http_code' => 400, 'description' => 'The EIP is not associated with a NAT service plan.'], ['code' => 'OperationUnsupported.EipNatGWCheck', 'message' => 'Operation is not supported because the relation check of EIP and NAT gateway has failed.', 'http_code' => 400, 'description' => 'Operation is not supported because the relation check of EIP and NAT gateway has failed.'], ['code' => 'OperationUnsupported.EnableBgp', 'message' => 'Current version of the VPN does not support enable BGP.', 'http_code' => 400, 'description' => 'The current version of the VPN gateway does not support BGP.'], ['code' => 'OperationUnsupported.EnableBgp', 'message' => 'Current region does not support enable BGP.', 'http_code' => 400, 'description' => 'The error message returned because the current region does not support BGP.'], ['code' => 'OperationUnsupported.EnhancedCURegion', 'message' => 'Pay-by-CU Enhanced NAT Gateway is not supported in this region.', 'http_code' => 400, 'description' => 'Pay-by-CU Enhanced NAT Gateway is not supported in this region.'], ['code' => 'OperationUnsupported.EnhancedRegion', 'message' => 'Enhanced NAT Gateway is not supported in this region.', 'http_code' => 400, 'description' => 'Enhanced NAT Gateway is not supported in this region.'], ['code' => 'OperationUnsupported.FinancialLocked', 'message' => 'The operation is forbidden because of financialLocked.', 'http_code' => 400, 'description' => 'The error message returned because the resource is locked due to overdue payments and the operation is denied.'], ['code' => 'OperationUnsupported.ForwardEntry', 'message' => 'Duplicated destination ip port is unsupported.', 'http_code' => 400, 'description' => 'You cannot specify duplicate destination IP addresses or destination ports.'], ['code' => 'OperationUnsupported.FreeIpv6Feature', 'message' => 'Free IPv6 feature in this region is unsupported.', 'http_code' => 400, 'description' => 'The current region does not support allocating free IPv6 address instances.'], ['code' => 'OperationUnsupported.FreeIpv6PrefixFeature', 'message' => 'Free IPv6 prefix feature in this region is unsupported.', 'http_code' => 400, 'description' => 'Ipv6Prefix feature is not supported in this region'], ['code' => 'OperationUnsupported.FreePrivateIpv6', 'message' => 'This operation does not support free private IPv6 addresses.', 'http_code' => 400, 'description' => 'This operation does not support free private IPv6 addresses.'], ['code' => 'OperationUnsupported.HavipBindType', 'message' => 'You cannot bind HAVIP to network interface in the specified region.', 'http_code' => 400, 'description' => 'You are not allowed to associate ENIs in the specified region.'], ['code' => 'OperationUnsupported.IpNotInCbwp', 'message' => 'The specified eip not exist in the commonBandwidthPackage.', 'http_code' => 400, 'description' => 'The EIP is not associated with the EIP bandwidth plan.'], ['code' => 'OperationUnsupported.IpsecPfs', 'message' => 'The specified IPsec Pfs is unsupported.', 'http_code' => 400, 'description' => 'The specified IPsec PFS property is not supported.'], ['code' => 'OperationUnsupported.IPsecServer', 'message' => 'The current version of the VPN gateway does not support IPsec server.', 'http_code' => 400, 'description' => 'The current version of the VPN gateway does not support IPsec server.'], ['code' => 'OperationUnsupported.IpType', 'message' => 'The EIP type does not support the operation.', 'http_code' => 400, 'description' => 'You cannot add an EIP of this type.'], ['code' => 'OperationUnsupported.Ipv6CidrBlock', 'message' => 'The specified IPv6 CIDR block is unsupported.', 'http_code' => 400, 'description' => 'The specified IPv6CidrBlock is not supported.'], ['code' => 'OperationUnsupported.Ipv6EcmpRouteEntry', 'message' => 'The EcmpRouteEntry is not supported for IPv6.', 'http_code' => 400, 'description' => 'IPv6 does not support ECMP routing.'], ['code' => 'OperationUnsupported.Ipv6EntryOnPrimaryNetworkInterface', 'message' => 'You cannot create IPv6 route entries on a primary network interface.', 'http_code' => 400, 'description' => 'You cannot create an IPv6 route whose next hop is a primary ENI.'], ['code' => 'OperationUnsupported.Ipv6Feature', 'message' => 'The IPv6 feature is not supported in the region.', 'http_code' => 400, 'description' => 'This region does not support IPv6.'], ['code' => 'OperationUnsupported.Ipv6Feature', 'message' => 'The IPv6 feature is not supported.', 'http_code' => 400, 'description' => 'The current operation does not support the IPv6 feature.'], ['code' => 'OperationUnsupported.IPV6ForThisRegion', 'message' => 'This Region do not support IPV6.', 'http_code' => 400, 'description' => 'The region does not support IPv6.'], ['code' => 'OperationUnsupported.Ipv6ForVBR', 'message' => 'IPv6 route entry is not supported for VirtualBorderRouter.', 'http_code' => 400, 'description' => 'The Virtual Border Router does not support IPv6 routes.'], ['code' => 'OperationUnsupported.IPv6ULA', 'message' => 'The ULA IPv6 CIDR type is unsupported.', 'http_code' => 400, 'description' => 'The current operation does not support ULA addresses.'], ['code' => 'OperationUnsupported.ModifyBandwidth', 'message' => 'You cannot modify the bandwidth of the VBR in sale.', 'http_code' => 400, 'description' => 'You cannot modify the bandwidth of a VBR in sale.'], ['code' => 'OperationUnsupported.ModifyBandwidth', 'message' => 'Modify Sale VirtualBorderRouter Bandwidth Unsupported.', 'http_code' => 400, 'description' => 'You cannot save the modified bandwidth parameter.'], ['code' => 'OperationUnsupported.MultipleIpv6Address', 'message' => 'Operation unsupported because specific route next hop instance has multiple IPv6 address.', 'http_code' => 400, 'description' => 'The operation is not supported because the specified route next hop instance is bound to multiple IPv6 addresses'], ['code' => 'OperationUnsupported.MutipleIpv6Address', 'message' => 'You cannot specify a next hop that has bound multiple IPv6 addresses.', 'http_code' => 400, 'description' => 'You cannot specify a next hop that is assigned multiple IPv6 addresses.'], ['code' => 'OperationUnsupported.NatConvert', 'message' => 'The NAT gateway conversion function is not supported.', 'http_code' => 400, 'description' => 'The NAT gateway conversion function is not supported.'], ['code' => 'OperationUnsupported.NATGWBONDINGENI', 'message' => 'Operation is unsupported because the specified network interface is created with enhanced NAT gateway.', 'http_code' => 400, 'description' => 'Operation is unsupported because the specified network interface is created with enhanced NAT gateway.'], ['code' => 'OperationUnsupported.NormalInventoryNotEnough', 'message' => 'Operation is unsupported because the inventory of standard NAT gateway is insufficient.', 'http_code' => 400, 'description' => 'Operation is unsupported because the inventory of standard NAT gateway is insufficient.'], ['code' => 'OperationUnsupported.NotPConnOwner', 'message' => 'Only the owner of the leased line can update the bandwidth.', 'http_code' => 400, 'description' => 'Only the owner of the leased line can update the bandwidth.'], ['code' => 'OperationUnsupported.OnlyOneIpv6GatewayInVpc', 'message' => 'Operation is not supported because a VPC is only allowed to have one IPv6 gateway.', 'http_code' => 400, 'description' => 'The operation is not supported because a VPC can have only one IPv6 gateway.'], ['code' => 'OperationUnsupported.OnlySupportNormalNetworkInterface', 'message' => 'Next hop only supports binding normal network Interface.', 'http_code' => 400, 'description' => 'Next hop only supports binding to common ENIs'], ['code' => 'OperationUnsupported.OnlyULA', 'message' => 'The IPv6 CIDR type can only be ULA.', 'http_code' => 400, 'description' => 'Only ULA-type IPv6 addresses are supported.'], ['code' => 'OperationUnsupported.PayByLcuNatModifySpec', 'message' => 'The spec of payByLcu nat is unsupported to modify.', 'http_code' => 404, 'description' => 'Pay-as-you-go NAT gateways cannot be resized.'], ['code' => 'OperationUnsupported.PrePaid', 'message' => '%s is unsupported.', 'http_code' => 400, 'description' => 'IPv6 Internet bandwidth does not support the subscription billing method. Change the billing method.'], ['code' => 'OperationUnsupported.PrePaidPyByLcu', 'message' => 'The operation failed because the subscription NAT gateway does not support the pay-by-LCU billing method.', 'http_code' => 400, 'description' => 'The operation failed because the subscription NAT gateway does not support the pay-by-LCU billing method.'], ['code' => 'OperationUnsupported.PrivateGUA', 'message' => 'This operation does not support private GUA addresses.', 'http_code' => 400, 'description' => 'This operation does not support private GUA addresses.'], ['code' => 'OperationUnsupported.PublishPrefixListRouteEntry', 'message' => 'Publishing prefix list route entry is unsupported.', 'http_code' => 400, 'description' => 'Publishing route prefix list routes is not supported.'], ['code' => 'OperationUnsupported.PublishSystemRouteEntry', 'message' => 'Publishing system route entry is unsupported.', 'http_code' => 400, 'description' => 'Publishing system routes is not supported.'], ['code' => 'OperationUnsupported.Qos', 'message' => 'QoS is unsupported.', 'http_code' => 400, 'description' => 'Current user does not support creating QoS, please contact Business Manager'], ['code' => 'OperationUnsupported.RegionAndServiceLocationNotMatch', 'message' => 'Operation is not supported because the region and service location do not match.', 'http_code' => 400, 'description' => 'Operation is not supported because the region and service location do not match.'], ['code' => 'OperationUnsupported.ResourceGroupId', 'message' => 'ResourceGroup is not supported in this region.', 'http_code' => 400, 'description' => 'The operation is not supported. Resource group IDs are not supported in Alibaba Finance Cloud.'], ['code' => 'OperationUnsupported.ResourceGroupId', 'message' => 'ResourceGroupId in financial region is unsupported.', 'http_code' => 400, 'description' => 'The operation is not supported because Alibaba Finance Cloud does not support resource group IDs.'], ['code' => 'OperationUnsupported.RouterInterfaceExist', 'message' => 'Operation failed because the VPC has a router interface.', 'http_code' => 400, 'description' => 'The VPC has a router interface.'], ['code' => 'OperationUnsupported.ScopeInvalidRouteType', 'message' => 'The specified route type is unsupported.', 'http_code' => 400, 'description' => 'This route type is not supported.'], ['code' => 'OperationUnsupported.ServiceManaged', 'message' => 'Operation of %s is forbidden because this instance belongs to Service manager.', 'http_code' => 400, 'description' => 'The operation is not allowed. The instance belongs to a managed resource.'], ['code' => 'OperationUnsupported.SetDPD', 'message' => 'Current version of the VPN does not support setting DPD.', 'http_code' => 400, 'description' => 'The VPN gateway version does not support DPD.'], ['code' => 'OperationUnsupported.SetMultiPconnBandwidth', 'message' => 'You cannot set the bandwidth of VBR with multiple physical connections.', 'http_code' => 400, 'description' => 'You cannot specify bandwidth for a VBR associated with multiple Express Connect circuits.'], ['code' => 'OperationUnsupported.SetMultiPconnBandwidth', 'message' => 'Set Multi PhysicalConnection Bandwidth Unsupported.', 'http_code' => 400, 'description' => 'Bandwidth for multiple Express Connect circuits is not supported.'], ['code' => 'OperationUnsupported.SetNatTraversal', 'message' => 'Current version of the VPN does not support setting NAT traversal.', 'http_code' => 400, 'description' => 'The VPN gateway version does not support NAT traversal.'], ['code' => 'OperationUnsupported.SkipConstruction', 'message' => 'You are not authorized to skip the construction.', 'http_code' => 400, 'description' => 'You are not authorized to skip the construction.'], ['code' => 'OperationUnsupported.SkipConstruction', 'message' => 'You can not skip construction.', 'http_code' => 400, 'description' => 'You cannot skip the construction step.'], ['code' => 'OperationUnsupported.SpecifyIpOnIpv6Entry', 'message' => 'You cannot specify the private IP address when you create IPv6 route entries.', 'http_code' => 400, 'description' => 'You cannot specify a private IPv6 address as the destination CIDR block.'], ['code' => 'OperationUnsupported.SystemRouteTable', 'message' => 'System route table can not be unassociated.', 'http_code' => 404, 'description' => 'You cannot disassociate the system route table.'], ['code' => 'OperationUnsupported.ULA', 'message' => '%s is unsupported.', 'http_code' => 400, 'description' => 'This operation does not support ULA addresses.'], ['code' => 'OperationUnsupported.UnboundIpv6Feature', 'message' => 'The region does not support creating IPv6 addresses that are not bound to any resources.', 'http_code' => 400, 'description' => 'The region does not support creating IPv6 address instances that are not bound to resources.'], ['code' => 'OperationUnsupported.UnboundIpv6PrefixFeature', 'message' => 'The region does not support creating IPv6 prefix that are not bound to any resources.', 'http_code' => 400, 'description' => 'This region does not support creating IPv6 prefix CIDR blocks that are not bound to resources.'], ['code' => 'OperationUnsupported.UnsupportedNextHop', 'message' => 'Unsupported nexthop type for route entry publish operation.', 'http_code' => 400, 'description' => 'The next hop type of the route entry does not support publishing.'], ['code' => 'OperationUnsupported.VBRAttachedCen', 'message' => 'Operation failed because the VBR is attached to CEN.', 'http_code' => 400, 'description' => 'The operation failed because the VBR is already associated with a Cloud Enterprise Network (CEN) instance.'], ['code' => 'OperationUnsupported.VBRAttachedECR', 'message' => 'VBR already attached to ECR, please delete it from ECR.', 'http_code' => 400, 'description' => 'The VBR has been bound to ECR. Delete the VBR from ECR and try again.'], ['code' => 'OperationUnsupported.VbrWithMultiPconn', 'message' => 'The vbr %s has multiple pconn.', 'http_code' => 400, 'description' => 'vbr is bound to multiple pconn'], ['code' => 'OperationUnsupported.VirtualBorderRouterEnableIPv6', 'message' => 'The operation failed. The device or region does not support IPv6 functions.', 'http_code' => 400, 'description' => 'The operation failed because the device or region does not support IPv6.'], ['code' => 'OperationUnsupported.VpcAttachedCen', 'message' => 'Operation failed because the VPC is attached to CEN.', 'http_code' => 400, 'description' => 'Operation failed because the VPC is attached to CEN.'], ['code' => 'OppositeRouterInterfaceIsDeleted', 'message' => 'The opposite router interface is already deleted.', 'http_code' => 400, 'description' => 'The opposite router interface has been deleted'], ['code' => 'OptInRequired.FlowLog', 'message' => 'You are not authorized to use the requested service of flowLog. Ensure that you have subscribed to the service you are trying to use.', 'http_code' => 400, 'description' => 'The error message returned because you do not have the permissions to use the flow log feature. Make sure that the flow log feature is already enabled.'], ['code' => 'OptInRequired.PublicIpAddressPool', 'message' => 'You are not authorized to use the requested service of publicIpAddressPool. Ensure that you have subscribed to the service you are trying to use.', 'http_code' => 400, 'description' => 'You are not authorized to use the requested IP address pool service. Make sure you have subscribed to the service you are trying to use.'], ['code' => 'OptInRequired.TrafficMirror', 'message' => 'You need to subscribe to the traffic mirror service first.', 'http_code' => 400, 'description' => 'Traffic mirroring is disabled.'], ['code' => 'ORDER.ACCOUNT_STATUS_ILLEGAL', 'message' => null, 'http_code' => null, 'description' => 'The account status is invalid.'], ['code' => 'ORDER.ARREARAGE', 'message' => null, 'http_code' => null, 'description' => 'The account balance is insufficient.'], ['code' => 'ORDER.BID_USER_ ORDER_FORBIDDEN', 'message' => null, 'http_code' => null, 'description' => 'You cannot purchase preemptible instances with this account.'], ['code' => 'ORDER.INSTANCE_HAS_INACTIVE_CHANGE', 'message' => null, 'http_code' => null, 'description' => 'Processing changes.'], ['code' => 'ORDER.INST_HAS_UNPAID_ORDER', 'message' => null, 'http_code' => null, 'description' => 'The account has unpaid orders.'], ['code' => 'ORDER.INST_HAS_UNSETTLED_BILLS', 'message' => null, 'http_code' => null, 'description' => 'The account has unpaid orders.'], ['code' => 'Order.NoRealNameAuthentication', 'message' => 'Real-name verification has not been completed for the account.', 'http_code' => 400, 'description' => 'You have not performed real-name authentication. Please go to the account center to complete real-name authentication.'], ['code' => 'ORDER.NOT_ENOUGH_ACTIVITY_STOCK', 'message' => null, 'http_code' => null, 'description' => 'The activity inventory is insufficient.'], ['code' => 'ORDER.NO_REAL_NAME_AUTHENTICATION', 'message' => null, 'http_code' => null, 'description' => 'The account has not completed real-name verification.'], ['code' => 'ORDER.OPEND', 'message' => null, 'http_code' => null, 'description' => 'The instance is enabled.'], ['code' => 'ORDER.OPENED', 'message' => 'You have already open the service. Go to the console to start using it.', 'http_code' => 400, 'description' => 'The cloud traffic service has been activated. Go to the console to use it.'], ['code' => 'ORDER.ORDER_AMOUNT_ILLEGAL', 'message' => null, 'http_code' => null, 'description' => 'The order amount is invalid.'], ['code' => 'ORDER.PERIOD_INVALID', 'message' => null, 'http_code' => null, 'description' => 'The purchase cycle is invalid.'], ['code' => 'ORDER.QUANTITY_INVALID', 'message' => 'User quota has exceeded the limit.', 'http_code' => 400, 'description' => 'The maximum number of EIPs you maintain is exceeded. You can go to quota management to increase the upper limit of EIPs.'], ['code' => 'ORDER.QUOTA_EXCEEDED', 'message' => null, 'http_code' => null, 'description' => 'The number of instances that you purchased exceeds the upper limit.'], ['code' => 'ORDER.SYS_CONSTRAINT_INVALID', 'message' => null, 'http_code' => null, 'description' => 'The order system has not passed constraint validation.'], ['code' => 'OrderError', 'message' => 'Failed to create the order.', 'http_code' => 400, 'description' => 'The error message returned because the system failed to create the order. Try again later.'], ['code' => 'OrderError.EIP', 'message' => 'Failed to place an order.', 'http_code' => 400, 'description' => 'Failed to place the order.'], ['code' => 'OrderError.EIP', 'message' => 'The account failed to create an order.', 'http_code' => 400, 'description' => 'The account failed to create an order.'], ['code' => 'OrderError.EIP', 'message' => 'The Account failed to create order.', 'http_code' => 400, 'description' => 'Failed to place the order.'], ['code' => 'OrderFailed', 'message' => null, 'http_code' => null, 'description' => 'The system failed to create the order.'], ['code' => 'OrderFailed.ConcurrentOperate', 'message' => 'Failed to create the order due to concurrent operations.', 'http_code' => 400, 'description' => 'Failed to create the order because concurrent operations are performed.'], ['code' => 'PARAMETER.FULLNAT.NATGATEWAYID.ERROR', 'message' => 'natGatewayId is invalid', 'http_code' => 400, 'description' => 'natGatewayId is set to an invalid value.'], ['code' => 'Parameter.Illegal', 'message' => 'The parameter is illegal.', 'http_code' => 400, 'description' => 'The parameter is invalid.'], ['code' => 'ParameterIllegal', 'message' => 'ipCount', 'http_code' => null, 'description' => 'IpCount is set to an invalid value.'], ['code' => 'ParameterIllegal.Name', 'message' => 'ParameterIllegal.Name', 'http_code' => 400, 'description' => 'The name of the entry is invalid.'], ['code' => 'ParameterInvalid', 'message' => 'Invalid parameter.', 'http_code' => 400, 'description' => 'The error message returned because a parameter is invalid.'], ['code' => 'ParameterLengthIllegal.Name', 'message' => 'ParameterLengthIllegal.Name', 'http_code' => 400, 'description' => 'The length of the rule name is invalid.'], ['code' => 'ParameterMismatch.Role-Spec', 'message' => 'The specified Spec and Role mismatch.', 'http_code' => null, 'description' => 'The router interface specification and role do not match.'], ['code' => 'PARAMETER_MUST_NOT_NULL', 'message' => 'The specified physical connection id or vbrId must not be null.', 'http_code' => null, 'description' => 'VbrId and PhysicalConnectionId are not specified.'], ['code' => 'ParamExclusive.DisableIpv6AndIpv6CidrBlock', 'message' => 'DisableIpv6 and Ipv6Cidr are mutually exclusive.', 'http_code' => 400, 'description' => 'You cannot modify Ipv6Cidr and DisableIpv6 at the same time.'], ['code' => 'ParamExclusive.IpInstanceIdAndBandwidthPackageId', 'message' => 'IpInstanceId and BandwidthPackageId is mutually exclusive.', 'http_code' => 400, 'description' => 'IpInstanceId and BandwidthPackageId are mutually exclusive.'], ['code' => 'ParamExclusive.Ipv6AddressIdAndIpv6InternetBandwidthId', 'message' => 'Ipv6AddressId and Ipv6InternetBandwidthId is mutually exclusive.', 'http_code' => 400, 'description' => 'The error message returned because Ipv6AddressId and Ipv6InternetBandwidthId are not set for the same instance.'], ['code' => 'ParamExclusive.RouteEntryIdAndRouteTableIdOrDestCidrBlock', 'message' => 'RouteEntryId and RouteTableIdOrDestCidrBlock is mutually exclusive.', 'http_code' => 400, 'description' => 'RouteEntryId and RouteTableIdOrDestCidrBlock are mutually exclusive.'], ['code' => 'ParamExclusive.SnatIpAndNetworkInterfaceId', 'message' => 'SnatIp and NetworkInterfaceId is mutually exclusive when create a snat entry for nat.', 'http_code' => 400, 'description' => 'When you create an SNAT rule for a NAT Gateway instance, you cannot specify the SnatIp parameter and the NetworkInterfaceId parameter at the same time.'], ['code' => 'ParamExclusive.VpnGatewayIdAndVpnConnectionId', 'message' => 'VpnGatewayId and VpnConnectionId is mutually exclusive.', 'http_code' => 400, 'description' => 'VpnGatewayId and VpnConnectionId are mutually exclusive.'], ['code' => 'ParamsInvalid', 'message' => null, 'http_code' => null, 'description' => 'Invalid request parameters.'], ['code' => 'PAY.ACCOUNT_BOOK_NOT_EXIST', 'message' => null, 'http_code' => null, 'description' => 'The specified account book does not exist.'], ['code' => 'PAY.AMOUNT_LIMIT_EXCEEDED', 'message' => null, 'http_code' => null, 'description' => 'The amount exceeds the upper limit.'], ['code' => 'PAY.COUPON_NOT_EXIST', 'message' => null, 'http_code' => null, 'description' => 'The coupon does not exist.'], ['code' => 'PAY.COUPON_NOT_MEET_CONSUMPTION_RULE', 'message' => null, 'http_code' => null, 'description' => 'The specified coupon is invalid and cannot be used.'], ['code' => 'PAY.CURRENCY_INCONSISTENCY', 'message' => null, 'http_code' => null, 'description' => 'The currency does not match.'], ['code' => 'PAY.CURRENCY_NOT_SUPPORTED', 'message' => null, 'http_code' => null, 'description' => 'This account does not support the currency.'], ['code' => 'PAY.GET_PAY_URL_ERROR', 'message' => null, 'http_code' => null, 'description' => 'An exception occurred while getting the top-up URL.'], ['code' => 'PAY.INSUFFICIENT_BALANCE', 'message' => null, 'http_code' => null, 'description' => 'The account balance is insufficient.'], ['code' => 'PAY.INSUFFICIENT_BALANCE', 'message' => 'The Account Balance is insufficient.', 'http_code' => 400, 'description' => 'The Account Balance is insufficient.'], ['code' => 'PAY.INSUFFICIENT_BALANCE', 'message' => 'Your account does not have enough balance.', 'http_code' => 400, 'description' => 'Your account does not have enough balance.'], ['code' => 'PAY.INVALID_AMOUNT', 'message' => null, 'http_code' => null, 'description' => 'The payment amount is invalid.'], ['code' => 'PAY.INVALID_CREDIT_CARD', 'message' => null, 'http_code' => null, 'description' => 'The specified credit card is invalid.'], ['code' => 'PAY.MAYI.WITHHOLDING.AGREEMENT.ILLEGAL', 'message' => 'User withhoding argeement is illegal.', 'http_code' => 400, 'description' => 'Invalid fees'], ['code' => 'PAY.NO_CREDIT_CARD', 'message' => null, 'http_code' => null, 'description' => 'This account does not have a credit card added.'], ['code' => 'PAY.PAYMENT_PARAMETER_INVALID', 'message' => null, 'http_code' => null, 'description' => 'The payment parameters are invalid.'], ['code' => 'PAY.PAY_ORDER_FAILED', 'message' => null, 'http_code' => null, 'description' => 'The system failed to complete the payment. Try again later.'], ['code' => 'PAY.QueryParentRelationshipFailed', 'message' => 'Lx failed to query the current user hosting relationship.', 'http_code' => 400, 'description' => 'Failed to query the current user hosting relationship.'], ['code' => 'PAY.QUERY_QUOTA_BOOK_FAILED', 'message' => null, 'http_code' => null, 'description' => 'The system failed to query the user quota.'], ['code' => 'PAY.REFUND_FAILED', 'message' => null, 'http_code' => null, 'description' => 'An error occurred while refunding.'], ['code' => 'PAY.STORED_CARD_NOT_EXIST', 'message' => null, 'http_code' => null, 'description' => 'The specified stored-value card does not exist.'], ['code' => 'PAY.TAX_CALC_FAILED', 'message' => null, 'http_code' => null, 'description' => 'The system failed to calculate tax.'], ['code' => 'PAY.USER_DECLINED', 'message' => null, 'http_code' => null, 'description' => 'The user refuses to pay.'], ['code' => 'PAY.WITHHOLDING_AGREEMENT_ILLEGAL', 'message' => null, 'http_code' => null, 'description' => 'The tax withholding agreement is invalid.'], ['code' => 'PconnContailsMoreThanOneAcrossCountVbr', 'message' => 'The specified physicalConnection contains more than one virtualBorderRouter which is across count.', 'http_code' => 400, 'description' => 'Physical connections that contain more than one cross-account VBR do not support failover test.'], ['code' => 'PconnContainsMoreThanOneVpconn', 'message' => 'The specified physicalConnection contains more than one virtualPhysicalConnection.', 'http_code' => 400, 'description' => 'A physical line that contains more than one shared physical line does not support failover test.'], ['code' => 'PHYSICAL_NOT_ALLOW_ASSOCIATE_VBR', 'message' => 'The specified operation not allow.', 'http_code' => null, 'description' => 'The Express Connect circuit is associated with a VBR and the operation cannot be performed.'], ['code' => 'PHYSICAL_NOT_ASSOCIATE_TO_VBR', 'message' => 'The specified PhysicalConnection have not associate to the vbr.', 'http_code' => 400, 'description' => 'No VBR is created for the Express Connect circuit.'], ['code' => 'PRICE.INQUIRY_FAILED', 'message' => null, 'http_code' => null, 'description' => 'Pricing query failed.'], ['code' => 'PRICE.INVALID_INQUIRY_PARAMETER', 'message' => null, 'http_code' => null, 'description' => 'The specified pricing query parameters are invalid.'], ['code' => 'PRICE.PRICING_PLAN_NOT_FOUND', 'message' => null, 'http_code' => null, 'description' => 'The specified pricing scheme does not exist.'], ['code' => 'PRICE.PRICING_PLAN_RESULT_NOT_FOUND', 'message' => null, 'http_code' => null, 'description' => 'The instance pricing plan is not matched. Submit a ticket.'], ['code' => 'PRICE.PRICING_PLAN_RESULT_NOT_FOUND', 'message' => 'The instance pricing plan result is not found.', 'http_code' => 400, 'description' => 'The instance pricing plan result is not found.'], ['code' => 'Price.SystemError', 'message' => 'Price inquiry failed.', 'http_code' => 400, 'description' => 'The error message returned because the inquiry failed. Try again later.'], ['code' => 'PRICE.TAXING_ERROR', 'message' => null, 'http_code' => null, 'description' => 'The system failed to calculate tax.'], ['code' => 'PRODUCT.INSTANCE_RELEASED', 'message' => null, 'http_code' => null, 'description' => 'The instance is released.'], ['code' => 'PRODUCT.INSTANCE_TYPE_NOT_EXIST', 'message' => null, 'http_code' => null, 'description' => 'The specified instance type does not exist.'], ['code' => 'PRODUCT.INSTANCE_TYPE_NOT_SUPPORTED', 'message' => null, 'http_code' => null, 'description' => 'This instance type is unavailable for this account.'], ['code' => 'PRODUCT.INSUFFICIENT_STOCK', 'message' => null, 'http_code' => null, 'description' => 'The operation failed because resources are insufficient.'], ['code' => 'PRODUCT.NOT_AVAILABLE_IZ', 'message' => null, 'http_code' => null, 'description' => 'The specified zone is not supported.'], ['code' => 'ProjectOrLogstoreNotExist', 'message' => 'The specified project or logstore does not exist.', 'http_code' => 400, 'description' => 'The error message returned because the specified project or Logstore does not exist.'], ['code' => 'PURCHASE.NO_VAILD_PURCHASE', 'message' => null, 'http_code' => null, 'description' => 'The purchase is invalid.'], ['code' => 'PURCHASE.PURCHASE_QUERY_FAILED', 'message' => null, 'http_code' => null, 'description' => 'The specified purchase record cannot be found.'], ['code' => 'PURCHASE.QUANTITY.LIMIT', 'message' => 'Your purchase quantity exceeds the maximum limit.', 'http_code' => 400, 'description' => 'The specified quantity exceeds the upper limit.'], ['code' => 'QUANTITY_INVALID', 'message' => null, 'http_code' => null, 'description' => 'The number of instances exceeds the upper limit.'], ['code' => 'QueryVpnConnectionLog.NotFound', 'message' => 'the connection log of the vpn connection is not found.', 'http_code' => 400, 'description' => 'the connection log of the vpn connection is not found.'], ['code' => 'QuotaExceed.MultiBindedEip', 'message' => 'The number of multi binded eip is over limit.', 'http_code' => 400, 'description' => 'the number of multi-passthrough mode eips that can be bound exceeds the limit.'], ['code' => 'QuotaExceed.NetworkAclEntry', 'message' => 'Network acl entry is over limit.', 'http_code' => 400, 'description' => 'The number of rules in the network ACL has reached the upper limit'], ['code' => 'QuotaExceed.RouterInterface', 'message' => 'Living RouterInterface quota exceeded.', 'http_code' => null, 'description' => 'The number of active router interfaces has reached the upper limit.'], ['code' => 'QuotaExceeded', 'message' => 'Route entry quota exceeded in this route table.', 'http_code' => null, 'description' => 'The number of route entries in the route table has reached the upper limit.'], ['code' => 'QuotaExceeded', 'message' => 'Forward entry quota exceeded in this route table.', 'http_code' => 400, 'description' => 'A route table can only have 200 custom route entries at most.'], ['code' => 'QuotaExceeded', 'message' => 'Route entry quota exceeded in associated route table.', 'http_code' => 400, 'description' => 'The maximum number of routes supported by the prefix list exceeds the maximum number of routes supported by the associated route table.'], ['code' => 'QuotaExceeded', 'message' => 'RiPerUser quota exceeded', 'http_code' => 400, 'description' => 'The number of VPC peering connection router interfaces created by the current user has reached the upper limit.'], ['code' => 'QuotaExceeded.AttachVpcNumber', 'message' => 'The maximum number of VPCs that can be attached to a DHCP options set is exceeded.', 'http_code' => 400, 'description' => 'The number of VPCs that can be associated with a DHCP options set reaches the upper limit.'], ['code' => 'QuotaExceeded.BandwidthPackageCountOnNatGateway', 'message' => 'BandwidthPackage count limit on one NatGateway exceeded.', 'http_code' => null, 'description' => 'The number of NAT service plans has reached the upper limit. You can associate up to four NAT service plans with a NAT gateway.'], ['code' => 'QuotaExceeded.BandwidthPackageIps', 'message' => 'The specified ipCount exceeded quota.', 'http_code' => 400, 'description' => 'The number of IP addresses has reached the upper limit. Request a quota increase on the Quota Management page.'], ['code' => 'QuotaExceeded.Bgp', 'message' => 'bgp peer count per vbr quota exceed.', 'http_code' => 400, 'description' => 'The number of BGP peers in the VBR has reached the upper limit.'], ['code' => 'QuotaExceeded.Bgp', 'message' => 'bgp group count per vbr quota exceed.', 'http_code' => null, 'description' => 'The number of BGP groups in the VBR has reached the upper limit.'], ['code' => 'QuotaExceeded.BgpNetwork', 'message' => 'bgp network count per vbr quota exceed.', 'http_code' => null, 'description' => 'The number of BGP networks in the VBR has reached the upper limit.'], ['code' => 'QuotaExceeded.CidrReservationCount', 'message' => 'The quota of VSwitchCidrReservation is exceeded.', 'http_code' => 400, 'description' => 'The VSwitchCidrReservation value exceeds the upper limit.'], ['code' => 'QuotaExceeded.CidrReservationCount', 'message' => 'QuotaExceeded.CidrReservationCount', 'http_code' => 400, 'description' => 'The error message returned because the value of CidrReservation exceeds the upper limit.'], ['code' => 'QuotaExceeded.CrossUserVBRPerUser', 'message' => 'Cross virtual boarder router per user quota exceed.', 'http_code' => 400, 'description' => 'The upper limit is reached.'], ['code' => 'QuotaExceeded.DomainNameServers', 'message' => 'The maximum number of domain name servers cannot exceed 4.', 'http_code' => 400, 'description' => 'DomainNameServers is set to a value greater than four.'], ['code' => 'QuotaExceeded.Eip', 'message' => 'Elastic IP address quota exceeded.', 'http_code' => 400, 'description' => 'The number of EIPs exceeds the quota limit. If you need more EIPs, you can apply to increase the EIPs quota or use NAT Gateway.'], ['code' => 'QuotaExceeded.EipNumForModifyEipBondType', 'message' => 'The quota of %s is exceeded, binded: %s, quota: %s.', 'http_code' => 400, 'description' => 'The number of allowed EIPs reaches the upper limit when you modify the EIP association type.'], ['code' => 'QuotaExceeded.FilterRelatedSession', 'message' => 'The quota of the number of traffic mirror sessions related to one filter is exceeded.', 'http_code' => 400, 'description' => 'The number of traffic mirror sessions associated with the filter has reached the upper limit.'], ['code' => 'QuotaExceeded.FlowlogCount', 'message' => 'This user has reached the maximum instance number of flowlog.', 'http_code' => 400, 'description' => 'The number of flow logs reaches the upper limit.'], ['code' => 'QuotaExceeded.ForwardEntrySessionManytoOne', 'message' => 'The dnat session quota is exceed.', 'http_code' => 400, 'description' => 'The number of DNAT sessions exceeds the upper limit.'], ['code' => 'QuotaExceeded.freePconnPerAP', 'message' => 'free physical connections count excceeded.', 'http_code' => null, 'description' => 'The quota on Express Connect circuits is exhausted.'], ['code' => 'QuotaExceeded.FreePhysicalConnectionPerAccessPoint', 'message' => 'Free physical connections count excceeded.', 'http_code' => 400, 'description' => 'If you exceed the quota of physical connections that users can create, contact the administrator to increase the quota and try again.'], ['code' => 'QuotaExceeded.freevbr', 'message' => 'Free virtual boarder router quota exceed.', 'http_code' => null, 'description' => 'The number of VBRs exceeds the upper limit.'], ['code' => 'QuotaExceeded.FullNatEntry', 'message' => 'The quota of %s is exceeded, usage %s/%s.', 'http_code' => 400, 'description' => 'The quota of FullNatEntry has been reached.'], ['code' => 'QuotaExceeded.GatewayRouteTable', 'message' => 'The quota of Gateway Route Table is exceeded.', 'http_code' => 400, 'description' => 'The quota of the gateway route table created for a single VPC has reached the upper limit.'], ['code' => 'QuotaExceeded.GlobalAccelerationInstance', 'message' => null, 'http_code' => null, 'description' => 'The number of GA instances reaches the upper limit.'], ['code' => 'QuotaExceeded.GUAIpv6CidrBlock', 'message' => 'GUAIpv6CidrBlock quota exceeded.', 'http_code' => 400, 'description' => 'The value of GUAIpv6CidrBlock has reached the upper limit.'], ['code' => 'QuotaExceeded.HaVip', 'message' => 'Living HaVip quota exceeded.', 'http_code' => null, 'description' => 'The number of active HAVIPs exceeds the upper limit.'], ['code' => 'QuotaExceeded.IPv6CidrBlock', 'message' => 'The number of IPv6 CIDR blocks in the VPC exceeds the limit.', 'http_code' => 400, 'description' => 'The number of IPv6 CIDR blocks in the VPC exceeds the limit.'], ['code' => 'QuotaExceeded.Ipv6EgressRules', 'message' => '%s quota exceeded.', 'http_code' => 400, 'description' => 'Ipv6EgressRules quantity quota exceeds limit'], ['code' => 'QuotaExceeded.IPv6PrefixMask', 'message' => 'The quota of specifed ipv6 prefix mask is exceeded.', 'http_code' => 400, 'description' => 'The specified IPv6 prefix mask exceeds the quota.'], ['code' => 'QuotaExceeded.NetworkInterfaceRelatedSession', 'message' => 'The quota of the number of traffic mirror sessions related to one network interface is exceeded.', 'http_code' => 400, 'description' => 'The number of traffic mirror sessions associated with an ENI has reached the upper limit.'], ['code' => 'QuotaExceeded.Nqa', 'message' => 'nqa count per vbr quota exceed.', 'http_code' => null, 'description' => 'The number of Network Quality Analyzers (NQAs) has reached the upper limit that is supported by the VBR.'], ['code' => 'QuotaExceeded.NumberOfEip', 'message' => 'Binded eip Quota exceed on this NatGw.', 'http_code' => 400, 'description' => 'The number of EIPs associated with the NAT gateway exceeds the upper limit.'], ['code' => 'QuotaExceeded.PBR', 'message' => 'The policy-based routes has reached the upper limit.', 'http_code' => 400, 'description' => 'The number of policy-based routes has reached the upper limit.'], ['code' => 'QuotaExceeded.pConnPerAP', 'message' => 'Physical connection count per ap quota exceed.', 'http_code' => null, 'description' => 'The number of Express Connect circuits that are connected to the specified access point has reached the upper limit.'], ['code' => 'QuotaExceeded.PhysicalConnectionPerAccessPoint', 'message' => 'Physical connection count per ap quota exceed.', 'http_code' => 400, 'description' => 'Exceeds the quota of physical connections that can be purchased by a single access point. Contact the administrator to increase the quota.'], ['code' => 'QuotaExceeded.PolicyBasedRoute', 'message' => 'The maximum number of policy-based routes is exceeded. Existing routes: %s. Routes to be created: %s. Maximum routes: %s.', 'http_code' => 400, 'description' => 'The quota of policy-based routes is reached. Existing routes: %s. Routes to be created: %s. Quota: %s.'], ['code' => 'QuotaExceeded.PoolIpQuantity', 'message' => 'The quota of PoolIpQuantity is exceeded.', 'http_code' => 400, 'description' => 'The number of IP addresses in the pool has reached the upper limit.'], ['code' => 'QuotaExceeded.PrefixesCount', 'message' => 'The quota of prefixes count is exceeded.', 'http_code' => 400, 'description' => 'The number of prefixes exceeds the quota limit.'], ['code' => 'QuotaExceeded.PrefixListCidrCount', 'message' => 'The quota of prefixListMaxEntry count is exceeded.', 'http_code' => 400, 'description' => 'The value of entryCount exceeds the upper limit.'], ['code' => 'QuotaExceeded.PrefixListCidrCount', 'message' => 'The quota of prefixList entry maxEntry count is exceeded.', 'http_code' => 400, 'description' => 'The number of allowed routes exceeds the upper limit.'], ['code' => 'QuotaExceeded.PrefixListCount', 'message' => 'The quota of prefixList count is exceeded.', 'http_code' => 400, 'description' => 'The value of prefixList exceeds the upper limit.'], ['code' => 'QuotaExceeded.PublicIpAddressPool', 'message' => 'The quota of PublicIpAddressPool is exceeded.', 'http_code' => 400, 'description' => 'The error message returned because the number of your IP address pools has reached the upper limit. Request a quota increase.'], ['code' => 'QuotaExceeded.Qos', 'message' => 'The quota of QoS is exceeded.', 'http_code' => 400, 'description' => 'The number of QoS policies for the current user exceeds the limit. Please contact the business manager for resolution.'], ['code' => 'QuotaExceeded.QosHighPriorityQueueCount', 'message' => 'The quota of QosHighPriorityQueueCount is exceeded.', 'http_code' => 400, 'description' => 'The number of high-priority queues in the QoS policy exceeds the specification. If you need to increase the quota, contact the business manager.'], ['code' => 'QuotaExceeded.QosMediumPriorityQueueBandwidthPercent', 'message' => 'The quota of QosMediumPriorityQueueBandwidthPercent is exceeded.', 'http_code' => 400, 'description' => 'The sum of the bandwidth percentages of the normal priority queues in the QoS policy exceeds the specification.'], ['code' => 'QuotaExceeded.QosMediumPriorityQueueCount', 'message' => 'The quota of QosMediumPriorityQueueCount is exceeded.', 'http_code' => 400, 'description' => 'The number of normal priority queues in the QoS policy exceeds the specification. If you need to increase the quota, contact the business manager.'], ['code' => 'QuotaExceeded.QosRuleCount', 'message' => 'The quota of QosRuleCount is exceeded.', 'http_code' => 400, 'description' => 'The number of QoS rules in the QoS queue exceeds the limit. If you want to increase the quota, contact your business manager.'], ['code' => 'QuotaExceeded.RegionDhcpOptionsSet', 'message' => 'The quota of dhcpOptionsSet in the region is exceeded.', 'http_code' => 400, 'description' => 'The number of DHCP options sets reaches the upper limit.'], ['code' => 'QuotaExceeded.ReservedCidrMask', 'message' => 'QuotaExceeded.ReservedCidrMask', 'http_code' => 400, 'description' => 'The error message returned because ReservedCidrMask is set to an invalid value. Specify a valid value and try again.'], ['code' => 'QuotaExceeded.RouteTable', 'message' => 'VPC RouteTable quota exceeded.', 'http_code' => 400, 'description' => 'The quota of VPC route tables is exhausted.'], ['code' => 'QuotaExceeded.SameAccountVBRPerPconn', 'message' => 'Same account virtual boarder router per physicalConnection quota exceed.', 'http_code' => 400, 'description' => 'The number of VBRs exceeds the upper limit.'], ['code' => 'QuotaExceeded.SessionNum', 'message' => 'The quota of the number of traffic mirror sessions is exceeded.', 'http_code' => 400, 'description' => 'The number of traffic mirror sessions has reached the upper limit.'], ['code' => 'QuotaExceeded.SlbRelatedSession', 'message' => 'The quota of the number of traffic mirror sessions related to one SLB is exceeded.', 'http_code' => 400, 'description' => 'The number of traffic mirror sessions associated with an SLB instance has reached the upper limit.'], ['code' => 'QuotaExceeded.SourceNumPerSession', 'message' => 'The quota of the number of traffic mirror sources per session is exceeded.', 'http_code' => 400, 'description' => 'The number of traffic mirror sources associated with a traffic mirror session has reached the upper limit.'], ['code' => 'QuotaExceeded.SourceNumPerTarget', 'message' => 'The maximum number of traffic mirror sources for a target is exceeded.', 'http_code' => 400, 'description' => 'The number of traffic mirror sources associated with the image exceeds the upper limit.'], ['code' => 'QuotaExceeded.TagNum', 'message' => 'Custom Tags quota exceeded', 'http_code' => 400, 'description' => 'The upper limit is reached.'], ['code' => 'QuotaExceeded.TrafficMirrorFilter', 'message' => 'The maximum number of traffic image filters is exceeded.', 'http_code' => 400, 'description' => 'The number of filters has reached the upper limit.'], ['code' => 'QuotaExceeded.TrafficMirrorRulesPerFilter', 'message' => 'The quota of the number of traffic mirror rules per filter is exceeded.', 'http_code' => 400, 'description' => 'The number of rules associated with the filter has reached the upper limit.'], ['code' => 'QuotaExceeded.VBRBandwidth', 'message' => 'The VBR bandwidth must not exceed the physical connection bandwidth.', 'http_code' => 400, 'description' => 'The VBR bandwidth must not exceed the physical connection bandwidth.'], ['code' => 'QuotaExceeded.VbrPerAccessDevice', 'message' => 'Virtual boarder router per access device quota exceed.', 'http_code' => 400, 'description' => 'The number of devices exceeds the upper limit.'], ['code' => 'QuotaExceeded.vbrPerpConn', 'message' => 'Virtual boarder router per PhysicalConnection quota exceed.', 'http_code' => null, 'description' => 'The number of VBRs of each Express Connect circuit has reached the upper limit. Reduce the number of VBRs and try again.'], ['code' => 'QuotaExceeded.VbrPerPconnPortSpec', 'message' => 'Quota exceed for current port spec', 'http_code' => 400, 'description' => 'The upper limit is reached.'], ['code' => 'QuotaExceeded.VirtualBorderRouterBandwidth', 'message' => 'The quota for virtual border router bandwidth is exceeded.', 'http_code' => 400, 'description' => 'The quota for virtual border router bandwidth is exceeded.'], ['code' => 'QuotaExceeded.VirtualBorderRouterBandwidth', 'message' => 'Quota Exceeded of VirtualBorderRouterBandwidth', 'http_code' => 400, 'description' => 'The bandwidth of the VBR exceeds the upper limit.'], ['code' => 'QuotaExceeded.Vpc', 'message' => 'VPC quota exceeded.', 'http_code' => 400, 'description' => 'The number of VPCs in this account has reached the upper limit.'], ['code' => 'QuotaExceeded.VPCONN', 'message' => 'The quota of VPCONN_COUNT_PER_PCONN is exceeded', 'http_code' => 400, 'description' => 'The number of shared ports created for an Express Connect circuit exceeds the upper limit.'], ['code' => 'QuotaExceeded.VpnRouteEntry', 'message' => 'The number of route entries to the VPN gateway in the VPC routing table has reached the quota limit.', 'http_code' => 400, 'description' => 'The number of route entries to the VPN gateway in the VPC routing table has reached the quota limit.'], ['code' => 'QuotaExceeded.VpnRouteEntry', 'message' => 'Vpn route entry quota exceeded.', 'http_code' => 400, 'description' => 'The system failed to create the route because the number of routes in the VPN gateway route table has reached the upper limit.'], ['code' => 'QuotaExceeded.VSwitch', 'message' => 'Virtual switch quota exceeded.', 'http_code' => 400, 'description' => 'The number of vSwitches has reached the upper limit. Reduce the number of vSwitches and try again later.'], ['code' => 'QuotaExceeded.VSwitchCidrReservationMask', 'message' => 'The quota of VSwitchCidrReservationMask is exceeded.', 'http_code' => 400, 'description' => 'The VSwitchCidrReservationMask value exceeds the upper limit. Adjust the value and try again.'], ['code' => 'QuotaExceeded.VSwitchCidrReservationMask', 'message' => 'The operation is failed because of %s. The mask of the reserved subnet cidr exceeds the current default mask of IP Prefix, %s/%s.', 'http_code' => 400, 'description' => 'The operation failed because of the quota %s. The mask of the reserved CIDR block exceeds the default mask of the current IP Prefix, %s/%s.'], ['code' => 'RealNameAuthenticationError', 'message' => 'Your account has not passed the real-name authentication yet.', 'http_code' => null, 'description' => 'Your account has not completed real-name verification. Complete real-name verification and try again.'], ['code' => 'ReferredByRouteEntry.RouterInterface', 'message' => 'Router interface referred by route entry.', 'http_code' => 400, 'description' => 'The router interface is referenced by a route entry.'], ['code' => 'ReserveIpFail', 'message' => 'Reserve eip failed.', 'http_code' => null, 'description' => 'The system failed to reserve the specified EIP.'], ['code' => 'Resource.PbrRouteQuotaFull', 'message' => 'The quota of Policy-based route is full.', 'http_code' => 400, 'description' => 'Policy routing quota exceeded'], ['code' => 'Resource.QuotaFull', 'message' => 'The quota of resource is full', 'http_code' => null, 'description' => 'The resource quota is exhausted.'], ['code' => 'Resource.QuotaFull', 'message' => '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.', 'http_code' => 400, 'description' => 'The resources you are operating have reached the upper limit of the quota. Please refer to the VPN operation document to increase the quota or use other schemes to avoid it.'], ['code' => 'ResourceAlreadyAssociated.GatewayRouteTable', 'message' => 'The specified resource %s is already associated.', 'http_code' => 400, 'description' => 'The gateway route table is already associated with a gateway of the same type.'], ['code' => 'ResourceAlreadyAssociated.Ipv4Gateway', 'message' => 'The specified resource %s is already associated.', 'http_code' => 400, 'description' => 'The IPv4 gateway is already associated.'], ['code' => 'ResourceAlreadyAssociated.PconnQos', 'message' => 'The specified resource of PconnQos is already associated.', 'http_code' => 400, 'description' => 'The physical line has been bound to another QoS policy.'], ['code' => 'ResourceAlreadyAssociated.PrefixList', 'message' => 'The operation failed because the specified prefixList route entry already exists.', 'http_code' => 400, 'description' => 'The operation failed because the prefix list route already exists.'], ['code' => 'ResourceAlreadyAssociated.RouteTable', 'message' => 'The specified route table is already associated.', 'http_code' => 400, 'description' => 'The specified route table is already associated.'], ['code' => 'ResourceAlreadyAssociated.TrafficMirrorSource', 'message' => 'The specified traffic mirror source and session are already associated.', 'http_code' => 400, 'description' => 'The specified traffic mirror source is already attached to the session.'], ['code' => 'ResourceAlreadyAssociated.Vbr', 'message' => 'The specified Vbr is already added.', 'http_code' => 400, 'description' => 'The specified VBR is already associated.'], ['code' => 'ResourceAlreadyExist.DefaultVSwitch', 'message' => 'The specified resource default vswitch already exists.', 'http_code' => 400, 'description' => 'The default vSwitch already exists.'], ['code' => 'ResourceAlreadyExist.FullNatEntry', 'message' => 'The specified resource of %s is already exist.', 'http_code' => 400, 'description' => 'The FULLNAT rule already exists.'], ['code' => 'ResourceAlreadyExist.NatIp', 'message' => 'The specified resource of NatIp has already exist.', 'http_code' => 400, 'description' => 'Configured NatIp already exists'], ['code' => 'ResourceAlreadyExist.NatIpCidr', 'message' => 'The configured NatIpCidr already exists, or the IP address is overlap.', 'http_code' => 400, 'description' => 'The configured NatIpCidr already exists, or the IP address is overlap.'], ['code' => 'ResourceAlreadyExist.NatQosEntry', 'message' => 'The specified natGateway qosEntry already exists', 'http_code' => 400, 'description' => 'This throttling rule already exists.'], ['code' => 'ResourceInConfiguring', 'message' => 'The resource is being configured.', 'http_code' => 400, 'description' => 'Updating resources.'], ['code' => 'ResourceInUse.Vbr', 'message' => 'The specified resource of [%s] is in use.', 'http_code' => 400, 'description' => 'The specified VBR is still in use.'], ['code' => 'ResourceNotAssociated', 'message' => 'The HaVip and ECS instance are not associated.', 'http_code' => null, 'description' => 'The HAVIP is not bound to the ECS instance.'], ['code' => 'ResourceNotAssociated.Cen', 'message' => 'The Vpc and Cen are not associated.', 'http_code' => 400, 'description' => 'Failed to attach the VPC to the CEN instance.'], ['code' => 'ResourceNotAssociated.Ecr', 'message' => 'The ECR is not associated.', 'http_code' => 400, 'description' => 'The current resource is not associated with ECR and cannot perform this operation. Please check and try again.'], ['code' => 'ResourceNotAssociated.TargetInstance', 'message' => 'The target instance is not associated with VPC.', 'http_code' => 400, 'description' => 'The destination instance of the route is not associated with the VPC.'], ['code' => 'ResourceNotAssociated.TrafficMirrorSource', 'message' => 'The specified traffic mirror source and session are not associated.', 'http_code' => 400, 'description' => 'The specified traffic mirror source is not attached to the session.'], ['code' => 'ResourceNotAssociated.VBR', 'message' => 'The specified resource of VBR is not associated.', 'http_code' => 400, 'description' => 'The specified connected router VBR is not associated with BondRI. Please confirm and try again.'], ['code' => 'ResourceNotAvailable', 'message' => 'Resource you requested is not available in this region or zone.', 'http_code' => null, 'description' => 'You cannot create a vSwitch in the current region or zone.'], ['code' => 'ResourceNotAvailable.NoZonesAvailable', 'message' => 'The availability zones of the input region are not available.', 'http_code' => 400, 'description' => 'the available area of the input region is unavailable.'], ['code' => 'ResourceNotAvailable.Vpc', 'message' => 'Resource you requested is not available in this region or zone.', 'http_code' => null, 'description' => 'The resource you requested is not available in this region or zone.'], ['code' => 'ResourceNotEnough.Bandwidth', 'message' => 'The specified resource of Bandwidth is not enough.', 'http_code' => 400, 'description' => 'The specified resource of Bandwidth is insufficient.'], ['code' => 'ResourceNotEnough.CidrBlock', 'message' => 'Out of Resources: No matching CIDR block found.', 'http_code' => 400, 'description' => 'Out of Resources: No matching CIDR block found.'], ['code' => 'ResourceNotEnough.CidrBlock', 'message' => 'The specified resource is not enough.', 'http_code' => 400, 'description' => 'The specified resource is not enough.'], ['code' => 'ResourceNotEnough.CommonBandWidthPackage', 'message' => 'The specified resource commonBandWidthPackage is not enough.', 'http_code' => 400, 'description' => 'The specified resource commonBandWidthPackage is not enough.'], ['code' => 'ResourceNotEnough.Ipv6Cidr', 'message' => 'The specified resource of Ipv6Cidr is not enough.', 'http_code' => 400, 'description' => 'IPv6 addresses are insufficient.'], ['code' => 'ResourceNotEnough.Ipv6Cidr', 'message' => 'The specified resource ipv6 cidr is not enough.', 'http_code' => 400, 'description' => 'Insufficient IPv6 CIDR block resources.'], ['code' => 'ResourceNotEnough.NatIp', 'message' => 'The specified resource of NatIp is not enough.', 'http_code' => 400, 'description' => 'Insufficient IP addresses in the specified CIDR block.'], ['code' => 'ResourceNotEnough.SwitchAvailableIps', 'message' => 'The available private Ip number is not enough in your subnet.', 'http_code' => 400, 'description' => 'The number of private IP addresses in the subnet is insufficient.'], ['code' => 'ResourceNotFound', 'message' => 'The specified resource %s is not found.', 'http_code' => 400, 'description' => 'The specified resource %s is not found.'], ['code' => 'ResourceNotFound.%s', 'message' => 'The specified resource of %s is not found.', 'http_code' => 404, 'description' => 'The specified resource of %s is not found.'], ['code' => 'ResourceNotFound.AccessPointId', 'message' => 'The specified resource of access point id is not found.', 'http_code' => 400, 'description' => 'The current access point information does not exist. Please check and try again.'], ['code' => 'ResourceNotFound.BondRiConnection', 'message' => 'The specified resource of [%s] is not found.', 'http_code' => 400, 'description' => 'BondRi Connection not exist'], ['code' => 'ResourceNotFound.BondRiConnection', 'message' => 'The specified resource of BondRI not found.', 'http_code' => 400, 'description' => 'The specified BondRI instance does not exist.'], ['code' => 'ResourceNotFound.Cen', 'message' => 'The specified resource of Cen is not found.', 'http_code' => 400, 'description' => 'The operation failed because the CEN resources do not exist.'], ['code' => 'ResourceNotFound.CidrBlock', 'message' => 'The specified CIDR block is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified CIDR block does not exist.'], ['code' => 'ResourceNotFound.CidrReservation', 'message' => 'The specified resource of %s is not found', 'http_code' => 400, 'description' => 'The specified value for CidrReservation is invalid. Check the status of CidrReservation.'], ['code' => 'ResourceNotFound.CidrReservation', 'message' => 'The specified resource of VSwitchCidrReservation is not found.', 'http_code' => 404, 'description' => 'The error message returned because VSwitchCidrReservation is set to an invalid value.'], ['code' => 'ResourceNotFound.CidrReservation', 'message' => 'ResourceNotFound.CidrReservation', 'http_code' => 400, 'description' => 'The error message returned because VSwitchCidrReservation is set to an invalid value.'], ['code' => 'ResourceNotFound.CidrReservation', 'message' => 'reserve segment not exist.', 'http_code' => 400, 'description' => 'The network segment does not exist.'], ['code' => 'ResourceNotFound.EcsInstance', 'message' => 'The specified resource of ECS instance is not found.', 'http_code' => 400, 'description' => 'The specified ECS instance does not exist.'], ['code' => 'ResourceNotFound.EipSegment', 'message' => 'The specified resource of Eip Segment is not found.', 'http_code' => 400, 'description' => 'The passed-in consecutive EIP group instances do not exist.'], ['code' => 'ResourceNotFound.ForwardEntry', 'message' => 'The specified resource of %s is not found.', 'http_code' => 404, 'description' => 'The specified %s resource does not exist.'], ['code' => 'ResourceNotFound.FullNatEntry', 'message' => 'The specified resource of %s is not found.', 'http_code' => 400, 'description' => 'The specified FullNatEntry parameter is not found.'], ['code' => 'ResourceNotFound.FullNatEntry', 'message' => 'The specified resource of full nat entry is not found.', 'http_code' => 400, 'description' => 'The FULLNAT entry is not found.'], ['code' => 'ResourceNotFound.FullNatTable', 'message' => 'The NAT gateway has no full nat table.', 'http_code' => 404, 'description' => 'No FULLNAT table is configured for the NAT gateway.'], ['code' => 'ResourceNotFound.FullNatTableId', 'message' => 'The specified resource of %s is not found.', 'http_code' => 400, 'description' => 'The FullNat table does not exist.'], ['code' => 'ResourceNotFound.GatewayEndpoint', 'message' => 'The specified resource gateway endpoint is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified gateway endpoint does not exist.'], ['code' => 'ResourceNotFound.GatewayLoadBalancerEndpoint', 'message' => 'GatewayLoadBalancerEndpoint instance not found.', 'http_code' => 404, 'description' => 'GatewayLoadBalancerEndpoint instance not found.'], ['code' => 'ResourceNotFound.GatewayRouteTable', 'message' => 'The specified resource GatewayRouteTable is not found.', 'http_code' => 400, 'description' => 'The gateway route table cannot be found.'], ['code' => 'ResourceNotFound.Instance', 'message' => 'The specified resource nextHop is not found.', 'http_code' => 400, 'description' => 'The next hop instance does not exist.'], ['code' => 'ResourceNotFound.Instance', 'message' => 'The specified binding resource is not found.', 'http_code' => 400, 'description' => 'The bindable resource does not exist.'], ['code' => 'ResourceNotFound.Ip', 'message' => 'The specified ip is not found.', 'http_code' => 400, 'description' => 'The specified IP could not be found.'], ['code' => 'ResourceNotFound.IpamPool', 'message' => 'The dependent IPAM pool is not found.', 'http_code' => 404, 'description' => 'The dependent IPAM pool is not found.'], ['code' => 'ResourceNotFound.Ipv4Gateway', 'message' => 'The specified resource ipv4Gateway is not found.', 'http_code' => 400, 'description' => 'The IPv4 gateway is not found and cannot be deleted.'], ['code' => 'ResourceNotFound.Ipv4Gateway', 'message' => 'Specified Ipv4Gateway does not exist.', 'http_code' => 400, 'description' => 'The specified IPv4 gateway is not found.'], ['code' => 'ResourceNotFound.Ipv6Address', 'message' => 'The specified resource of %s is not found.', 'http_code' => 404, 'description' => 'The IPv6 address is not found.'], ['code' => 'ResourceNotFound.Ipv6EgressOnlyRule', 'message' => 'The specified resource of IPv6 Gateway Rule is not found.', 'http_code' => 404, 'description' => 'The specified IPv6 egress-only rule instance does not exist.'], ['code' => 'ResourceNotFound.Ipv6Gateway', 'message' => 'The specified resource of IPv6 Gateway is not found.', 'http_code' => 400, 'description' => 'The incoming IPv6 gateway instance does not exist.'], ['code' => 'ResourceNotFound.Ipv6InstanceId', 'message' => 'The specified resource of %s is not found.', 'http_code' => 404, 'description' => 'The specified IPv6 instance ID does not exist. Please check whether your input is correct.'], ['code' => 'ResourceNotFound.NatGateway', 'message' => 'The NatGateway instance not exist.', 'http_code' => 404, 'description' => 'The NAT gateway does not exist.'], ['code' => 'ResourceNotFound.NatGateway', 'message' => 'The specific NAT gateway is not found.', 'http_code' => 404, 'description' => 'The specific NAT gateway is not found.'], ['code' => 'ResourceNotFound.NatIp', 'message' => 'The specified resource of %s is not found.', 'http_code' => 400, 'description' => 'The specified NatIp parameter is not found.'], ['code' => 'ResourceNotFound.NatIpCidr', 'message' => 'The specified resource of %s is not found.', 'http_code' => 400, 'description' => 'The specified %s resource does not exist.'], ['code' => 'ResourceNotFound.NetworkInterface', 'message' => 'The specified resource of network interface is not found.', 'http_code' => 400, 'description' => 'The specified ENI does not exist.'], ['code' => 'ResourceNotFound.NetworkInterface', 'message' => 'The specified resource nextHop is not found.', 'http_code' => 400, 'description' => 'The next hop instance does not exist.'], ['code' => 'ResourceNotFound.NetworkInterface', 'message' => 'The specified resource of %s is not found.', 'http_code' => 400, 'description' => 'The error message returned because NetworkInterface is set to an invalid value.'], ['code' => 'ResourceNotFound.NetworkInterfaceId', 'message' => 'The specified resource is not found.', 'http_code' => 400, 'description' => 'The specified resource is not found.'], ['code' => 'ResourceNotFound.NextHop', 'message' => 'The specified resource nextHop is not found.', 'http_code' => 400, 'description' => 'The next hop instance does not exist.'], ['code' => 'ResourceNotFound.PhysicalConnection', 'message' => 'The specified resource of %s is not found.', 'http_code' => 400, 'description' => 'The PhysicalConnection does not exist.'], ['code' => 'ResourceNotFound.PhysicalConnectionId', 'message' => 'PhysicalConnection is not found.', 'http_code' => 400, 'description' => 'PhysicalConnectionId is set to an invalid value.'], ['code' => 'ResourceNotFound.PhysicalConnectionId', 'message' => 'The specified PhysicalConnectionId [%s] is not found.', 'http_code' => 400, 'description' => 'PhysicalConnectionId is set to an invalid value.'], ['code' => 'ResourceNotFound.PhysicalConnectionId', 'message' => 'The specified resource of [%s] is not found.', 'http_code' => 400, 'description' => 'The Express Connect circuit does not exist.'], ['code' => 'ResourceNotFound.PrefixList', 'message' => 'The specified resource of prefixList is not found.', 'http_code' => 400, 'description' => 'The prefix list does not exist.'], ['code' => 'ResourceNotFound.PrefixListRelation', 'message' => 'The specified resource of prefixList relation is not found.', 'http_code' => 400, 'description' => 'PrefixList association does not exist.'], ['code' => 'ResourceNotFound.PublicIpAddressPool', 'message' => 'The specified resource of PublicIpAddressPool [%s] is not found.', 'http_code' => 400, 'description' => 'The specified public IP address pool does not exist.'], ['code' => 'ResourceNotFound.QosTableIdOrNatGatewayId', 'message' => 'natGatewayId and qosTableId can not both be null', 'http_code' => 400, 'description' => 'natGatewayId and qosTableId cannot be empty at the same time.'], ['code' => 'ResourceNotFound.RouteEntry', 'message' => 'The specified resource routeEntry is not found.', 'http_code' => 400, 'description' => 'The specified route entry does not exist'], ['code' => 'ResourceNotFound.RouteTable', 'message' => 'The specified resource gatewayRouteTable is not found.', 'http_code' => 400, 'description' => 'The gateway route table does not exist.'], ['code' => 'ResourceNotFound.Slb', 'message' => 'The specified resource of SLB is not found.', 'http_code' => 400, 'description' => 'The specified SLB instance does not exist.'], ['code' => 'ResourceNotFound.SnatEntry', 'message' => 'Specified SNAT entry does not exist.', 'http_code' => 404, 'description' => 'The specified SNAT entry does not exist.'], ['code' => 'ResourceNotFound.TargetInstance', 'message' => 'The specified target instance for traffic mirroring is not found.', 'http_code' => 400, 'description' => 'The specified traffic mirror destination does not exist.'], ['code' => 'ResourceNotFound.TrafficMirrorFilter', 'message' => 'The specified resource of traffic mirror filter is not found.', 'http_code' => 400, 'description' => 'The specified filter does not exist.'], ['code' => 'ResourceNotFound.TrafficMirrorRule', 'message' => 'The specified resource of traffic mirror rule is not found.', 'http_code' => 400, 'description' => 'The specified traffic mirror filter rule does not exist.'], ['code' => 'ResourceNotFound.TrafficMirrorSession', 'message' => 'The specified resource of traffic mirror session is not found.', 'http_code' => 400, 'description' => 'The specified traffic mirror session does not exist.'], ['code' => 'ResourceNotFound.VirtualBorderRouter', 'message' => 'The specified resource of %s is not found.', 'http_code' => 400, 'description' => 'Virtual Border Router does not exist'], ['code' => 'ResourceNotFound.VpcPeer', 'message' => 'The specified resource of %s is not found.', 'http_code' => 400, 'description' => 'The peer VPC cannot be found.'], ['code' => 'ResourceNotFound.VSwitch', 'message' => 'The specified resource of VSwitch is not found.', 'http_code' => 400, 'description' => 'The specified vSwitch does not exist.'], ['code' => 'ResourceNotFound.VSwitch', 'message' => 'ResourceNotFound.VSwitch', 'http_code' => 400, 'description' => 'The error message returned because the specified vSwitch does not exist. Check whether the vSwitch is available.'], ['code' => 'ResourceNotFound.VSwitch', 'message' => 'The specified resource of %s is not found.', 'http_code' => 404, 'description' => 'The specified vSwitch does not exist, please check your input is correct'], ['code' => 'ResourceNotFound.VSwitch', 'message' => 'The vSwitch where the specified networkinterface is located does not exist.', 'http_code' => 400, 'description' => 'The switch where the ENI is located does not exist.'], ['code' => 'ResourceNotFound.VSwitchCidrReservation', 'message' => 'The dependent vswitch cidr reservation is not found.', 'http_code' => 404, 'description' => 'Dependent resource vSwitchCidrReservation does not exist'], ['code' => 'ResourceNotInResourceGroup', 'message' => 'The specified resource is not in the specified ResourceGroup.', 'http_code' => 400, 'description' => 'The specified resource does not belong to the resource group.'], ['code' => 'ResourceQueryError', 'message' => 'The specified resource is queried error.', 'http_code' => 400, 'description' => 'An error occurred while querying the specified resource.'], ['code' => 'ResourceQuotaExceeded.NatQosEntry', 'message' => 'The specified natGateway qosEntry quota exceed.', 'http_code' => 400, 'description' => 'The number of throttling entries for this NAT gateway has reached the upper limit.'], ['code' => 'ResourceStatus.Error', 'message' => 'The binding instance is in middle status.', 'http_code' => 400, 'description' => 'The status of the instance is invalid.'], ['code' => 'ResourceType.Unknown', 'message' => 'Unknown ResourceType.', 'http_code' => 400, 'description' => 'The resource type is invalid.'], ['code' => 'RISK.RISK_CONTROL_REJECTION', 'message' => null, 'http_code' => null, 'description' => 'The account is disabled by the risk control system.'], ['code' => 'RI_CREATE_ONE_LIMIT_BY_SYNC', 'message' => 'Create ri only one limit by sync.', 'http_code' => null, 'description' => 'You can create only one router interface at a time.'], ['code' => 'RouteConflict', 'message' => 'Route conflict exists in routing table.', 'http_code' => 400, 'description' => 'There is a route conflict in the routing table.'], ['code' => 'RouteConflict.AlreadyExist', 'message' => 'Route conflict exists in routing table.', 'http_code' => 400, 'description' => 'Route conflicts exist in the route table.'], ['code' => 'RouterEntryConflict.Duplicated', 'message' => 'A route entry already exists', 'http_code' => null, 'description' => 'The route already exists.'], ['code' => 'RouterInterfaceReferredByRouteEntry', 'message' => 'Router interface referred by route entry.', 'http_code' => 400, 'description' => 'There is a route to the router interface that cannot be deleted'], ['code' => 'ROUTER_INTERFACE_REFERED_BY_ROUTEENTRY', 'message' => 'The specified VlanInterface has been used by routeEntry.', 'http_code' => null, 'description' => 'The VLAN interface is being used by a route entry.'], ['code' => 'RuleExist', 'message' => 'The rule already exists.', 'http_code' => 400, 'description' => 'The error message returned because the rule already exists.'], ['code' => 'SecurityGroup.NotExist', 'message' => 'The specified security group is not exist.', 'http_code' => 400, 'description' => 'The security group does not exist in this VPC.'], ['code' => 'SecurityGroupType.NotSupported', 'message' => 'The specified security group type is not supported.', 'http_code' => 400, 'description' => 'The security group is already hosted and cannot be used.'], ['code' => 'ServiceUnavailable', 'message' => 'The request has failed due to a temporary failure of the server.', 'http_code' => 400, 'description' => 'The request failed due to a temporary server error.'], ['code' => 'SignatureNonceUsed', 'message' => 'Specified signature nonce was used already.', 'http_code' => 400, 'description' => 'The random number for the signature has been occupied.'], ['code' => 'SizeLimitExceeded.ResourceId', 'message' => 'The maximum number of resource IDs is exceeded.', 'http_code' => 400, 'description' => 'The number of resource group IDs has reached the upper limit.'], ['code' => 'SizeLimitExceeded.TagNum', 'message' => 'The maximum number of tags is exceeded.', 'http_code' => 400, 'description' => 'The number of tags has reached the upper limit.'], ['code' => 'SNAT_IP_POOL_COUNT_TOO_MANY', 'message' => 'The Snat pool ip too many.', 'http_code' => null, 'description' => 'The number of IP addresses has reached the upper limit supported by the SNAT IP address pool.'], ['code' => 'SourceProjectNotExist', 'message' => 'The Source Project or logstore does not exist.', 'http_code' => 400, 'description' => 'The error message returned because the source project or Logstore does not exist.'], ['code' => 'SslVpnIDaaS2.NotSupport', 'message' => 'Current version of the VPN does not support IDaaS2.0.', 'http_code' => 400, 'description' => 'The current version of the VPN instance does not support IDaaS2.0.'], ['code' => 'SslVpnServer.AddRouteError', 'message' => 'Add route error whose destination is client IP pool, please check vpc route entry and relevant quota.', 'http_code' => 400, 'description' => 'The system failed to add the route that points to the client CIDR block. View the VPC route and quota.'], ['code' => 'SslVpnServer.AlreadyExist', 'message' => 'The SSL VPN server of specified vpn gateway already exists.', 'http_code' => 400, 'description' => 'The specified SSL server already exists on the VPN gateway.'], ['code' => 'SslVpnServerPort.Illegal', 'message' => 'The server port is not in the range of [1-65535].', 'http_code' => 400, 'description' => 'The port of the SSL-VPN server must be from 1 to 65535.'], ['code' => 'SystemBusy', 'message' => 'The system is busy. Please try again later.', 'http_code' => 500, 'description' => 'The system is busy. Please try again later.'], ['code' => 'SystemQuotaConstraint.Filter.Key', 'message' => 'The number of keys in the filter parameter cannot exceed 5.', 'http_code' => 400, 'description' => 'The number of keys in the filter parameter cannot exceed 5.'], ['code' => 'SystemQuotaConstraint.Filter.Value', 'message' => 'The number of values in a key in the filter parameter cannot exceed 5.', 'http_code' => 400, 'description' => 'The number of values in a key in the filter parameter cannot exceed 5.'], ['code' => 'TaskConflict', 'message' => 'The eip operate too frequent', 'http_code' => null, 'description' => 'EIP operations are too frequent.'], ['code' => 'TaskConflict', 'message' => 'The operation is too frequent. Please wait a moment and try again.', 'http_code' => 400, 'description' => 'The system is unavailable. Try again later.'], ['code' => 'TaskConflict', 'message' => 'The operation is too frequent. Please try again later.', 'http_code' => 400, 'description' => 'The operation is too frequent. Please try again later.'], ['code' => 'TaskConflict', 'message' => 'The eip operate too frequent, TaskConflict.', 'http_code' => 400, 'description' => 'Operations are too frequent and tasks conflict with each other.'], ['code' => 'TaskConflict', 'message' => 'The operation is too frequent, TaskConflict.', 'http_code' => 400, 'description' => 'The system is unavailable. Try again later.'], ['code' => 'TaskConflict', 'message' => 'The operation is too frequent, please wait a moment and try again.', 'http_code' => 400, 'description' => 'Your requests are too frequent. Try again later.'], ['code' => 'TaskConflict.AssociateGlobalAccelerationInstance', 'message' => 'Operate too frequent.', 'http_code' => null, 'description' => 'The number of requests that you send exceeds the upper limit.'], ['code' => 'Throttling', 'message' => 'Request was denied due to request throttling.', 'http_code' => null, 'description' => 'The traffic volume exceeds the quota. To increase the quota, submit a ticket.'], ['code' => 'Throttling.User', 'message' => 'Request was denied due to user flow control.', 'http_code' => 400, 'description' => 'The request is denied due to client traffic throttling.'], ['code' => 'Unauthorized', 'message' => 'This api does not support sub user or role.', 'http_code' => 400, 'description' => 'The error message returned because you cannot call this operation as a RAM user.'], ['code' => 'Unavailable.Ipv6Cidr', 'message' => 'The specified resource ipv6 cidr is not available.', 'http_code' => 400, 'description' => 'The specified IPv6 CIDR block is unavailable.'], ['code' => 'UnknownError', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => null, 'description' => 'An unknown error occurred. Try again later. If the error persists, submit a ticket.'], ['code' => 'UnsupportedFeature.AccessModeValue', 'message' => 'The feature of AccessMode.ModeValue(%s) is not supported.', 'http_code' => 400, 'description' => 'This operation is not supported for the VPC NAT AccessMode.ModeValue attribute'], ['code' => 'UnsupportedFeature.AllocateEipAddressWithZone', 'message' => 'The feature of AllocateEipAddressWithZone is not supported.', 'http_code' => 400, 'description' => 'You are not allowed to create an instance in a specified zone in the region.'], ['code' => 'UnsupportedFeature.CloudBoxHaVip', 'message' => 'The HAVIP feature is not supported in cloud box.', 'http_code' => 400, 'description' => 'CloudBox does not support creating high-availability virtual IP addresses.'], ['code' => 'UnsupportedFeature.CloudBoxIpv6', 'message' => 'The IPv6 feature is not supported by cloud box.', 'http_code' => 400, 'description' => 'You cannot create an IPv6 address for a CloudBox instance.'], ['code' => 'UnsupportedFeature.CreatePrefixListEcmpRouteEntry', 'message' => 'The feature of creating ecmp route entry with prefixList is not supported.', 'http_code' => 400, 'description' => 'You cannot create ECMP routes by using a prefix list.'], ['code' => 'UnsupportedFeature.DhcpOptionsSet', 'message' => 'The feature of dhcp options set is unsupported.', 'http_code' => 400, 'description' => 'The DHCP Options Set function does not take effect in the current region.'], ['code' => 'UnsupportedFeature.EipBindIpAddress', 'message' => 'The feature of EipBindIpAddress is not supported.', 'http_code' => 400, 'description' => 'The error message returned because the EIP does not support the IpAddress parameter.'], ['code' => 'UnsupportedFeature.EipBindPrefixIp', 'message' => 'The feature of EipBindPrefixIp is not supported.', 'http_code' => 400, 'description' => 'You cannot associate an EIP with a prefix list in the current region.'], ['code' => 'UnsupportedFeature.EnableSessionLog', 'message' => 'The feature of EnableSessionLog is not supported.', 'http_code' => 400, 'description' => 'This instance does not support opening NAT Gateway session logs.'], ['code' => 'UnsupportedFeature.FwNatInMutilBindedEipBindType', 'message' => 'The FW NAT in MUTIL_BINDED eip bind type is can not be created.', 'http_code' => 400, 'description' => 'If EipBindMode is set to MUTIL_BINDED, you cannot create the EIP.'], ['code' => 'UnsupportedFeature.Geneve', 'message' => 'The feature of Geneve is not supported.', 'http_code' => 400, 'description' => 'The feature of Geneve is not supported.'], ['code' => 'UnsupportedFeature.IcmpReplyEnabled', 'message' => 'The feature of IcmpReplyEnabled is not supported.', 'http_code' => 400, 'description' => 'The value of IcmpReplyEnabled cannot be modified.'], ['code' => 'UnsupportedFeature.IndirectConvertForFwNat', 'message' => 'The security protection enabled NAT gateway is not support change EIP bond type.', 'http_code' => 400, 'description' => 'The value of EipBindMode cannot be modified for an Internet NAT gateway for which the security protection feature is enabled.'], ['code' => 'UnsupportedFeature.IndirectConvertForVpcNat', 'message' => 'The VPC NAT gateway is not support to change EIP bond type.', 'http_code' => 400, 'description' => 'The error message returned because the value of the EipBindMode parameter cannot be modified for a VPC NAT gateway.'], ['code' => 'UnsupportedFeature.InternetChargeTypeOnFreeIpv6Address', 'message' => 'The feature of %s is not supported.', 'http_code' => 400, 'description' => 'The status of the IPv6 address does not support the billing method. For more information, see the API reference.'], ['code' => 'UnsupportedFeature.InternetChargeTypeOnStaticIsp', 'message' => 'The feature of %s is not supported.', 'http_code' => 400, 'description' => 'The IPv6 address is of the single ISP type and does not support the billing method.'], ['code' => 'UnsupportedFeature.IPAM', 'message' => 'VPCs cannot be created by using IPAM.', 'http_code' => 400, 'description' => 'You cannot use IPAM to create a VPC.'], ['code' => 'UnsupportedFeature.Ipam', 'message' => 'IPAM is not supported in this region.', 'http_code' => 400, 'description' => 'The IPAM feature is not supported in this region.'], ['code' => 'UnsupportedFeature.Ipv4Gateway', 'message' => 'The feature of ipv4Gateway is not supported for [%s].', 'http_code' => 400, 'description' => 'The system failed to create the IPv4 gateway because IPv4 gateways are not supported.'], ['code' => 'UnsupportedFeature.Ipv6GatewayRouteTable', 'message' => 'The feature of %s is not supported.', 'http_code' => 400, 'description' => 'The border gateway route table cannot be associated with the gateway.'], ['code' => 'UnsupportedFeature.Ipv6Isp', 'message' => 'The Ipv6Isp feature is not supported.', 'http_code' => 400, 'description' => 'The specified IPv6 ISP is not supported.'], ['code' => 'UnsupportedFeature.IpVersion', 'message' => 'The ipversion type is not supported.', 'http_code' => 400, 'description' => 'The specified ipVersion is not supported.'], ['code' => 'UnsupportedFeature.Isp', 'message' => 'The feature of Isp is not supported.', 'http_code' => 400, 'description' => 'The ISP you specified is not currently supported.'], ['code' => 'UnsupportedFeature.ModifyIpv6RouteEntryNextHop', 'message' => 'The current region does not support the feature of modifying the IPv6 route next hop.', 'http_code' => 400, 'description' => 'The operation failed because the current region does not support modifying the IPv6 route next hop.'], ['code' => 'UnsupportedFeature.ModifyRouteEntryNextHop', 'message' => 'The current region does not support the function of modifying the route next hop.', 'http_code' => 400, 'description' => 'You cannot modify next hops in the current region.'], ['code' => 'UnsupportedFeature.MutilBindedTypeNatEnableFw', 'message' => 'The NAT with Mutil-Binded Eip bind type is not support enable firewall.', 'http_code' => 400, 'description' => 'You cannot enable firewall for the NAT gateway because EIPs are associated with the NAT gateway in Multi-Binded mode.'], ['code' => 'UnsupportedFeature.NatBandWidthPackage', 'message' => 'The feature of NatBandWidthPackage is not supported.', 'http_code' => 400, 'description' => 'The feature of NatBandWidthPackage is not supported.'], ['code' => 'UnsupportedFeature.NatQosEntry', 'message' => 'The specified natGateway can not support the qos entry feature.', 'http_code' => 400, 'description' => 'This NAT gateway does not support bandwidth throttling.'], ['code' => 'UnsupportedFeature.NextHopType', 'message' => 'The route type does not support modifying the next hop of the route.', 'http_code' => 400, 'description' => 'You cannot modify the next hop of the route.'], ['code' => 'UnsupportedFeature.NextHopType', 'message' => 'The operation is not allowed because the NextHopType of specified RouteEntry is modified from Local type.', 'http_code' => 400, 'description' => 'The operation is not allowed because the next hop type of the route is modified from the Local type.'], ['code' => 'UnsupportedFeature.NormalNatModifyEipBindMode', 'message' => 'The normal NAT gateway is not support to change EIP bond type.', 'http_code' => 400, 'description' => 'The value of EipBindMode cannot be modified for a standard NAT gateway.'], ['code' => 'UnsupportedFeature.NormalTypeNatGateway', 'message' => 'Normal nat gateways do not support modifying the next hop of the route.', 'http_code' => 400, 'description' => 'You cannot modify the next hop of a route that points to a standard NAT gateway.'], ['code' => 'UnsupportedFeature.PrivateLinkMode', 'message' => 'The feature of %s is not supported.', 'http_code' => 400, 'description' => 'The feature of reverse access is not supported.'], ['code' => 'UnsupportedFeature.ReservedType', 'message' => 'The specified ReservedType is not supported.', 'http_code' => 400, 'description' => 'The ReservedType value is invalid.'], ['code' => 'UnsupportedFeature.ReservedType', 'message' => 'UnsupportedFeature.ReservedType', 'http_code' => 400, 'description' => 'The error message returned because ReservedType is set to an invalid value. Specify a valid value and try again.'], ['code' => 'UnsupportedFeature.RouterInterfaceIpv6', 'message' => 'The feature of ipv6 is not supported for the routerInterface.', 'http_code' => 400, 'description' => 'The router interface does not support ipv6'], ['code' => 'UnsupportedFeature.RouterTableType', 'message' => 'The type of router table is not supported.', 'http_code' => 400, 'description' => 'The specified route table type is not supported.'], ['code' => 'UnsupportedFeature.RouterType', 'message' => 'The feature of route type is not supported.', 'http_code' => 400, 'description' => 'The specified route table type is not supported.'], ['code' => 'UnsupportedFeature.UserDefinedTrafficPath', 'message' => 'The feature of UserDefinedTrafficPath is not supported.', 'http_code' => 400, 'description' => 'The current user does not have the permissions to specify trafficPath.'], ['code' => 'UnsupportedFeature.VpcAdvancedFeature', 'message' => 'UnsupportedFeature.VpcAdvancedFeature', 'http_code' => 400, 'description' => 'The error message returned because the VPC where the specified vSwitch is deployed does not support advanced VPC features. Specify another vSwitch and try again.'], ['code' => 'UnsupportedFeature.VpcAdvancedFeature', 'message' => 'The VPC does not support some advanced features.', 'http_code' => 400, 'description' => 'The VPC does not support some advanced features. Please submit a ticket.'], ['code' => 'UnsupportedFeature.VpcDnsHostname', 'message' => 'The feature of vpc dns hostname is unsupported.', 'http_code' => 400, 'description' => 'The VPC private domain name function does not take effect in the current region.'], ['code' => 'UnsupportedFeature.VpcIpamIpv6', 'message' => 'The specified IPAM pool does not support the IPv6 feature.', 'http_code' => 400, 'description' => 'The specified IPAM pool does not support the IPv6 feature.'], ['code' => 'UnsupportedFeature.VpcNatSecurityProtectionEnabled', 'message' => 'The VPC NAT gateway is not supported to enable security protection.', 'http_code' => 400, 'description' => 'You cannot enable security protection for the VPC NAT gateway.'], ['code' => 'UnsupportedFeature.Vpconn', 'message' => 'The feature of Vpconn is not supported.', 'http_code' => 400, 'description' => 'The Express Connect circuit type is not supported.'], ['code' => 'UnsupportedFeature.VpcPeerIpv6', 'message' => 'IPv6 route entries for VPC peering connections cannot be created in this region.', 'http_code' => 400, 'description' => 'The error message returned because the peer of the router interface is a VPC and you cannot create a route whose next hop type is IPv6 address in this region.'], ['code' => 'UnsupportedFeature.VSwitchIpv6', 'message' => 'The ipv6 feature of switch is not supported.', 'http_code' => 400, 'description' => 'IPv6 is not enabled for the specified vSwitch.'], ['code' => 'UnsupportedFeature.VSwitchIpv6', 'message' => 'UnsupportedFeature.VSwitchIpv6', 'http_code' => 400, 'description' => 'The error message returned because the specified vSwitch does not have IPv6 enabled.'], ['code' => 'UnsupportedParameter', 'message' => null, 'http_code' => null, 'description' => 'A parameter is set to an invalid value.'], ['code' => 'UnsupportedRegion', 'message' => 'The feature of prefixList entry is not supported in this region.', 'http_code' => 400, 'description' => 'This feature is not supported in the current region.'], ['code' => 'UnsupportedRegion', 'message' => 'The feature is not supported in current region.', 'http_code' => 400, 'description' => 'The feature is not supported in the current region.'], ['code' => 'UnsupportedRegion', 'message' => 'The feature of ipv4Gateway is not supported in the region.', 'http_code' => 400, 'description' => 'IPv4 gateways are not supported in this region.'], ['code' => 'UnsupportedRegion', 'message' => 'UnsupportedRegion', 'http_code' => 400, 'description' => 'The error message returned because the current region does not support this feature.'], ['code' => 'UnsupportedRegion.CloudBoxInternet', 'message' => 'The region does not support cloud box public network.', 'http_code' => 400, 'description' => 'The region does not support cloud box public network.'], ['code' => 'UnsupportedRegion.PrefixListEntry', 'message' => 'The feature of prefixList entry is not supported in this region.', 'http_code' => 400, 'description' => 'Prefix list type routes are not supported in this region.'], ['code' => 'UnsupportedZoneForFwNat', 'message' => 'The zone is unsupported for FW NAT.', 'http_code' => 404, 'description' => 'Protection-enabled NAT gateways are not supported in this zone.'], ['code' => 'VBR.BANDWIDTH.EXCEED', 'message' => 'VBR bandwidth exceed for this physical connection.', 'http_code' => 400, 'description' => 'The bandwidth exceeds the upper limit.'], ['code' => 'VbrBandwidthExceed', 'message' => 'VBR bandwidth exceed for this physical connection.', 'http_code' => 400, 'description' => 'The bandwidth of the VBR exceeds the upper limit supported by the Express Connect circuit.'], ['code' => 'Vco.StatusNotSupport', 'message' => 'The current VPN connection state does not support this operation.', 'http_code' => 400, 'description' => 'The operation cannot be performed when the VPN connection is in the current state.'], ['code' => 'Vco.StatusNotSupport', 'message' => 'The current VCO status does not support operations such as modification and deletion.', 'http_code' => 400, 'description' => 'The current VCO status does not support operations such as modification and deletion.'], ['code' => 'VLAN.ID.HAS.BEEN.USED.IN.PHYSICAL.CONNECTION', 'message' => 'vlan id has been used in physical connection', 'http_code' => 400, 'description' => 'The VLAN ID is already used.'], ['code' => 'VpconnNotAssociatedVbr', 'message' => 'The specified vpconn is not associated with vbr.', 'http_code' => 400, 'description' => 'The entered virtual physical connection is not associated with a virtual border router.'], ['code' => 'VpconnWithVlan0NotSupportShutdown', 'message' => 'The specified virtualPhysicalConnection with vlan 0 does not support shutdown.', 'http_code' => 400, 'description' => 'The shared physical connection of VLAN 0 does not support failover test.'], ['code' => 'VpcRouteConflict', 'message' => 'Route conflict exists in routing table.', 'http_code' => 400, 'description' => 'Route conflict exists in routing table.'], ['code' => 'VpcStatusError', 'message' => 'The Vpc is creating .', 'http_code' => null, 'description' => 'The VPC is being created.'], ['code' => 'VpcSubnet.NotFound', 'message' => 'Vpc subnet not exist.', 'http_code' => 400, 'description' => 'The VPC subnet does not exist.'], ['code' => 'VpnConnection.Configuring', 'message' => 'The specified service is configuring.', 'http_code' => 400, 'description' => 'The service is being configured. Try again later.'], ['code' => 'VpnConnection.FinancialLocked', 'message' => 'The specified service is financial locked.', 'http_code' => 400, 'description' => 'The error message returned because the service is locked due to overdue payments.'], ['code' => 'VpnConnection.InvalidCreateTunnelOptions', 'message' => 'The master and slave tunnels must be created at the same time.', 'http_code' => 400, 'description' => 'The primary and secondary tunnels must be created at the same time.'], ['code' => 'VpnConnection.SameVpnAndCgwDifferentIkeConfigs', 'message' => 'If the same VPN is not supported, different VPN connections are configured with different Ike configurations when the same customer gateway is used.', 'http_code' => 400, 'description' => 'If the same VPN is not supported, different VPN connections are configured with different Ike configurations when the same customer gateway is used.'], ['code' => 'VpnConnectionParamInvalid.SameVpnAndCgwDifferentIkeConfigs', 'message' => 'IPSec connections associated with the same user gateway and VPN gateway should have the same pre-shared key and IKE configuration.', 'http_code' => 400, 'description' => 'The pre-shared key and IKE parameters must be the same for IPsec-VPN connections that are associated with the same VPN gateway and customer gateway.'], ['code' => 'VpnConnectionParamInvalid.SameVpnAndCgwTrafficSelectorOverlap', 'message' => 'Traffic selectors of IPSec connections associated with the same user gateway and VPN gateway should not overlap.', 'http_code' => 400, 'description' => 'The protected data flows of IPsec-VPN connections that are associated with the same VPN gateway and customer gateway cannot overlap.'], ['code' => 'VpnGateway.Configuring', 'message' => 'The specified service is configuring.', 'http_code' => null, 'description' => 'The service is being configured. Try again later.'], ['code' => 'VpnGateway.Configuring', 'message' => 'The specified VPN gateway is being configured.', 'http_code' => 500, 'description' => 'The VPN gateway is being configured.'], ['code' => 'VpnGateway.FinancialLocked', 'message' => 'The specified service is financial locked.', 'http_code' => null, 'description' => 'The service is suspended due to overdue payments. Top up your account first.'], ['code' => 'VpnGateway.IPsecServerAndVpnConnectionConflict', 'message' => 'The IPSec connection and IPSec server cannot be configured on the same VPN gateway at the same time.', 'http_code' => 400, 'description' => 'You cannot configure an IPsec server and an IPsec-VPN connection at the same time for one VPN gateway.'], ['code' => 'VpnGateway.IpsecVpnDisabled', 'message' => 'The vpn gateway does not enable IPSec VPN.', 'http_code' => 400, 'description' => 'The IPsec-VPN feature is not enabled for the VPN gateway.'], ['code' => 'VpnGateway.SslVpnDisabled', 'message' => 'The VPN gateway has not enabled SSL VPN.', 'http_code' => 400, 'description' => 'The SSL-VPN feature is disabled for the VPN gateway.'], ['code' => 'VpnGateway.task.conflict', 'message' => 'The VPN is in the configuration state, please wait a while before operating.', 'http_code' => 400, 'description' => 'The VPN is in the configuration state, please wait a while before operating.'], ['code' => 'VpnPbrRouteEntryPriority.NotSupport', 'message' => 'Current version of the VPN does not support setting pbr route entry priority.', 'http_code' => 400, 'description' => 'The VPN gateway version does not allow you to specify priorities for policy-based routes.'], ['code' => 'VpnPbrRouteEntryPriority.NotSupport', 'message' => 'Current version of the VPN does not support setting custom pbr route entry priority.', 'http_code' => 400, 'description' => 'The VPN gateway of the current version does not allow you to set route priorities.'], ['code' => 'VpnRouteEntry.AlreadyExists', 'message' => 'The specified route entry is already exist.', 'http_code' => 400, 'description' => 'The route already exists.'], ['code' => 'VpnRouteEntry.BackupRoute', 'message' => 'Validate backup route entry failed.', 'http_code' => 400, 'description' => 'Active/standby routes failed authentication.'], ['code' => 'VpnRouteEntry.Configuring', 'message' => 'The specified route entry is configuring.', 'http_code' => 400, 'description' => 'The error message returned because the specified route is being configured.'], ['code' => 'VpnRouteEntry.Conflict', 'message' => 'The specified route entry has conflict.', 'http_code' => 400, 'description' => 'Route conflicts exist.'], ['code' => 'VpnRouteEntry.Conflict', 'message' => 'The specified client IP pool conflicts with VPN connection or SSL server.', 'http_code' => 400, 'description' => 'The specified client IP pool conflicts with the VPN connection or the SSL server.'], ['code' => 'VpnRouteEntry.ConflictSSL', 'message' => 'The specified route entry has conflict with SSL client.', 'http_code' => 400, 'description' => 'The route conflicts with the SSL client.'], ['code' => 'VpnRouteEntry.InvalidWeight', 'message' => 'Invalid route entry weight value.', 'http_code' => 400, 'description' => 'The weight specified for the route is invalid.'], ['code' => 'VpnRouteEntry.SamePriorityPbrRoutePrefixOverlap', 'message' => 'The source CIDR and destination CIDR of Policy-based routes with the same priority cannot overlap.', 'http_code' => 400, 'description' => 'VPN Gateway does not support policy-based routes that have the same priority and overlapping source CIDR blocks and destination CIDR blocks.'], ['code' => 'VpnRouteEntry.SrcDestConflict', 'message' => 'The VPN gateway does not support Policy-based routing with the same source CIDR and destination CIDR.', 'http_code' => 400, 'description' => 'The source CIDR block and destination CIDR block of a policy-based route for a dual-tunnel VPN gateway cannot be the same.'], ['code' => 'VpnRouteEntry.SrcDestWeightConflict', 'message' => 'The VPN gateway does not support Policy-based routing with the same source CIDR, destination CIDR and weight.', 'http_code' => 400, 'description' => 'VPN Gateway does not support policy-based routes that have the same source CIDR block, destination CIDR block, and weight.'], ['code' => 'VpnTask.CONFLICT', 'message' => 'Vpn task has conflict.', 'http_code' => 400, 'description' => 'The VPN operation conflicts. Try again later.'], ['code' => 'VpnUnderStock', 'message' => 'There are not enough vpn gateways in stock', 'http_code' => null, 'description' => 'The VPN gateway inventory is insufficient.'], ['code' => 'VRouterId.NotFound', 'message' => 'The VRouter not found.', 'http_code' => 404, 'description' => 'The specified vRouter cannot be found.'], ['code' => 'VswitchStatusError', 'message' => 'The VSwitch is creating .', 'http_code' => null, 'description' => 'The operation is not supported when the vSwitch is being created.'], ['code' => 'ZONE_NO_AVAILABLE_IP', 'message' => 'The Zone have no available ip.', 'http_code' => null, 'description' => 'No IP address is available in the zone.'], ['code' => 'OperationDenied.UnSupportedBindTypeCloudInstance', 'message' => 'Internet bandwidth cannot be allocated to the IPv6 address bound to the cloud service instance.', 'http_code' => 400, 'description' => 'the ipv6 ip address associated with the cloud service instance cannot be used for internet bandwidth.'], ['code' => 'OperationDenied.TrafficMirrorServiceOpened', 'message' => 'The operation is not allowed because the traffic mirror service has been opened.', 'http_code' => 400, 'description' => 'The traffic mirroring service has been activated. Do not repeat the operation.'], ['code' => 'ResourceNotEnough.Ipv4Prefix', 'message' => 'The resource of %s is not enough.', 'http_code' => 400, 'description' => 'Insufficient Ipv4Prefix resources.'], ['code' => 'ResourceNotFound.Ipv4Prefix', 'message' => 'The resource of s% is not found.', 'http_code' => 400, 'description' => 'The resource Ipv4Prefix does not exist.'], ['code' => 'Mismatch.Ipv4PrefixAndCidrReservations', 'message' => 'The %s and %s are mismatched.', 'http_code' => 400, 'description' => 'The reserved network segments of the Ipv4Prefix and VSwitch do not match.'], ['code' => 'IllegalParam.NatIp', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => 'The parameter NatIp is illegal.'], ['code' => 'IllegalParam.Ipv4Prefix', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => 'The parameter Ipv4Prefix is illegal.'], ['code' => 'ResourceAlreadyAssociated.Ipv4Prefix', 'message' => '%s is already associated.', 'http_code' => 400, 'description' => 'Ipv4Prefix have been allocated.'], ['code' => 'ResourceAlreadyAssociated.NatIp', 'message' => 'The resource of %s was already associated.', 'http_code' => 400, 'description' => 'NatIp resources have been allocated.'], ['code' => 'MissingParam.DhcpOptionsSetId', 'message' => 'Missing parameter DhcpOptionsSetId.', 'http_code' => 400, 'description' => 'Missing parameter DhcpOptionsSetId'], ['code' => 'UnsupportedFeature.RouteTargetGroup', 'message' => 'The feature of RouteTargetGroup is not supported.', 'http_code' => 400, 'description' => 'The feature of RouteTargetGroup is not supported.'], ['code' => 'ResourceNotFound.RouteTargetGroup', 'message' => 'The specified resource of %s is not found.', 'http_code' => 400, 'description' => 'The specified resource% s does not exist.'], ['code' => 'MissingParam.MinRxInterval', 'message' => 'The parameter MinRxInterval is mandatory.', 'http_code' => 400, 'description' => 'Missing parameter MinRxInterval. When configuring BFD packets, you need to configure three parameters: the sending interval, the receiving interval, and the detection time multiple.'], ['code' => 'MissingParam.MinTxInterval', 'message' => 'The parameter MinTxInterval is mandatory.', 'http_code' => 400, 'description' => 'Missing parameter MinTxInterval. When configuring BFD packets, you need to configure three parameters: the sending interval, the receiving interval, and the detection time multiple.'], ['code' => 'MissingParam.DetectMultiplier', 'message' => 'The parameter DetectMultiplier is mandatory.', 'http_code' => 400, 'description' => 'Missing parameter DetectMultiplier. When configuring BFD packets, you need to configure three parameters: the sending interval, the receiving interval, and the detection time multiple.'], ['code' => 'OperationFailed.ResourceNotEnough', 'message' => 'Insufficient resources.', 'http_code' => 400, 'description' => 'The resources that you request are insufficient. If you still want to request the resources, submit a ticket.'], ['code' => 'ResourceNotFound.Ipv4Prefix', 'message' => 'The resource of s% is not found.', 'http_code' => 404, 'description' => 'The resource Ipv4Prefix does not exist.'], ['code' => 'IllegalParam.Ipv4Prefix', 'message' => 'The param of s% is illegal, must be /28 network segment.', 'http_code' => 400, 'description' => 'The Ipv4Prefix parameter is invalid and must be in the/28 network segment.'], ['code' => 'DependencyViolation.Ipv4Prefix', 'message' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'http_code' => 400, 'description' => 'NatIp belongs to Ipv4Prefix and cannot be deleted separately. Please delete the Ipv4Prefix directly.'], ['code' => 'IllegalParam.Ipv4Prefix', 'message' => 'The param of %s is illegal, must be /28 network segment.', 'http_code' => 400, 'description' => 'The parameter Ipv4Prefix is invalid and must be/28 network segment.'], ['code' => 'DependencyViolation.SnatEntry', 'message' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'http_code' => 400, 'description' => 'The SnatEntry associated with NatIp or Ipv4Prefix cannot be deleted. Delete the dependent Snat and delete it again.'], ['code' => 'ResourceNotFound.Ipv4Prefix', 'message' => 'The specified resource of %s is not found.', 'http_code' => 404, 'description' => 'Resource Ipv4Prefix not found, please check that the Ipv4Prefix exists.'], ['code' => 'ResourceAlreadyExist.Ipv4Prefix', 'message' => 'The specified resource of %s is already exist.', 'http_code' => 400, 'description' => 'This Ipv4Prefix has already been created. Do not re-create it.'], ['code' => 'OperationDenied.ConfigWithSameAz', 'message' => 'The operation is not allowed because of all config in the same availableZone.', 'http_code' => 400, 'description' => 'The operation is not allowed because of all config in the same availableZone.'], ['code' => 'OperationDenied.DiffInstanceType', 'message' => 'The operation is not allowed because of %s.', 'http_code' => 400, 'description' => 'The instance types configured for the route target group must be the same.'], ['code' => 'Mismatch.GroupVpcIdAndInstanceVpcId', 'message' => 'The RouteTargetGroup VPC %s and the RouteTargetConfig VPC %s are mismatched.', 'http_code' => 400, 'description' => 'The VPC to which the route target group belongs is different from the VPC to which the route target configuration instance belongs.'], ['code' => 'OperationDenied.UpdateEnableRouteTargetConfig', 'message' => 'The operation is not allowed because of The RouteTargetConfig which is in Enable status can not be update.', 'http_code' => 400, 'description' => 'The operation is not allowed because of The RouteTargetConfig which is in Enable status can not be update.'], ['code' => 'IncorrectStatus.RouteTargetGroup', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => 'The current state of the RouteTargetGroup prohibits the operation.'], ['code' => 'OperationDenied.UpdateConfigInstanceType', 'message' => 'The operation is not allowed because of can not update instance type.', 'http_code' => 400, 'description' => 'The operation is not allowed because of can not update instance type.'], ['code' => 'IncorrectStatus.TransitRouter', 'message' => 'The status of transit router is not stable, so the operation cannot be completed.', 'http_code' => 400, 'description' => 'The resources associated with the VPC are not stable, such as CEN. Try again later.'], ['code' => 'OperationDenied.NotSupportBondEniAsTrafficMirrorSource', 'message' => 'The operation is not allowed because bond eni cannot be the source of traffic mirror.', 'http_code' => 400, 'description' => 'Bond eni is not allowed to be the source of traffic mirror.'], ['code' => 'InvalidRouteEntry.NotFound', 'message' => 'vpc route entry not exist.', 'http_code' => 400, 'description' => 'the vpc routing table entry does not exist'], ['code' => 'OperationDenied.ExistVbrInPhysicalConnection', 'message' => 'It cannot be deleted when VBR exists.', 'http_code' => 400, 'description' => 'When a virtual border router exists under a physical port, it cannot be deleted.'], ['code' => 'OperationDenied.NeedVpconnOwnerOrPconnOwner', 'message' => 'The deletion failed. Only the owner of virtual physical connection or physical connection can delete it.', 'http_code' => 400, 'description' => 'The deletion failed. Only the owner of virtual physical connection or physical connection can delete it.'], ['code' => 'OperationDenied.PhysicalConnectionNotSupportMPBGPAndMPBGP-v6', 'message' => 'The operation is not allowed because this physical connection not support MPBGP and MPBGP-v6.', 'http_code' => 400, 'description' => 'The operation is not allowed because the current physical port does not support advanced capabilities such as MPBGP and MPBGP-v6.'], ['code' => 'OperationDenied.QuotaExceededWithNetworkAcl', 'message' => 'If the prefix list increases MaxEntries, the quota for the maximum number of entries for the associated network ACL instance %s is exceeded.', 'http_code' => 400, 'description' => 'If the prefix list increases the maximum number of entries, the quota for the maximum number of entries for the associated network ACL instance is exceeded.'], ['code' => 'OperationDenied.IpVersionInconsistencyWithPrefixList', 'message' => 'The ip version of the prefix list %s you passed in is inconsistent with the actual ip version of the prefix list.', 'http_code' => 400, 'description' => 'the ip version of the prefix list you passed in is inconsistent with the actual ip version of the prefix list.'], ['code' => 'OperationFailed.InstanceNotSupport', 'message' => 'natgateway not support ipv4prefix.', 'http_code' => 400, 'description' => 'The gateway does not support Ipv4Prefix.'], ['code' => 'QuotaExceeded.Ipv4Prefix', 'message' => 'The quota of %s is exceeded, usage %s/%s.', 'http_code' => 400, 'description' => 'Ipv4Prefix quota usage overflow.'], ['code' => 'QuotaExceeded.NatIp', 'message' => 'The quota of %s is exceeded, usage %s/%s.', 'http_code' => 400, 'description' => 'NatIp and Ipv4Prefix quota use overflow.'], ['code' => 'MissingParam.RelationKey', 'message' => 'The parameter RelationKey is mandatory.', 'http_code' => 400, 'description' => 'Parameters'], ['code' => 'OperationDenied.ZoneIsRetiring', 'message' => 'The specified zone is being retired. You cannot create a vSwitch in a retiring zone.', 'http_code' => 400, 'description' => 'The specified zone is being retired. You cannot create a vSwitch in a retiring zone.'], ['code' => 'OperationDenied.MemberWithSameAz', 'message' => 'The operation is not allowed because of all members being in the same availability zone.', 'http_code' => 400, 'description' => 'The operation is not allowed because of all members being in the same availability zone.'], ['code' => 'OperationDenied.UpdateMemberType', 'message' => 'The operation is not allowed because of the inability to update memberType.', 'http_code' => 400, 'description' => 'The operation is not allowed because of the inability to update memberType.'], ['code' => 'OperationDenied.UpdateEnableRouteTargetMember', 'message' => 'The operation is not allowed because of the inability to update the RouteTargetConfig when it is in the enabled state.', 'http_code' => 400, 'description' => 'The operation is not allowed because of the inability to update the RouteTargetConfig when it is in the enabled state.'], ['code' => 'OperationDenied.NetworkAclAttachmentInMiddleStatus', 'message' => 'The network ACL is being bound to or unbound from the switch.', 'http_code' => 400, 'description' => 'The network ACL is being bound to or unbound from the switch.'], ['code' => 'OperationDenied.ZoneIsDisabled', 'message' => 'The specified zone is disabled. You cannot create a vSwitch in a disabled zone.', 'http_code' => 400, 'description' => 'The specified zone is disabled. You cannot create a vSwitch in a disabled zone.'], ['code' => 'OperationDenied.UpdateEnableRouteTargetMember', 'message' => 'The operation is not allowed because of the inability to update the RouteTargetMember when it is in the enabled state.', 'http_code' => 400, 'description' => 'The operation is not allowed because of the inability to update the RouteTargetMember when it is in the enabled state.'], ['code' => 'OperationDenied.SwitchToAbnormalMember', 'message' => 'The operation is not allowed because of the inability to switch the RouteTargetMember when the disabled member is in an unhealthy state.', 'http_code' => 400, 'description' => 'The operation is not allowed because of the inability to switch the RouteTargetMember when the disabled member is in an unhealthy state.'], ['code' => 'InvalidRegionId.NotFound', 'message' => 'The regionId provided does not exist in our records.', 'http_code' => 400, 'description' => 'The RegionId parameter is set to an invalid value. Specify a valid value and try again.'], ['code' => 'InvalidRegionId.NotFound', 'message' => 'The specified RegionId is not found.', 'http_code' => 400, 'description' => 'The specified region ID is invalid. Check whether the service is available in the specified region.'], ['code' => 'IncorrectClassicLinkStatus', 'message' => 'Specified VPC classicLink enabled.', 'http_code' => 400, 'description' => 'ClassicLink is already enabled for the VPC.'], ['code' => 'DependencyViolation.Instance', 'message' => 'ClassicLink Instances exist in VPC.', 'http_code' => 400, 'description' => 'Instances exist in the VPC and the VPC cannot be deleted.'], ['code' => 'InvalidRegionId.NotFound', 'message' => 'The specified RegionId does not exist.', 'http_code' => 400, 'description' => 'The specified region does not exist.'], ['code' => 'IncorrectRouteTableStatus', 'message' => 'The current status of the route table does not support this operation.', 'http_code' => 400, 'description' => 'You cannot delete the route table in the current state.'], ['code' => 'InvalidRouterId.AttacedToCEN', 'message' => 'Can not create ri when attaced to CEN.', 'http_code' => 400, 'description' => 'You cannot attach the router interface to the CEN instance.'], ['code' => 'InvalidRegionId.NotFound', 'message' => 'The parameter wrong, pageNum or pageSize.', 'http_code' => 400, 'description' => 'The parameter is set to an invalid value.'], ['code' => 'DependencyViolation.VSwitchCidrReservation', 'message' => 'VSwitch cannot be deleted when vswitch cidr reservation exist.', 'http_code' => 400, 'description' => 'The error message returned because a CIDR block is reserved for the vSwitch and the vSwitch cannot be deleted.'], ['code' => 'Forbidden.RegionNotFound', 'message' => 'Specified instance is not found during access authentication.', 'http_code' => 400, 'description' => 'The error message returned because the region is not supported.'], ['code' => 'OperationUnsupported.SystemRouteTable', 'message' => 'System route table can not be unassociated.', 'http_code' => 400, 'description' => 'You cannot disassociate the system route table.'], ['code' => 'OperationFailed.RouteConflict', 'message' => 'Operation failed because a specified route entry is already exist.', 'http_code' => 400, 'description' => 'The operation conflicts with an existing route.'], ['code' => 'OperationFailed.ServiceManaged', 'message' => 'Operation is forbidden because this instance belongs to Service manager.', 'http_code' => 400, 'description' => 'A managed instance does not support this operation.'], ['code' => 'QuotaExceeded.RouteTargetGroup', 'message' => 'The quota of %s is exceeded, usage %s/%s.', 'http_code' => 400, 'description' => 'The quota of %s is exceeded, usage %s/%s.'], ['code' => 'UnsupportedFeature.UserDefinedTrafficPathIpv6', 'message' => 'Dual-stack flow log instances do not support custom trafficPath.', 'http_code' => 400, 'description' => 'Dual-stack flow log instances do not support custom trafficPath.'], ['code' => 'OperationFailed.TokenExpired', 'message' => 'The operation is failed because of TokenExpired.', 'http_code' => 400, 'description' => 'the specified eip allocation token has expired'], ['code' => 'OperationDeny.VbrWithVlan0', 'message' => 'The specified VirtualBorderRouter with vlan 0 does not support shutdown.', 'http_code' => 400, 'description' => 'The entered VBR VLAN is 0. Fault drill is not supported. Please use the physical connection for fault drill.'], ['code' => 'ExclusiveParam.AccessIpAndAccessDomain', 'message' => 'The specified AccessIp and AccessDomain are mutually exclusive.', 'http_code' => 400, 'description' => 'The specified input AccessIp conflicts with the AccessDomain.'], ['code' => 'IllegalParam.AccessDomain', 'message' => 'The request parameter AccessDomain is illegal.', 'http_code' => 400, 'description' => 'The AccessDomain parameter in the request parameter is invalid.'], ['code' => 'DependencyViolation.IpsecServer', 'message' => 'There is Ipsec VPN server on specified vpn gateway not deleted.', 'http_code' => 400, 'description' => 'The error message returned because the IPsec VPN server on specified vpn gateway is not deleted.'], ['code' => 'VpnPbrRouteEntry.NotSupport', 'message' => 'Current version of the VPN does not support pbr route entry.', 'http_code' => 400, 'description' => 'Current version of the VPN does not support pbr route entry.'], ['code' => 'OperationUnsupported.LargeTunnelBandwidth', 'message' => 'Large tunnelBandwidth VpnAttachment is unsupported.', 'http_code' => 400, 'description' => 'Large tunnelBandwidth VpnAttachment is unsupported.'], ['code' => 'IllegalParam.TunnelBandwidth', 'message' => 'TunnelBandwidth is illegal.', 'http_code' => 400, 'description' => 'TunnelBandwidth is illegal.'], ['code' => 'EncAlgInvalid.DesIncompatible', 'message' => 'Des/3des in IkeEncAlg and IpsecEncAlg does not support multi algorithm.', 'http_code' => 400, 'description' => 'Des/3des in IkeEncAlg and IpsecEncAlg does not support multi algorithm.'], ['code' => 'CustomerGateway.ConflictVpnIp', 'message' => 'The specified customer gateway has conflict with vpn gateway ip.', 'http_code' => 400, 'description' => 'The specified customer gateway has conflict with vpn gateway ip.'], ['code' => 'IkeVersionInvalid.GcmIncompatible', 'message' => 'Ikev1 does not support IkeEncAlg of gcm16.', 'http_code' => 400, 'description' => 'Ikev1 does not support IkeEncAlg of gcm16.'], ['code' => 'IncorrectStatus.PhysicalConnection', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => 'The status of the physical connection does not support this operation.'], ['code' => 'UnsupportedFeature.Macsec', 'message' => 'The feature of Macsec is not supported.', 'http_code' => 400, 'description' => 'The current physical connection does not support the MACSec feature.'], ['code' => 'UnsupportedFeature.Macsec.CipherSuit', 'message' => 'The feature of Macsec.CipherSuit is not supported.', 'http_code' => 400, 'description' => 'The current physical connection supports MACSec, but the selected encryption algorithm is not supported.'], ['code' => 'IncorrectStatus.PconnMacsec', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => 'The operation is not allowed because the MACSec key is in an unstable state.'], ['code' => 'QuotaExceeded.PconnMacsec', 'message' => 'The quota of PconnMacsec is exceeded, usage 3/3.', 'http_code' => 400, 'description' => 'A physical connection supports binding up to three sets of MACSec keys.'], ['code' => 'ResourceNotFound.PconnMacsec', 'message' => 'The specified resource of %s is not found.', 'http_code' => 400, 'description' => 'The Ckn to be disassociated does not exist.'], ['code' => 'UnsupportedFeature.Macsec.CipherSuite', 'message' => 'The feature of Macsec.CipherSuite is not supported.', 'http_code' => 400, 'description' => 'The current physical connection supports MACSec, but does not support the selected encryption algorithm.'], ['code' => 'OperationDenied.MacsecAttached', 'message' => 'The operation is not allowed because of MacsecAttached.', 'http_code' => 400, 'description' => 'The current operation is rejected because there is still a MACSec key binding on the physical connection.'], ['code' => 'DependencyViolation.RouteEntry', 'message' => 'RouteEntry %s depends on the resource %s.', 'http_code' => 400, 'description' => 'The current resource is still relied upon by the routing entry.'], ['code' => 'IncorrectStatus.TrafficMirrorSessionTarget', 'message' => 'The status of the target of the traffic mirror session is incorrect.', 'http_code' => 400, 'description' => 'The status of the intent of the traffic mirroring session is incorrect.'], ['code' => 'IncorrectStatus.TrafficMirrorSessionSource', 'message' => 'Incorrect status for source of traffic mirror session.', 'http_code' => 400, 'description' => 'Incorrect state for source of traffic mirroring session'], ['code' => 'OperationUnsupported.EipNatGWCheck', 'message' => 'The operation failed because the EIP is not bound to this NAT Gateway.', 'http_code' => 400, 'description' => 'The operation failed because the EIP is not bound to this NAT Gateway.'], ['code' => 'OperationFailed.SnatIpPoolCbwpRules', 'message' => 'The operation failed because the SNAT rule IPs are added to multi bandwidth packages.', 'http_code' => 400, 'description' => 'The operation failed because the SNAT rule IP address pool was added to multiple bandwidth packages.'], ['code' => 'IncorrectStatus.SnatEntry', 'message' => 'The SNAT rule status is invalid. Please try again later.', 'http_code' => 400, 'description' => 'The SNAT rule is in the intermediate state, or the status is abnormal. Please try again later.'], ['code' => 'IncorrectStatus.NatIp', 'message' => 'NatIp status is invalid, please try again later.', 'http_code' => 400, 'description' => 'NatIp is in intermediate state, please try again later.'], ['code' => 'OperationUnsupported.EipNatIpCheck', 'message' => 'The operation failed because the EIP is not bound to this NAT gateway.', 'http_code' => 400, 'description' => 'The operation failed because the EIP is not bound to this NAT gateway.'], ['code' => 'OperationFailed.SnatIpPoolBwpRules', 'message' => 'The operation failed because the IP in Snat entryl was added to multiple NAT bandwidth packets.', 'http_code' => 400, 'description' => 'The operation failed because the IP in the SNAT rule IP address pool was added to multiple NAT bandwidth packets.'], ['code' => 'OperationUnsupported.EnhancedRegion', 'message' => 'Region not support.', 'http_code' => 400, 'description' => 'The current region is temporarily not supported.'], ['code' => 'OperationFailed.CreateNatGateway', 'message' => 'Failed to create the NAT gateway.', 'http_code' => 400, 'description' => 'Failed to create the NAT gateway.'], ['code' => 'IncorrectStatus.RouteTableStatus', 'message' => 'The route table status is invaild. Please try again later.', 'http_code' => 400, 'description' => 'The routing table status does not support this operation. Please try again later.'], ['code' => 'ZoneUnsupported.FullNatDomain', 'message' => 'The current zone does not support the configuration of the FullNat rule domain name.', 'http_code' => 400, 'description' => 'The current zone does not support the configuration of the FullNat rule domain name.'], ['code' => 'InstanceUnsupported.FullNatDomain', 'message' => 'The current instance does not support the configuration of the FullNat rule domain name.', 'http_code' => 400, 'description' => 'The current instance does not support the configuration of the FullNat rule domain name.'], ['code' => 'OrderError.BasicInfoUncompleted', 'message' => 'Order basic parameter is not completed.', 'http_code' => 400, 'description' => 'Order error, basic parameter information incomplete.'], ['code' => 'OrderError.NoAvailablePaymentMethod', 'message' => 'Order payment parameter is not available.', 'http_code' => 400, 'description' => 'Order error. The payment type parameter is not available.'], ['code' => 'OperationUnsupported.EnhancedCURegion', 'message' => 'Operation failed because of this region not unsupported.', 'http_code' => 400, 'description' => 'Operation failed due to unsupported pay-as-you-go region'], ['code' => 'OperationUnsupported.User', 'message' => 'The current user does not support this operation.', 'http_code' => 400, 'description' => 'The current user does not support this operation.'], ['code' => 'Instance.NotFound', 'message' => 'instance not found.', 'http_code' => 400, 'description' => 'The instance does not exist or does not belong to the current user.'], ['code' => 'OperationFailed.SnatIpsCheck', 'message' => 'The operation fails because some IPs address in the SNAT entry are not added to common bandwidth packet.', 'http_code' => 400, 'description' => 'The operation fails because the IP address in the Snat rule IP address pool is not added to the shared bandwidth packet.'], ['code' => 'NatInstance.NotFound', 'message' => 'Instance not found.', 'http_code' => 400, 'description' => 'The instance does not exist or does not belong to the current user.'], ['code' => 'OperationUnsupported.Region', 'message' => 'Operation unsupport this region parameter.', 'http_code' => 400, 'description' => 'This operation does not support the region parameter'], ['code' => 'OperationUnsupported.QueryCurrentMonthTraffic', 'message' => 'The operation is not allowed because current month traffic query is not supported under 95 billing mode.', 'http_code' => 400, 'description' => 'Querying the current month traffic data in the 95 billing mode is not supported.'], ['code' => 'OperationFailed.MalformedPolicyDocument', 'message' => 'The policy format is invalid.', 'http_code' => 400, 'description' => 'The policy format is invalid.'], ['code' => 'OperationFailed.ResourceLockedBySystem', 'message' => 'The specified resource is locked by system.', 'http_code' => 400, 'description' => 'The operating resource is locked by the system and cannot be operated temporarily.'], ['code' => 'ParamExclusive.CidrBlockAndIpv6Only', 'message' => 'The combination of parameters is incorrect. ipv6only can only be used when the ipv4CidrBlock parameter is not set.', 'http_code' => 400, 'description' => 'CidrBlock or CidrMask cannot be specified in Ipv6Only mode.'], ['code' => 'InvalidParameter.SingleZone', 'message' => 'Operation failed because current user not support create single zone nat.', 'http_code' => 400, 'description' => 'current user is not allowed to create a single az nat'], ['code' => 'OperationDenied.AttachedToECR', 'message' => 'The operation is not allowed because the VPC is attached to ECR %s.', 'http_code' => 400, 'description' => 'The operation is not allowed because the VPC is attached to ECR %s.'], ['code' => 'InvalidParameter.DeviceAdvancedCapacity', 'message' => 'Invalid physical connection device advanced capacity.', 'http_code' => 400, 'description' => 'The advanced port capability is temporarily not supported. Please confirm and try again.'], ['code' => 'OperationFailed.Ipv4GatewayNotAssociatedWithGatewayRouteTable', 'message' => 'The operation failed because the specified IPv4 gateway of the VPC is not associated with any gateway route table.', 'http_code' => 400, 'description' => 'The operation failed because the specified IPv4 gateway of the VPC is not associated with any gateway route table.'], ['code' => 'InvalidParam.RouterId', 'message' => 'The parameter value cannot be null.', 'http_code' => 400, 'description' => 'The router ID associated with the router interface cannot be empty. Check and try again.'], ['code' => 'OperationDenied.RouterInterfaceStatusNotAllowed', 'message' => 'The operation is not allowed because of RouterInterfaceStatusNotAllowed.', 'http_code' => 400, 'description' => 'The router interface status is abnormal.'], ['code' => 'OperationFailed.InvalidRouterType', 'message' => 'The operation is failed because of %s.', 'http_code' => 400, 'description' => 'Invalid router type.'], ['code' => 'VpnDependencyViolation.VpnConnection', 'message' => 'There are vpn connections on specified vpn gateway not deleted.', 'http_code' => 400, 'description' => 'The error message returned because VPN connections to the specified vpn gateway are not deleted.'], ['code' => 'OperationDenied.CidrMaskTooSmall', 'message' => 'The operation is denied because the CIDR mask %s is less than the allocationMinNetmask %s of the pool.', 'http_code' => 400, 'description' => 'The operation is denied because the CIDR mask %s is less than the allocationMinNetmask %s of the pool.'], ['code' => 'OperationDenied.CidrMaskTooLarge', 'message' => 'The operation is denied because the CIDR mask %s is larger than the allocationMaxNetmask %s of the pool.', 'http_code' => 400, 'description' => 'The operation is denied because the CIDR mask %s is larger than the allocationMaxNetmask %s of the pool.'], ['code' => 'OperationDenied.ExistsInRouteTargetGroup', 'message' => 'NatGateway cannot close icmp reply, because this nat gateway exists in route target group.', 'http_code' => 400, 'description' => 'The NAT gateway is referenced by the route destination group. You are not allowed to disable the ICMP Pickup function.'], ['code' => 'DependencyViolation.RouteTargetGroup', 'message' => 'There are route target group on the NatGateway. please delete it first.', 'http_code' => 400, 'description' => 'The current NAT gateway has a routing target group reference. Delete the reference first.'], ['code' => 'OperationFailed.Ipv6AddressNotBind', 'message' => 'The specified next hop has no IPv6 address.', 'http_code' => 400, 'description' => 'The next hop of an ipv6 route entry does not have any ipv6 address'], ['code' => 'OperationDenied.NatGatewayNotSingleAZ', 'message' => 'NAT gateway must be in SingleAZ mode.', 'http_code' => 400, 'description' => 'A route target group only supports NAT gateways of a single AZ type.'], ['code' => 'OperationDenied.NatGatewayIcmpReplyDisabled', 'message' => 'NAT gateway ICMP reply is disabled.', 'http_code' => 400, 'description' => 'The NAT gateway in the route target group must enable the ICMP return function to ensure that ICMP detection packets can be responded to normally.'], ['code' => 'UnsupportedFeature.RouteTargetGroupForNat', 'message' => 'This region currently does not support NAT gateways as route target group members.', 'http_code' => 400, 'description' => 'The region does not support the NAT Gateway as a member of the route target group.'], ['code' => 'ResourceNotFound.NatGateway', 'message' => 'The selected NAT gateway was not found when creating or modifying the route target group.', 'http_code' => 400, 'description' => 'The selected NAT gateway resource is not discovered when creating or modifying the routing target group.'], ['code' => 'ResourceNotFound.NatGatewayVSwitch', 'message' => 'The VSwitch information associated with the selected NAT gateway was not found.', 'http_code' => 400, 'description' => 'VSwitch information associated with the selected NAT gateway was not found.'], ['code' => 'OperationDenied.IllegalRouteTargetGroupMemberType', 'message' => 'This operation does not support route target groups with NAT gateway members.', 'http_code' => 400, 'description' => 'The current operation does not support routing target groups with members of the NAT gateway type.'], ['code' => 'OperationFailed.IpNotExist', 'message' => 'The specified IP address does not exist.', 'http_code' => 400, 'description' => 'IP does not exist'], ['code' => 'MissingParam.EcrInstanceId', 'message' => 'The param of EcrInstanceId is missing.', 'http_code' => 400, 'description' => 'The parameter EcrInstanceId is missing.'], ['code' => 'InvalidParam.OwnerId', 'message' => 'The OwnerId parameter is invalid.', 'http_code' => 400, 'description' => 'The parameter OwnerId is invalid. Check whether the parameter is correct and try again.'], ['code' => 'Throttling.DeepPageSkip', 'message' => 'Deep page skip throttled. Please reduce the page skip frequency or use sequential pagination.', 'http_code' => 400, 'description' => 'The number of deep pagination skip operations has triggered rate limiting. Reduce the frequency of deep page jumps, or use sequential paging.'], ['code' => 'Conflict.VSwitchCidrReservationParam', 'message' => 'IpPrefixNumber cannot be used together with VSwitchCidrReservationCidr or VSwitchCidrReservationMask.', 'http_code' => 400, 'description' => 'IpPrefixNumber cannot be used together with VSwitchCidrReservationCidr or VSwitchCidrReservationMask.'], ['code' => 'MissingParam.VSwitchCidrReservationParam', 'message' => 'One of IpPrefixNumber, VSwitchCidrReservationMask, or VSwitchCidrReservationCidr must be specified.', 'http_code' => 400, 'description' => 'One of IpPrefixNumber, VSwitchCidrReservationMask, or VSwitchCidrReservationCidr must be specified. '], ['code' => 'IllegalParam.ReservedType', 'message' => 'IpPrefixNumber is only supported with Prefix reserved type.', 'http_code' => 400, 'description' => 'IpPrefixNumber is only supported with Prefix reserved type.'], ['code' => 'InvalidVSwitchId.SecondVswitchNotSupport', 'message' => 'The zone of the DisasterRecoveryVSwitch does not support creating a ha-tunnel VPN.', 'http_code' => 400, 'description' => 'The zone of the DisasterRecoveryVSwitch does not support creating a ha-tunnel VPN.'], ['code' => 'MissingParam.DisasterRecoveryVSwitchId', 'message' => 'The parameter DisasterRecoveryVSwitchId is missing.', 'http_code' => 400, 'description' => 'The parameter DisasterRecoveryVSwitchId is missing.'], ['code' => 'InvalidDisasterRecoveryVSwitchId.NotFound', 'message' => 'The specified DisasterRecoveryVSwitchId does not exist in the specified region.', 'http_code' => 400, 'description' => 'The specified DisasterRecoveryVSwitchId does not exist in the specified region.'], ['code' => 'CustomerGateway.AsnNotConfigured', 'message' => 'ASN of CustomerGateway is required when enabling BGP on an IPSec connection.', 'http_code' => 400, 'description' => 'When BGP is enabled for IPSec connection, ASN needs to be configured on the customer gateway.'], ['code' => 'InvalidPbrRouteEntry.NotFound', 'message' => 'The specified PBR route entry does not exist.', 'http_code' => 404, 'description' => 'The specified PBR route does not exist.'], ['code' => 'OperationDenied.CidrBlockOverlapped', 'message' => 'The operation is not allowed because the target CIDR block overlaps with %s.', 'http_code' => 400, 'description' => 'The target CIDR block overlaps with the existing CIDR block %s in the VPC.'], ['code' => 'OperationDenied.TargetCidrAndOriginalCidrNotOverlap', 'message' => 'The operation is not allowed because the target CIDR block and the original CIDR block do not overlap.', 'http_code' => 400, 'description' => 'The target CIDR block does not overlap with the original CIDR block. The CIDR block resize requires an overlap between them.'], ['code' => 'MissingParam.CidrBlockOrSecondaryCidrBlock', 'message' => 'The param of CidrBlockOrSecondaryCidrBlock is missing.', 'http_code' => 400, 'description' => 'At least one of the CidrBlock and SecondaryCidrBlock parameters must be specified.'], ['code' => 'OperationDenied.CidrBlockInUse', 'message' => 'The operation is not allowed because the target CIDR block is in use by existing vSwitch(es) %s.', 'http_code' => 400, 'description' => 'The target CIDR block does not cover the existing vSwitch CIDR block %s after the CIDR block is shrunk.'], ['code' => 'OperationDenied.OriginalCidrAndTargetCidrSame', 'message' => 'The operation is not allowed because the original CIDR block and the target CIDR block are the same.', 'http_code' => 400, 'description' => 'The target CIDR block is the same as the original CIDR block. Please specify a different CIDR block.'], ['code' => 'MissingParam.NewSecondaryCidrBlock', 'message' => 'The param of NewSecondaryCidrBlock is missing.', 'http_code' => 400, 'description' => 'The NewSecondaryCidrBlock parameter is required when modifying a secondary CIDR block.'], ['code' => 'OperationDenied.SecondaryCidrBlockNotFound', 'message' => 'The operation is not allowed because the specified secondary CIDR block is not found in the VPC.', 'http_code' => 400, 'description' => 'The specified secondary CIDR block does not exist in the current VPC.'], ['code' => 'ParamExclusive.CidrBlockAndSecondaryCidrBlock', 'message' => 'The param of CidrBlock and SecondaryCidrBlock are mutually exclusive.', 'http_code' => 400, 'description' => 'The CidrBlock and SecondaryCidrBlock parameters are mutually exclusive and cannot be specified at the same time.'], ['code' => 'CreatePconnFailed.AdvancedCapacity', 'message' => 'Create physical connection failed, no devices match the advanced capacity requirements.', 'http_code' => 400, 'description' => 'Failed to create a physical connection because there is no access device that meets the advanced capabilities of the device.'], ['code' => 'CreatePconnFailed.OpticalModule', 'message' => 'Create physical connection failed, no devices match the optical module requirements.', 'http_code' => 400, 'description' => 'Failed to create a physical connection. There is no access device matching the input optical module.'], ['code' => 'CreatePconnFailed.RedundantPconnId', 'message' => 'Create physical connection failed, no devices available after excluding redundant device.', 'http_code' => 400, 'description' => 'Failed to create a physical connection. No eligible access device has been excluded from the redundant connection.'], ['code' => 'ParamExclusive.CidrBlockAndIpv6Only', 'message' => 'CidrBlock is mutually exclusive with Ipv6Only.', 'http_code' => 400, 'description' => 'CidrBlock and CidrMask are not allowed when Ipv6Only is set to true.'], ['code' => 'Mismatch.ParamIpv6IspAndIpamPoolIpv6Isp', 'message' => 'The specified IPv6 ISP %s does not match the IPAM pool\'s IPv6 ISP %s.', 'http_code' => 400, 'description' => 'The specified IPv6 ISP does not match the IPv6 ISP configured in the IPAM pool.'], ['code' => 'OperationDenied.Ipv6CidrBlockAndMaskMutuallyExclusive', 'message' => 'Ipv6CidrBlock and Ipv6CidrMask are mutually exclusive.', 'http_code' => 400, 'description' => 'Ipv6CidrBlock and Ipv6CidrMask are mutually exclusive. You must specify only one of them.'], ['code' => 'OperationDenied.Ipv6CidrMaskInvalid', 'message' => 'The operation is not allowed because of %s.', 'http_code' => 400, 'description' => 'The operation is not allowed because the specified IPv6 CIDR mask is invalid, only %s is supported.'], ['code' => 'MissingParam.CidrBlockOrCidrMask', 'message' => 'Either CidrBlock or CidrMask must be specified.', 'http_code' => 400, 'description' => 'Either CidrBlock or CidrMask must be specified for creating a non-IPv6-only VSwitch.'], ['code' => 'MissingParam.Ipv6CidrBlockOrIpv6CidrMask', 'message' => 'Either Ipv6CidrBlock or Ipv6CidrMask must be specified.', 'http_code' => 400, 'description' => 'Either Ipv6CidrBlock or Ipv6CidrMask must be specified when IPv6 is enabled.'], ['code' => 'OperationDenied.AvailableCidrInsufficient', 'message' => 'No available CIDR block can be allocated from the VPC.', 'http_code' => 400, 'description' => 'No available CIDR block can be allocated from the VPC for the requested mask.'], ['code' => 'OperationDenied.CidrBlockAndMaskMutuallyExclusive', 'message' => 'CidrBlock and CidrMask are mutually exclusive.', 'http_code' => 400, 'description' => 'CidrBlock and CidrMask are mutually exclusive. You must specify only one of them.'], ['code' => 'OperationDenied.HasSecondaryZone', 'message' => 'VSwitch has secondary zone can not operate IPv6.', 'http_code' => 400, 'description' => 'VSwitch with a secondary zone does not support IPv6 operations.'], ['code' => 'OperationDenied.OriginalCidrNotFound', 'message' => 'The specified original CIDR block is not the primary or secondary CIDR block of the VPC.', 'http_code' => 400, 'description' => 'The specified original CIDR block is not the primary or secondary CIDR block of the VPC.'], ['code' => 'IncorrectBusinessStatus.PhysicalConnection', 'message' => 'Invalid physical connection business status.', 'http_code' => 400, 'description' => 'The current business status of the physical connection does not support operations.'], ['code' => 'UnsupportedFeature.DownDelayTime', 'message' => 'DownDelayTime is not supported for VirtualPhysicalConnection.', 'http_code' => 400, 'description' => 'The shared line does not support the configuration state switch delay command.'], ['code' => 'InvalidParam.DownDelayTime', 'message' => 'The DownDelayTime value is invalid.', 'http_code' => 400, 'description' => 'State switch delay parameter value illegal'], ['code' => 'UnsupportedFeature.LinkDelay.Device', 'message' => 'The access device does not support LinkDelay configuration.', 'http_code' => 400, 'description' => 'Access device does not support LinkDelay feature'], ['code' => 'UnsupportedFeature.LinkDelay', 'message' => 'The feature of LinkDelay is not supported.', 'http_code' => 400, 'description' => 'Status switch delay command is not supported'], ['code' => 'UnsupportedFeature.LinkDelay.Region', 'message' => 'LinkDelay feature is not enabled in region.', 'http_code' => 400, 'description' => 'The current region is not open state switching delay command characteristic switch'], ['code' => 'Forbidden.MinimumHoldingPeriod', 'message' => 'The EIP is within its minimum holding period.', 'http_code' => 400, 'description' => 'Local ISP can only be released after 30 days of creation. If you want to delete it, please do so after 30 days.'."\n"], ['code' => 'QuotaExceeded.PoolIpQuantity', 'message' => 'The quota of %s is exceeded, usage %s/%s.', 'http_code' => 400, 'description' => 'The number of IP addresses in the address pool exceeds the quota. If you need to increase the quota, please raise a ticket or contact your account manager.'], ['code' => 'QuotaExceeded.EipQuota', 'message' => 'The quota of %s is exceeded, usage %s/%s.', 'http_code' => 400, 'description' => 'The Eip quantity quota exceeds the limit. If you need to increase the quota, please raise a ticket or contact your account manager.'], ['code' => 'EquivalentCuExceeds.Maximum', 'message' => 'Equivalent CU %s exceeds maximum %s.', 'http_code' => 400, 'description' => 'Number of equivalent CUs exceeds the maximum limit.'], ['code' => 'InvalidCu.ExceedMaximum', 'message' => 'CU %s exceeds maximum %s.', 'http_code' => 400, 'description' => 'The CU exceeds the maximum limit.'], ['code' => 'InvalidCu.BelowMinimum', 'message' => 'CU %s is below minimum %s.', 'http_code' => 400, 'description' => 'CU is less than the minimum limit.'], ], 'changeSet' => [ [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteTable'], ], 'createdAt' => '2025-05-21T02:51:03.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateRouteEntries'], ['description' => 'Request parameters changed', 'api' => 'CreateRouteEntry'], ['description' => 'Request parameters changed', 'api' => 'DeleteRouteEntries'], ['description' => 'Request parameters changed', 'api' => 'DeleteRouteEntry'], ['description' => 'Request parameters changed', 'api' => 'ModifyRouteEntry'], ], 'createdAt' => '2025-05-16T02:31:10.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteIpv6Gateway'], ], 'createdAt' => '2025-05-12T09:56:23.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVSwitchCidrReservation'], ], 'createdAt' => '2025-05-06T12:46:43.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ['description' => 'Error codes changed', 'api' => 'AllocateIpv6InternetBandwidth'], ], 'createdAt' => '2025-04-29T08:20:14.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateDhcpOptionsSet'], ], 'createdAt' => '2025-04-29T05:54:01.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateFlowLog'], ], 'createdAt' => '2025-04-27T01:54:37.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateTrafficMirrorSession'], ['description' => 'Error codes changed', 'api' => 'UpdateTrafficMirrorSessionAttribute'], ], 'createdAt' => '2025-04-18T03:43:12.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteRouteEntry'], ], 'createdAt' => '2025-04-18T02:11:19.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeIpv6GatewayAttribute'], ['description' => 'Response parameters changed', 'api' => 'DescribeIpv6Gateways'], ], 'createdAt' => '2025-04-17T08:31:23.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateIpv6Gateway'], ['description' => 'Error codes changed', 'api' => 'DeleteIpv6Gateway'], ['description' => 'Response parameters changed', 'api' => 'DescribeIpv6GatewayAttribute'], ['description' => 'Response parameters changed', 'api' => 'DescribeIpv6Gateways'], ], 'createdAt' => '2025-04-14T06:08:14.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyRouteEntry'], ], 'createdAt' => '2025-04-14T01:39:40.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateTrafficMirrorFilter'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateTrafficMirrorFilterRules'], ['description' => 'Response parameters changed', 'api' => 'ListTrafficMirrorFilters'], ['description' => 'Error codes changed', 'api' => 'UpdateTrafficMirrorFilterRuleAttribute'], ], 'createdAt' => '2025-04-10T11:08:04.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteTrafficMirrorFilterRules'], ], 'createdAt' => '2025-04-09T05:41:56.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'DeleteVSwitch'], ], 'createdAt' => '2025-04-01T11:44:56.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyVSwitchAttribute'], ], 'createdAt' => '2025-03-27T03:06:27.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DescribeIpv6Addresses'], ], 'createdAt' => '2025-03-25T06:30:02.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'AllocateEipAddress'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'AllocateEipAddressPro'], ['description' => 'Request parameters changed', 'api' => 'CreateCommonBandwidthPackage'], ], 'createdAt' => '2025-03-24T07:26:28.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'RevokeInstanceFromCen'], ], 'createdAt' => '2025-03-21T10:57:43.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteRouteEntry'], ], 'createdAt' => '2025-03-20T09:23:34.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'CreateNatIpCidr'], ['description' => 'Response parameters changed', 'api' => 'DeleteFullNatEntry'], ['description' => 'Response parameters changed', 'api' => 'DeleteNatIp'], ['description' => 'Response parameters changed', 'api' => 'DeleteNatIpCidr'], ['description' => 'Response parameters changed', 'api' => 'ListNatIpCidrs'], ['description' => 'Response parameters changed', 'api' => 'ListNatIps'], ['description' => 'Response parameters changed', 'api' => 'ModifyNatIpCidrAttribute'], ], 'createdAt' => '2025-03-20T07:55:10.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateRouteTableWithGateway'], ['description' => 'Error codes changed', 'api' => 'ModifyRouteTableAttributes'], ], 'createdAt' => '2025-03-20T01:44:23.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AddBgpNetwork'], ['description' => 'Error codes changed', 'api' => 'AssociatePhysicalConnectionToVirtualBorderRouter'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'CreateBgpPeer'], ['description' => 'Error codes changed', 'api' => 'CreateRouterInterface'], ['description' => 'Error codes changed', 'api' => 'DeleteRouterInterface'], ['description' => 'Error codes changed', 'api' => 'ModifyVirtualBorderRouterAttribute'], ], 'createdAt' => '2025-03-19T09:07:15.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateIpsecServer'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateSslVpnServer'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateVcoRouteEntry'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateVpnAttachment'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateVpnConnection'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateVpnPbrRouteEntry'], ['description' => 'Error codes changed, Request parameters changed, Response parameters changed', 'api' => 'CreateVpnRouteEntry'], ], 'createdAt' => '2025-03-19T08:42:32.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteRouteEntries'], ], 'createdAt' => '2025-03-19T08:30:33.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateFlowLog'], ], 'createdAt' => '2025-03-13T07:49:26.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyRouteTableAttributes'], ], 'createdAt' => '2025-03-12T11:31:37.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyVpcAttribute'], ], 'createdAt' => '2025-03-05T11:25:04.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'WithdrawVpcPublishedRouteEntries'], ], 'createdAt' => '2025-03-03T11:51:03.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ChangeResourceGroup'], ], 'createdAt' => '2025-03-03T02:26:42.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyRouteTableAttributes'], ], 'createdAt' => '2025-02-28T09:02:54.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'UpdateGatewayRouteTableEntryAttribute'], ], 'createdAt' => '2025-02-28T02:57:13.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateFlowLog'], ['description' => 'Response parameters changed', 'api' => 'DescribeFlowLogs'], ['description' => 'Request parameters changed', 'api' => 'ModifyFlowLogAttribute'], ], 'createdAt' => '2025-02-26T10:24:53.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyFlowLogAttribute'], ], 'createdAt' => '2025-02-26T03:10:12.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyVpcAttribute'], ], 'createdAt' => '2025-02-25T08:17:20.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyRouteEntry'], ], 'createdAt' => '2025-02-25T06:56:40.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteVpc'], ], 'createdAt' => '2025-02-25T05:57:54.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ActiveFlowLog'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateFlowLog'], ['description' => 'Response parameters changed', 'api' => 'DescribeFlowLogs'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'ModifyFlowLogAttribute'], ], 'createdAt' => '2025-02-21T05:35:45.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'UpdateGatewayRouteTableEntryAttribute'], ], 'createdAt' => '2025-02-20T10:04:51.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'UpdateGatewayRouteTableEntryAttribute'], ], 'createdAt' => '2025-02-19T03:25:09.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyVSwitchAttribute'], ], 'createdAt' => '2025-02-18T11:12:05.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyVpcAttribute'], ], 'createdAt' => '2025-02-14T03:57:17.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteVSwitch'], ], 'createdAt' => '2025-02-14T03:41:48.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyRouteEntry'], ], 'createdAt' => '2025-02-14T01:53:54.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeEipAddresses'], ], 'createdAt' => '2025-02-10T11:25:28.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteIpv6EgressOnlyRule'], ['description' => 'Response parameters changed', 'api' => 'DeleteVSwitch'], ], 'createdAt' => '2025-02-10T11:21:35.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateRouteEntries'], ['description' => 'Request parameters changed', 'api' => 'DeleteRouteEntries'], ['description' => 'Request parameters changed', 'api' => 'DescribeRouteEntryList'], ], 'createdAt' => '2025-02-10T05:39:05.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AddSourcesToTrafficMirrorSession'], ['description' => 'Error codes changed', 'api' => 'CreateTrafficMirrorSession'], ['description' => 'Error codes changed', 'api' => 'UpdateTrafficMirrorSessionAttribute'], ], 'createdAt' => '2025-02-08T09:45:09.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DescribeIpv6Addresses'], ], 'createdAt' => '2025-01-22T02:57:50.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'AssociateVpcCidrBlock'], ], 'createdAt' => '2025-01-16T06:58:52.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVpc'], ['description' => 'Error codes changed', 'api' => 'GetVpcRouteEntrySummary'], ['description' => 'Error codes changed', 'api' => 'ModifyVpcAttribute'], ], 'createdAt' => '2025-01-16T03:36:36.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ['description' => 'Error codes changed', 'api' => 'DeleteRouteEntry'], ['description' => 'Error codes changed', 'api' => 'ModifyRouteTableAttributes'], ], 'createdAt' => '2025-01-14T01:32:48.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateRouteTable'], ['description' => 'Error codes changed', 'api' => 'AssociateRouteTableWithGateway'], ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ['description' => 'Error codes changed', 'api' => 'DescribeRouteTables'], ['description' => 'Error codes changed', 'api' => 'ModifyRouteEntry'], ['description' => 'Error codes changed', 'api' => 'UpdateGatewayRouteTableEntryAttribute'], ], 'createdAt' => '2024-12-31T01:51:51.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateNatGateway'], ['description' => 'Error codes changed', 'api' => 'CreateNatIp'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeNatGatewayAssociateNetworkInterfaces'], ['description' => 'Error codes changed', 'api' => 'ModifyForwardEntry'], ], 'createdAt' => '2024-12-30T03:58:52.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateVpcCidrBlock'], ], 'createdAt' => '2024-12-30T01:56:18.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateVpcCidrBlock'], ['description' => 'Error codes changed', 'api' => 'CreateVpc'], ], 'createdAt' => '2024-12-18T11:28:55.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CheckCanAllocateVpcPrivateIpAddress'], ], 'createdAt' => '2024-12-16T07:17:17.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'UnassociateNetworkAcl'], ['description' => 'Error codes changed', 'api' => 'UpdateDhcpOptionsSetAttribute'], ], 'createdAt' => '2024-12-13T02:34:34.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateExpressConnectTrafficQos'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeExpressConnectTrafficQos'], ], 'createdAt' => '2024-12-12T05:57:32.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateForwardEntry'], ['description' => 'Error codes changed', 'api' => 'CreateNatGateway'], ['description' => 'Request parameters changed', 'api' => 'CreateSnatEntry'], ['description' => 'Error codes changed', 'api' => 'ListFullNatEntries'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ModifyForwardEntry'], ['description' => 'Request parameters changed', 'api' => 'ModifySnatEntry'], ], 'createdAt' => '2024-12-03T02:21:33.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateVpnAttachment'], ['description' => 'Request parameters changed', 'api' => 'ModifyVpnAttachmentAttribute'], ], 'createdAt' => '2024-11-28T10:47:20.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyRouteTableAttributes'], ], 'createdAt' => '2024-11-28T06:48:37.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ListVpcPublishedRouteEntries'], ], 'createdAt' => '2024-11-27T03:51:05.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'ModifyVpnAttachmentAttribute'], ], 'createdAt' => '2024-11-26T05:48:13.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateVpnAttachment'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpnAttachments'], ['description' => 'Request parameters changed', 'api' => 'ModifyVpnAttachmentAttribute'], ], 'createdAt' => '2024-11-25T02:23:23.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateFlowLog'], ['description' => 'Error codes changed', 'api' => 'ModifyFlowLogAttribute'], ], 'createdAt' => '2024-11-20T03:14:02.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyRouteEntry'], ], 'createdAt' => '2024-11-19T02:34:57.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateEipAddress'], ], 'createdAt' => '2024-11-18T12:36:38.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateNetworkAcl'], ['description' => 'Error codes changed', 'api' => 'UnassociateNetworkAcl'], ], 'createdAt' => '2024-11-14T07:59:23.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVirtualBorderRouter'], ['description' => 'Error codes changed', 'api' => 'DescribeEcGrantRelation'], ['description' => 'Error codes changed', 'api' => 'DescribePhysicalConnections'], ['description' => 'Error codes changed', 'api' => 'DescribeVirtualBorderRouters'], ], 'createdAt' => '2024-11-12T08:03:46.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyVSwitchAttribute'], ], 'createdAt' => '2024-11-07T03:23:13.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyRouteEntry'], ], 'createdAt' => '2024-11-06T02:02:38.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ModifyRouteEntry'], ], 'createdAt' => '2024-11-04T09:27:49.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed, Response parameters changed', 'api' => 'DescribeVpnAttachments'], ], 'createdAt' => '2024-11-01T03:04:43.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateFlowLog'], ], 'createdAt' => '2024-10-29T02:52:16.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteRouteEntry'], ['description' => 'Error codes changed', 'api' => 'DeleteVpc'], ['description' => 'Error codes changed', 'api' => 'ModifyRouteEntry'], ], 'createdAt' => '2024-10-28T06:53:05.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'UpdateNetworkAclEntries'], ['description' => 'Error codes changed', 'api' => 'UpdateTrafficMirrorSessionAttribute'], ], 'createdAt' => '2024-10-25T13:39:54.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateVpnAttachment'], ['description' => 'Error codes changed', 'api' => 'DeleteVpnAttachment'], ['description' => 'Response parameters changed, Response parameters changed', 'api' => 'DescribeVcoRouteEntries'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpnConnection'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpnConnections'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpnRouteEntries'], ['description' => 'Request parameters changed', 'api' => 'ModifyTunnelAttribute'], ['description' => 'Error codes changed, Request parameters changed, Response parameters changed', 'api' => 'ModifyVpnAttachmentAttribute'], ['description' => 'Request parameters changed', 'api' => 'ModifyVpnConnectionAttribute'], ], 'createdAt' => '2024-10-24T09:33:42.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateForwardEntry'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateNatGateway'], ['description' => 'Error codes changed', 'api' => 'CreateNatIpCidr'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeNatGatewayAssociateNetworkInterfaces'], ['description' => 'Response parameters changed', 'api' => 'DescribeNatGateways'], ['description' => 'Response parameters changed', 'api' => 'GetNatGatewayAttribute'], ['description' => 'Error codes changed', 'api' => 'ModifyForwardEntry'], ['description' => 'Error codes changed', 'api' => 'ModifyNatIpCidrAttribute'], ], 'createdAt' => '2024-10-23T06:04:50.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'UpdateNatGatewayNatType'], ], 'createdAt' => '2024-10-18T08:38:02.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateVpc'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeVpcAttribute'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpcs'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'ModifyVpcAttribute'], ], 'createdAt' => '2024-10-10T06:14:52.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyVSwitchAttribute'], ], 'createdAt' => '2024-10-08T10:05:39.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteVpc'], ], 'createdAt' => '2024-09-29T10:47:02.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyRouteEntry'], ], 'createdAt' => '2024-09-29T06:00:44.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateFlowLog'], ['description' => 'Response parameters changed', 'api' => 'DescribeFlowLogs'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'ModifyFlowLogAttribute'], ], 'createdAt' => '2024-09-25T15:14:03.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateEipAddress'], ], 'createdAt' => '2024-09-24T02:51:38.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'ListVpcPublishedRouteEntries'], ['description' => 'Error codes changed', 'api' => 'ModifyRouteEntry'], ], 'createdAt' => '2024-09-13T07:01:47.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateTrafficMirrorSession'], ['description' => 'Error codes changed', 'api' => 'UpdateTrafficMirrorSessionAttribute'], ], 'createdAt' => '2024-09-11T02:36:39.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateRouteTable'], ['description' => 'Error codes changed', 'api' => 'ModifyRouteEntry'], ], 'createdAt' => '2024-09-06T06:03:43.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ['description' => 'Error codes changed', 'api' => 'ModifyRouteEntry'], ['description' => 'Error codes changed', 'api' => 'UpdateGatewayRouteTableEntryAttribute'], ], 'createdAt' => '2024-09-03T02:20:39.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'ModifyRouteEntry'], ], 'createdAt' => '2024-08-29T05:46:48.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateVpcCidrBlock'], ], 'createdAt' => '2024-08-28T05:52:43.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DescribeRouteEntryList'], ], 'createdAt' => '2024-08-26T11:35:19.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ], 'createdAt' => '2024-08-23T09:37:55.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateVpc'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeVpcAttribute'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpcs'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'ModifyVpcAttribute'], ], 'createdAt' => '2024-08-23T09:35:55.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyRouteTableAttributes'], ], 'createdAt' => '2024-08-21T08:59:27.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'Describe95Traffic'], ], 'createdAt' => '2024-08-19T02:24:14.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateBgpGroup'], ['description' => 'Error codes changed', 'api' => 'CreateBgpPeer'], ['description' => 'Response parameters changed', 'api' => 'DescribeEcGrantRelation'], ], 'createdAt' => '2024-08-16T02:04:12.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateNatGateway'], ], 'createdAt' => '2024-08-15T09:06:17.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ], 'createdAt' => '2024-08-12T03:08:23.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateFullNatEntry'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateSnatEntry'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeSnatTableEntries'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'ModifySnatEntry'], ], 'createdAt' => '2024-08-09T10:05:49.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateIpv6Address'], ['description' => 'Error codes changed', 'api' => 'DescribeIpv6Addresses'], ], 'createdAt' => '2024-08-08T09:26:06.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'ListPublicIpAddressPools'], ], 'createdAt' => '2024-08-07T08:57:33.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyVpcAttribute'], ], 'createdAt' => '2024-08-06T03:05:03.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'UpdateVirtualPhysicalConnection'], ], 'createdAt' => '2024-08-01T04:02:53.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DescribeGrantRulesToCen'], ['description' => 'Error codes changed', 'api' => 'DescribeIpv6GatewayAttribute'], ['description' => 'Error codes changed', 'api' => 'DescribeIpv6Gateways'], ['description' => 'Error codes changed', 'api' => 'DescribeRegions'], ['description' => 'Error codes changed', 'api' => 'DescribeVRouters'], ['description' => 'Error codes changed', 'api' => 'GetFlowLogServiceStatus'], ['description' => 'Error codes changed', 'api' => 'GetTrafficMirrorServiceStatus'], ['description' => 'Error codes changed', 'api' => 'GetVpcRouteEntrySummary'], ['description' => 'Error codes changed', 'api' => 'ListIpv4Gateways'], ['description' => 'Error codes changed', 'api' => 'ListPublicIpAddressPoolCidrBlocks'], ], 'createdAt' => '2024-07-31T02:34:56.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AddPublicIpAddressPoolCidrBlock'], ], 'createdAt' => '2024-07-29T03:09:33.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AddBgpNetwork'], ['description' => 'Error codes changed', 'api' => 'CreatePhysicalConnectionOccupancyOrder'], ['description' => 'Error codes changed', 'api' => 'CreateVbrHa'], ['description' => 'Error codes changed', 'api' => 'DescribeFailoverTestJobs'], ], 'createdAt' => '2024-07-29T02:44:47.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'AllocateIpv6InternetBandwidth'], ['description' => 'Request parameters changed', 'api' => 'DeleteIpv6Gateway'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'DeleteIpv6InternetBandwidth'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DeleteVpc'], ['description' => 'Request parameters changed', 'api' => 'DeleteVSwitchCidrReservation'], ['description' => 'Request parameters changed', 'api' => 'ModifyIpv6AddressAttribute'], ['description' => 'Request parameters changed', 'api' => 'ModifyIpv6GatewayAttribute'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'ModifyIpv6InternetBandwidth'], ['description' => 'Request parameters changed', 'api' => 'ModifyVSwitchCidrReservationAttribute'], ], 'createdAt' => '2024-07-24T08:03:21.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'ModifyFullNatEntryAttribute'], ], 'createdAt' => '2024-07-23T06:51:44.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateFailoverTestJob'], ['description' => 'Error codes changed', 'api' => 'DeleteFailoverTestJob'], ['description' => 'Response parameters changed', 'api' => 'DescribeFailoverTestJob'], ['description' => 'Response parameters changed', 'api' => 'DescribeFailoverTestJobs'], ['description' => 'Error codes changed', 'api' => 'StartFailoverTestJob'], ['description' => 'Error codes changed', 'api' => 'StopFailoverTestJob'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'UpdateFailoverTestJob'], ], 'createdAt' => '2024-07-19T02:56:47.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'DescribePublicIpAddress'], ], 'createdAt' => '2024-07-16T06:15:41.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ], 'createdAt' => '2024-07-16T05:48:50.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddressPro'], ['description' => 'Error codes changed', 'api' => 'AllocateEipSegmentAddress'], ], 'createdAt' => '2024-07-16T03:57:30.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreatePhysicalConnection'], ['description' => 'Error codes changed', 'api' => 'DescribeVbrHa'], ], 'createdAt' => '2024-07-15T06:09:07.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociatePhysicalConnectionToVirtualBorderRouter'], ['description' => 'Error codes changed', 'api' => 'AttachVbrToVpconn'], ['description' => 'Error codes changed', 'api' => 'ConfirmPhysicalConnection'], ['description' => 'Error codes changed', 'api' => 'CreateHighReliablePhysicalConnection'], ['description' => 'Error codes changed', 'api' => 'CreatePhysicalConnection'], ['description' => 'Error codes changed', 'api' => 'CreateRouterInterface'], ['description' => 'Error codes changed', 'api' => 'CreateVpconnFromVbr'], ['description' => 'Error codes changed', 'api' => 'ModifyVirtualBorderRouterAttribute'], ], 'createdAt' => '2024-06-28T02:56:03.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeletePublicIpAddressPool'], ], 'createdAt' => '2024-06-26T03:40:55.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteVSwitchCidrReservation'], ['description' => 'Error codes changed', 'api' => 'DescribeVpcAttribute'], ], 'createdAt' => '2024-06-24T03:22:09.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ModifyRouteTableAttributes'], ], 'createdAt' => '2024-06-24T02:04:27.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Response parameters changed', 'api' => 'CreateBgpGroup'], ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ['description' => 'Error codes changed', 'api' => 'DeleteBgpGroup'], ['description' => 'Error codes changed', 'api' => 'DeleteRouteEntry'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'ModifyBgpGroupAttribute'], ], 'createdAt' => '2024-06-19T02:32:20.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVpnGateway'], ], 'createdAt' => '2024-06-18T11:59:35.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ChangeResourceGroup'], ['description' => 'Error codes changed', 'api' => 'CreateBgpGroup'], ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ['description' => 'Error codes changed', 'api' => 'DeletePhysicalConnection'], ['description' => 'Error codes changed', 'api' => 'DescribePhysicalConnections'], ['description' => 'Error codes changed', 'api' => 'ListBusinessAccessPoints'], ['description' => 'Error codes changed', 'api' => 'ModifyBgpGroupAttribute'], ['description' => 'Error codes changed', 'api' => 'ModifyPhysicalConnectionAttribute'], ['description' => 'Error codes changed', 'api' => 'ModifyRouterInterfaceAttribute'], ], 'createdAt' => '2024-06-13T08:13:03.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'DeleteIpv4Gateway'], ], 'createdAt' => '2024-06-12T07:23:58.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateFullNatEntry'], ], 'createdAt' => '2024-06-06T09:48:50.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ListPublicIpAddressPools'], ], 'createdAt' => '2024-06-06T09:02:57.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteRouteEntry'], ], 'createdAt' => '2024-06-05T07:29:15.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyRouteEntry'], ], 'createdAt' => '2024-06-05T05:55:52.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DeleteRouteEntry'], ], 'createdAt' => '2024-06-03T08:54:31.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AddPublicIpAddressPoolCidrBlock'], ['description' => 'Error codes changed', 'api' => 'CreatePublicIpAddressPool'], ['description' => 'Response parameters changed', 'api' => 'ListPublicIpAddressPools'], ], 'createdAt' => '2024-05-27T10:54:55.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyRouteEntry'], ], 'createdAt' => '2024-05-23T06:10:52.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateVpcCidrBlock'], ['description' => 'Error codes changed', 'api' => 'CreateVpc'], ], 'createdAt' => '2024-05-21T03:42:58.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyNatGatewayAttribute'], ], 'createdAt' => '2024-05-17T02:34:05.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ], 'createdAt' => '2024-05-17T02:05:14.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'DescribeVpcs'], ['description' => 'Request parameters changed', 'api' => 'DescribeVSwitches'], ], 'createdAt' => '2024-05-16T01:53:09.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'GetVpcPrefixListEntries'], ], 'createdAt' => '2024-05-09T02:03:43.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ChangeResourceGroup'], ['description' => 'Error codes changed', 'api' => 'CreateRouterInterface'], ['description' => 'Error codes changed', 'api' => 'CreateVirtualPhysicalConnection'], ['description' => 'Error codes changed', 'api' => 'DeleteVirtualBorderRouter'], ['description' => 'Error codes changed', 'api' => 'DescribeBgpPeers'], ['description' => 'Error codes changed', 'api' => 'ModifyVirtualBorderRouterAttribute'], ], 'createdAt' => '2024-05-08T02:53:45.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateSslVpnServer'], ['description' => 'Error codes changed', 'api' => 'CreateVpnAttachment'], ['description' => 'Error codes changed', 'api' => 'CreateVpnPbrRouteEntry'], ['description' => 'Error codes changed', 'api' => 'CreateVpnRouteEntry'], ['description' => 'Response parameters changed', 'api' => 'DescribeSslVpnServers'], ['description' => 'Error codes changed, Request parameters changed, Response parameters changed', 'api' => 'ModifySslVpnServer'], ], 'createdAt' => '2024-05-08T02:19:22.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed, Response parameters changed', 'api' => 'DescribeNatGateways'], ['description' => 'Response parameters changed, Response parameters changed', 'api' => 'GetNatGatewayAttribute'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'ModifyNatGatewayAttribute'], ], 'createdAt' => '2024-05-07T05:54:29.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeVpnGateway'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpnGateways'], ], 'createdAt' => '2024-05-06T02:21:12.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateFlowLog'], ], 'createdAt' => '2024-04-28T03:16:17.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'AssociateVpcCidrBlock'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateVpc'], ], 'createdAt' => '2024-04-25T12:15:26.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'AllocateIpv6Address'], ['description' => 'Error codes changed', 'api' => 'CreateIpv6EgressOnlyRule'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeIpv6Addresses'], ['description' => 'Error codes changed', 'api' => 'DescribeIpv6EgressOnlyRules'], ['description' => 'Error codes changed', 'api' => 'ReleaseIpv6Address'], ], 'createdAt' => '2024-04-24T11:40:17.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DetachDhcpOptionsSetFromVpc'], ['description' => 'Error codes changed', 'api' => 'UpdateDhcpOptionsSetAttribute'], ], 'createdAt' => '2024-04-22T03:16:32.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ActivateRouterInterface'], ['description' => 'Error codes changed', 'api' => 'CreateBgpGroup'], ['description' => 'Error codes changed', 'api' => 'DeactivateRouterInterface'], ], 'createdAt' => '2024-04-19T07:23:22.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouterInterface'], ['description' => 'Response parameters changed', 'api' => 'DescribeVirtualBorderRouters'], ], 'createdAt' => '2024-04-17T09:27:38.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteVSwitchCidrReservation'], ], 'createdAt' => '2024-04-11T06:37:13.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateNatGateway'], ['description' => 'Response parameters changed', 'api' => 'DescribeSnatTableEntries'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'ModifySnatEntry'], ], 'createdAt' => '2024-04-11T06:04:43.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeVpcAttribute'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpcs'], ], 'createdAt' => '2024-04-09T02:14:12.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'OpenPhysicalConnectionService'], ], 'createdAt' => '2024-04-03T03:51:51.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ], 'createdAt' => '2024-04-02T12:12:47.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'DeleteExpressConnectTrafficQos'], ['description' => 'Request parameters changed', 'api' => 'DeleteExpressConnectTrafficQosQueue'], ['description' => 'Request parameters changed', 'api' => 'ModifyExpressConnectTrafficQos'], ], 'createdAt' => '2024-03-29T08:01:37.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'UpdateNetworkAclEntries'], ], 'createdAt' => '2024-03-26T11:08:21.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteRouterInterface'], ], 'createdAt' => '2024-03-25T02:40:12.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ['description' => 'Error codes changed', 'api' => 'ModifyRouteEntry'], ], 'createdAt' => '2024-03-25T01:57:16.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ], 'createdAt' => '2024-03-14T10:12:40.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ], 'createdAt' => '2024-03-14T07:21:12.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed, Response parameters changed', 'api' => 'AddPublicIpAddressPoolCidrBlock'], ], 'createdAt' => '2024-03-14T07:09:55.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'DescribeEipAddresses'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeIpv6Addresses'], ], 'createdAt' => '2024-03-14T06:49:32.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribePublicIpAddress'], ], 'createdAt' => '2024-03-12T12:58:51.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'CreatePublicIpAddressPool'], ], 'createdAt' => '2024-03-04T09:27:22.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyPhysicalConnectionAttribute'], ], 'createdAt' => '2024-02-28T09:00:04.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteVbrHa'], ], 'createdAt' => '2024-02-27T03:21:18.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateCommonBandwidthPackage'], ], 'createdAt' => '2024-02-23T08:26:18.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ], 'createdAt' => '2024-02-02T02:13:04.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociatePhysicalConnectionToVirtualBorderRouter'], ['description' => 'Error codes changed', 'api' => 'CreateVirtualBorderRouter'], ['description' => 'Error codes changed', 'api' => 'CreateVirtualPhysicalConnection'], ['description' => 'Error codes changed', 'api' => 'DeletePhysicalConnection'], ['description' => 'Response parameters changed', 'api' => 'DescribePhysicalConnections'], ], 'createdAt' => '2024-02-01T03:33:09.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyVpcAttribute'], ], 'createdAt' => '2024-02-01T02:17:04.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteVpc'], ], 'createdAt' => '2024-01-24T02:41:16.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ['description' => 'Error codes changed', 'api' => 'AllocateEipAddressPro'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreatePublicIpAddressPool'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListPublicIpAddressPools'], ], 'createdAt' => '2024-01-22T09:35:44.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateForwardEntry'], ['description' => 'Error codes changed', 'api' => 'CreateNatGateway'], ['description' => 'Error codes changed', 'api' => 'CreateSnatEntry'], ['description' => 'Error codes changed', 'api' => 'DeleteNatGateway'], ['description' => 'Error codes changed', 'api' => 'DeleteNatIp'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'ModifyNatGatewayAttribute'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'ModifySnatEntry'], ], 'createdAt' => '2024-01-18T07:07:49.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVSwitch'], ], 'createdAt' => '2024-01-17T10:02:40.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AddCommonBandwidthPackageIps'], ], 'createdAt' => '2024-01-17T06:52:43.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AddSourcesToTrafficMirrorSession'], ['description' => 'Error codes changed', 'api' => 'CreateTrafficMirrorSession'], ['description' => 'Error codes changed', 'api' => 'UpdateTrafficMirrorSessionAttribute'], ], 'createdAt' => '2024-01-15T05:36:52.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ['description' => 'Error codes changed', 'api' => 'ModifyBgpPeerAttribute'], ['description' => 'Error codes changed', 'api' => 'ModifyVirtualBorderRouterAttribute'], ['description' => 'Error codes changed', 'api' => 'RecoverPhysicalConnection'], ], 'createdAt' => '2024-01-04T01:43:27.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeRouteEntryList'], ['description' => 'Response parameters changed', 'api' => 'DescribeRouteTableList'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpcAttribute'], ], 'createdAt' => '2023-12-28T06:11:18.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateCustomerGateway'], ['description' => 'Error codes changed', 'api' => 'CreateIpsecServer'], ['description' => 'Error codes changed', 'api' => 'CreateSslVpnClientCert'], ['description' => 'Error codes changed', 'api' => 'CreateVcoRouteEntry'], ['description' => 'Error codes changed', 'api' => 'CreateVpnConnection'], ['description' => 'Error codes changed', 'api' => 'CreateVpnGateway'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'CreateVpnPbrRouteEntry'], ['description' => 'Error codes changed', 'api' => 'DeleteCustomerGateway'], ['description' => 'Error codes changed', 'api' => 'DeleteVpnAttachment'], ['description' => 'Error codes changed', 'api' => 'DeleteVpnConnection'], ], 'createdAt' => '2023-12-27T02:16:19.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeVirtualBorderRouters'], ['description' => 'Error codes changed, Request parameters changed, Response parameters changed', 'api' => 'ModifyVirtualBorderRouterAttribute'], ], 'createdAt' => '2023-12-26T12:30:33.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ListEnhanhcedNatGatewayAvailableZones'], ], 'createdAt' => '2023-12-26T01:51:31.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouterInterface'], ], 'createdAt' => '2023-12-22T03:56:57.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyRouteEntry'], ], 'createdAt' => '2023-12-21T09:24:27.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreatePhysicalConnectionOccupancyOrder'], ['description' => 'Error codes changed', 'api' => 'CreateRouterInterface'], ['description' => 'Error codes changed', 'api' => 'CreateVirtualPhysicalConnection'], ['description' => 'Error codes changed', 'api' => 'DeleteRouterInterface'], ['description' => 'Error codes changed', 'api' => 'ModifyRouterInterfaceSpec'], ['description' => 'Error codes changed', 'api' => 'UpdateVirtualPhysicalConnection'], ], 'createdAt' => '2023-12-21T05:47:13.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'UpdateGatewayRouteTableEntryAttribute'], ], 'createdAt' => '2023-12-19T02:49:02.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'ListTrafficMirrorFilters'], ['description' => 'Response parameters changed', 'api' => 'ListTrafficMirrorSessions'], ], 'createdAt' => '2023-12-18T12:55:34.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteNatGateway'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListFullNatEntries'], ], 'createdAt' => '2023-12-18T05:38:34.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteVSwitch'], ['description' => 'Error codes changed', 'api' => 'ModifyVpcAttribute'], ], 'createdAt' => '2023-12-14T07:39:06.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateNatGateway'], ], 'createdAt' => '2023-12-14T03:32:29.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ['description' => 'Error codes changed', 'api' => 'AssociateEipAddress'], ], 'createdAt' => '2023-12-13T12:53:00.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateIpv6InternetBandwidth'], ['description' => 'Error codes changed', 'api' => 'CreatePublicIpAddressPool'], ['description' => 'Error codes changed', 'api' => 'UpdateGatewayRouteTableEntryAttribute'], ], 'createdAt' => '2023-12-08T08:53:51.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeEipAddresses'], ], 'createdAt' => '2023-12-07T09:36:26.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateRouteTablesWithVpcGatewayEndpoint'], ], 'createdAt' => '2023-12-07T09:32:00.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeletePhysicalConnection'], ], 'createdAt' => '2023-11-28T02:17:46.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'DescribeRouteTableList'], ], 'createdAt' => '2023-11-27T12:29:38.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVSwitchCidrReservation'], ], 'createdAt' => '2023-11-27T02:26:45.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateHaVip'], ], 'createdAt' => '2023-11-20T01:45:34.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'ListPrefixLists'], ], 'createdAt' => '2023-11-09T07:17:03.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyEipAddressAttribute'], ], 'createdAt' => '2023-11-09T06:57:03.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CompletePhysicalConnectionLOA'], ], 'createdAt' => '2023-11-07T09:56:45.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateCommonBandwidthPackage'], ], 'createdAt' => '2023-11-06T04:00:42.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'AssociateNetworkAcl'], ['description' => 'Request parameters changed', 'api' => 'CopyNetworkAclEntries'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateNetworkAcl'], ['description' => 'Request parameters changed', 'api' => 'DeleteNetworkAcl'], ['description' => 'Response parameters changed, Response parameters changed', 'api' => 'DescribeNetworkAclAttributes'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeNetworkAcls'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'ModifyNetworkAclAttributes'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'UnassociateNetworkAcl'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'UpdateNetworkAclEntries'], ], 'createdAt' => '2023-10-30T08:03:43.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyVpnConnectionAttribute'], ], 'createdAt' => '2023-10-23T08:44:30.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteTable'], ], 'createdAt' => '2023-10-23T07:38:30.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ['description' => 'Error codes changed', 'api' => 'AllocateEipAddressPro'], ], 'createdAt' => '2023-10-19T11:50:07.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateSslVpnServer'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeSslVpnClientCerts'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeVpnConnections'], ['description' => 'Error codes changed', 'api' => 'DescribeVpnPbrRouteEntries'], ['description' => 'Error codes changed', 'api' => 'DescribeVpnRouteEntries'], ['description' => 'Error codes changed, Request parameters changed, Response parameters changed', 'api' => 'ListIpsecServers'], ['description' => 'Response parameters changed, Response parameters changed', 'api' => 'ModifyVpnAttachmentAttribute'], ['description' => 'Error codes changed, Request parameters changed, Response parameters changed', 'api' => 'ModifyVpnConnectionAttribute'], ], 'createdAt' => '2023-10-19T08:26:43.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'ListEnhanhcedNatGatewayAvailableZones'], ], 'createdAt' => '2023-10-17T03:47:55.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteIpv6EgressOnlyRule'], ], 'createdAt' => '2023-10-13T03:44:53.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreatePhysicalConnection'], ], 'createdAt' => '2023-10-12T03:31:03.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateIpv6EgressOnlyRule'], ['description' => 'Error codes changed', 'api' => 'DeleteIpv6Gateway'], ['description' => 'Error codes changed', 'api' => 'DeleteVSwitch'], ], 'createdAt' => '2023-10-10T04:48:43.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateDhcpOptionsSet'], ], 'createdAt' => '2023-09-27T07:40:53.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateTrafficMirrorSession'], ], 'createdAt' => '2023-09-26T07:21:11.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateHaVip'], ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ['description' => 'Error codes changed', 'api' => 'DeleteVpc'], ['description' => 'Error codes changed', 'api' => 'DescribeRouteTables'], ], 'createdAt' => '2023-09-25T07:38:48.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteTrafficMirrorFilterRules'], ], 'createdAt' => '2023-09-22T05:43:34.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateDhcpOptionsSet'], ], 'createdAt' => '2023-09-21T11:15:51.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteVSwitch'], ['description' => 'Error codes changed', 'api' => 'RetryVpcPrefixListAssociation'], ['description' => 'Error codes changed', 'api' => 'RevokeInstanceFromCen'], ], 'createdAt' => '2023-09-21T07:57:16.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'GrantInstanceToVbr'], ], 'createdAt' => '2023-09-21T07:27:57.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateTrafficMirrorSession'], ], 'createdAt' => '2023-09-21T07:06:13.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateCustomerGateway'], ['description' => 'Error codes changed', 'api' => 'CreateIpsecServer'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateVpnAttachment'], ['description' => 'Request parameters changed', 'api' => 'CreateVpnGateway'], ['description' => 'Response parameters changed, Response parameters changed', 'api' => 'DescribeCustomerGateway'], ['description' => 'Request parameters changed, Response parameters changed, Response parameters changed', 'api' => 'DescribeCustomerGateways'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeSslVpnClientCert'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeSslVpnServers'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpnConnection'], ], 'createdAt' => '2023-09-21T06:05:22.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Response parameters changed', 'api' => 'CreateSnatEntry'], ], 'createdAt' => '2023-09-18T03:27:40.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyRouteEntry'], ], 'createdAt' => '2023-09-15T03:55:19.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'ModifyRouteEntry'], ], 'createdAt' => '2023-09-15T01:18:03.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateTrafficMirrorSession'], ], 'createdAt' => '2023-09-14T05:43:07.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouterInterface'], ], 'createdAt' => '2023-09-11T08:51:05.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CompletePhysicalConnectionLOA'], ], 'createdAt' => '2023-09-08T05:34:18.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CompletePhysicalConnectionLOA'], ['description' => 'Response parameters changed', 'api' => 'DescribePhysicalConnectionLOA'], ], 'createdAt' => '2023-09-07T11:50:00.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteRouteEntry'], ], 'createdAt' => '2023-09-06T11:27:48.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateHaVip'], ['description' => 'Response parameters changed', 'api' => 'GetVpcGatewayEndpointAttribute'], ['description' => 'Response parameters changed', 'api' => 'ListVpcGatewayEndpoints'], ], 'createdAt' => '2023-09-06T08:28:44.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DescribeRouteTables'], ], 'createdAt' => '2023-09-06T05:54:57.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ], 'createdAt' => '2023-09-01T09:17:06.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateTrafficMirrorFilter'], ], 'createdAt' => '2023-08-30T06:16:56.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateIpv6InternetBandwidth'], ['description' => 'Response parameters changed', 'api' => 'AssociateRouteTableWithGateway'], ['description' => 'Error codes changed', 'api' => 'CreateTrafficMirrorSession'], ], 'createdAt' => '2023-08-30T03:21:59.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ], 'createdAt' => '2023-08-29T10:13:13.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipSegmentAddress'], ], 'createdAt' => '2023-08-29T08:55:58.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'ListVpcEndpointServicesByEndUser'], ], 'createdAt' => '2023-08-25T06:36:21.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateVpcCidrBlock'], ['description' => 'Error codes changed', 'api' => 'ModifyVSwitchAttribute'], ['description' => 'Error codes changed', 'api' => 'UnassociateVpcCidrBlock'], ], 'createdAt' => '2023-08-24T07:17:56.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateEipAddress'], ], 'createdAt' => '2023-08-24T02:13:51.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVpnConnection'], ['description' => 'Error codes changed', 'api' => 'ModifyTunnelAttribute'], ], 'createdAt' => '2023-08-21T12:19:53.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateRouteTable'], ], 'createdAt' => '2023-08-18T04:04:36.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteRouteEntry'], ['description' => 'Error codes changed', 'api' => 'EnableVpcClassicLink'], ], 'createdAt' => '2023-08-15T09:20:39.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ModifyIpv6AddressAttribute'], ['description' => 'Request parameters changed', 'api' => 'ModifyIpv6GatewayAttribute'], ], 'createdAt' => '2023-08-15T05:56:34.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'DescribeRouteTableList'], ['description' => 'Error codes changed', 'api' => 'ModifyIpv6InternetBandwidth'], ], 'createdAt' => '2023-08-14T08:48:41.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DissociateRouteTableFromGateway'], ], 'createdAt' => '2023-08-14T02:50:27.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'DescribeEipAddresses'], ], 'createdAt' => '2023-08-09T06:30:45.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed, Response parameters changed', 'api' => 'DescribeForwardTableEntries'], ['description' => 'Response parameters changed, Response parameters changed', 'api' => 'DescribeSnatTableEntries'], ], 'createdAt' => '2023-08-09T03:10:44.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'CreateVpnAttachment'], ], 'createdAt' => '2023-08-09T02:17:17.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteIpv6Gateway'], ['description' => 'Request parameters changed', 'api' => 'DescribeEipAddresses'], ], 'createdAt' => '2023-08-09T01:56:31.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribePhysicalConnections'], ['description' => 'Response parameters changed', 'api' => 'ListVirtualPhysicalConnections'], ], 'createdAt' => '2023-08-08T13:14:57.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'EnablePhysicalConnection'], ], 'createdAt' => '2023-08-08T12:56:51.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DeleteRouteEntries'], ['description' => 'Response parameters changed', 'api' => 'ListIpv4Gateways'], ], 'createdAt' => '2023-08-07T02:20:09.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateRouteTable'], ['description' => 'Error codes changed', 'api' => 'DeleteRouteEntry'], ], 'createdAt' => '2023-08-03T07:35:06.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AddSourcesToTrafficMirrorSession'], ['description' => 'Error codes changed', 'api' => 'AllocateIpv6InternetBandwidth'], ['description' => 'Request parameters changed', 'api' => 'DescribeRouteTableList'], ['description' => 'Error codes changed', 'api' => 'ModifyIpv6InternetBandwidth'], ['description' => 'Error codes changed', 'api' => 'UpdateTrafficMirrorSessionAttribute'], ], 'createdAt' => '2023-08-03T05:30:54.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DescribeRouteTables'], ['description' => 'Response parameters changed', 'api' => 'MoveResourceGroup'], ], 'createdAt' => '2023-08-02T07:53:09.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVpnConnection'], ['description' => 'Error codes changed', 'api' => 'CreateVpnPbrRouteEntry'], ['description' => 'Error codes changed', 'api' => 'ModifyVpnPbrRouteEntryAttribute'], ['description' => 'Error codes changed', 'api' => 'ModifyVpnPbrRouteEntryWeight'], ['description' => 'Error codes changed', 'api' => 'ModifyVpnRouteEntryWeight'], ], 'createdAt' => '2023-08-01T09:13:53.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ListTagResources'], ['description' => 'Request parameters changed', 'api' => 'TagResources'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'UnTagResources'], ], 'createdAt' => '2023-07-28T01:53:49.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeVpnConnection'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpnConnections'], ['description' => 'Response parameters changed', 'api' => 'DownloadVpnConnectionConfig'], ['description' => 'Response parameters changed', 'api' => 'ModifyVpnConnectionAttribute'], ], 'createdAt' => '2023-07-27T09:12:41.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ['description' => 'Error codes changed', 'api' => 'AllocateEipSegmentAddress'], ], 'createdAt' => '2023-07-26T07:13:07.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'DescribeVpcs'], ['description' => 'Request parameters changed', 'api' => 'DescribeVSwitches'], ], 'createdAt' => '2023-07-26T05:48:12.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'DescribeVpcs'], ['description' => 'Request parameters changed', 'api' => 'DescribeVSwitches'], ], 'createdAt' => '2023-07-26T03:25:59.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ], 'createdAt' => '2023-07-25T10:02:38.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ChangeResourceGroup'], ], 'createdAt' => '2023-07-25T08:44:46.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVirtualBorderRouter'], ['description' => 'Error codes changed', 'api' => 'DeleteRouterInterface'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeRouterInterfaceAttribute'], ], 'createdAt' => '2023-07-24T11:57:44.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ['description' => 'Error codes changed', 'api' => 'DeleteCommonBandwidthPackage'], ['description' => 'Error codes changed', 'api' => 'ModifyEipAddressAttribute'], ], 'createdAt' => '2023-07-24T02:52:19.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'PublishVpnRouteEntry'], ], 'createdAt' => '2023-07-21T09:24:11.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ActivateRouterInterface'], ['description' => 'Error codes changed', 'api' => 'ConnectRouterInterface'], ['description' => 'Error codes changed', 'api' => 'DeactivateRouterInterface'], ], 'createdAt' => '2023-07-21T03:45:40.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteRouteEntry'], ['description' => 'Error codes changed', 'api' => 'UpdateGatewayRouteTableEntryAttribute'], ], 'createdAt' => '2023-07-20T13:04:48.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateVpcIpv6Cidr'], ['description' => 'Error codes changed', 'api' => 'CreateTrafficMirrorFilterRules'], ], 'createdAt' => '2023-07-20T03:51:33.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AddSourcesToTrafficMirrorSession'], ['description' => 'Error codes changed', 'api' => 'CreateIpv4Gateway'], ['description' => 'Error codes changed', 'api' => 'MoveResourceGroup'], ], 'createdAt' => '2023-07-18T07:25:07.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ReplaceVpcDhcpOptionsSet'], ], 'createdAt' => '2023-07-12T15:28:44.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AddCommonBandwidthPackageIp'], ['description' => 'Error codes changed', 'api' => 'AddCommonBandwidthPackageIps'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreatePublicIpAddressPool'], ['description' => 'Response parameters changed', 'api' => 'DescribeCommonBandwidthPackages'], ['description' => 'Response parameters changed, Response parameters changed', 'api' => 'DescribeEipAddresses'], ['description' => 'Response parameters changed', 'api' => 'ListPublicIpAddressPools'], ], 'createdAt' => '2023-07-12T09:08:09.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Response parameters changed', 'api' => 'ListTagResources'], ['description' => 'Request parameters changed', 'api' => 'TagResources'], ['description' => 'Request parameters changed', 'api' => 'UnTagResources'], ], 'createdAt' => '2023-07-10T06:54:57.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateHaVip'], ['description' => 'Error codes changed', 'api' => 'UnassociateVpcCidrBlock'], ], 'createdAt' => '2023-07-10T01:47:33.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ], 'createdAt' => '2023-07-08T09:47:36.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ChangeResourceGroup'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateRouterInterface'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateVirtualBorderRouter'], ['description' => 'Response parameters changed', 'api' => 'DescribeRouterInterfaceAttribute'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeRouterInterfaces'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeVirtualBorderRouters'], ], 'createdAt' => '2023-07-06T13:24:04.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreatePublicIpAddressPool'], ['description' => 'Request parameters changed', 'api' => 'CreateTrafficMirrorSession'], ], 'createdAt' => '2023-07-06T07:56:45.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ['description' => 'Error codes changed', 'api' => 'AllocateEipAddressPro'], ], 'createdAt' => '2023-07-06T01:54:59.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ActiveFlowLog'], ['description' => 'Response parameters changed', 'api' => 'DescribeFlowLogs'], ], 'createdAt' => '2023-07-06T01:32:37.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'AddSourcesToTrafficMirrorSession'], ['description' => 'Error codes changed', 'api' => 'CreateIpv6EgressOnlyRule'], ['description' => 'Response parameters changed, Response parameters changed', 'api' => 'DescribeVSwitchAttributes'], ['description' => 'Response parameters changed, Response parameters changed', 'api' => 'DescribeVSwitches'], ['description' => 'Error codes changed', 'api' => 'ModifyVpcAttribute'], ['description' => 'Error codes changed', 'api' => 'UpdateDhcpOptionsSetAttribute'], ['description' => 'Error codes changed', 'api' => 'UpdateTrafficMirrorSessionAttribute'], ], 'createdAt' => '2023-07-05T07:33:15.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateNatIp'], ], 'createdAt' => '2023-07-03T12:01:15.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'DescribeRouteEntryList'], ], 'createdAt' => '2023-07-03T09:17:18.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'CreateNatGateway'], ], 'createdAt' => '2023-06-30T08:10:45.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateVpnConnection'], ['description' => 'Request parameters changed', 'api' => 'CreateVpnGateway'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpnConnection'], ['description' => 'Request parameters changed', 'api' => 'DescribeVpnConnectionLogs'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpnConnections'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpnGateway'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpnGateways'], ], 'createdAt' => '2023-06-30T07:01:15.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateRouteTableWithGateway'], ['description' => 'Error codes changed', 'api' => 'ModifyVSwitchAttribute'], ], 'createdAt' => '2023-06-30T05:52:43.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AddCommonBandwidthPackageIps'], ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ['description' => 'Error codes changed', 'api' => 'AssociateEipAddress'], ['description' => 'Error codes changed', 'api' => 'AssociateEipAddressBatch'], ['description' => 'Error codes changed', 'api' => 'CreateCommonBandwidthPackage'], ['description' => 'Error codes changed', 'api' => 'ReleaseEipSegmentAddress'], ['description' => 'Error codes changed', 'api' => 'RemoveCommonBandwidthPackageIp'], ['description' => 'Error codes changed', 'api' => 'UnassociateEipAddress'], ], 'createdAt' => '2023-06-26T06:20:03.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ['description' => 'Error codes changed', 'api' => 'DeleteVSwitch'], ], 'createdAt' => '2023-06-25T12:18:26.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AddSourcesToTrafficMirrorSession'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateTrafficMirrorSession'], ['description' => 'Response parameters changed', 'api' => 'ListTrafficMirrorFilters'], ], 'createdAt' => '2023-06-25T06:28:02.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateRouteTable'], ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ], 'createdAt' => '2023-06-21T07:30:12.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateDhcpOptionsSet'], ['description' => 'Request parameters changed', 'api' => 'CreateFlowLog'], ['description' => 'Error codes changed, Request parameters changed, Response parameters changed', 'api' => 'CreateHaVip'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateIpv4Gateway'], ['description' => 'Error codes changed, Request parameters changed, Response parameters changed', 'api' => 'CreateIpv6Gateway'], ['description' => 'Request parameters changed', 'api' => 'CreateNetworkAcl'], ['description' => 'Request parameters changed', 'api' => 'CreateRouteTable'], ['description' => 'Error codes changed, Request parameters changed, Response parameters changed', 'api' => 'CreateTrafficMirrorFilter'], ['description' => 'Request parameters changed', 'api' => 'CreateVpc'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateVpcGatewayEndpoint'], ], 'createdAt' => '2023-06-21T02:40:02.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'GetVpcGatewayEndpointAttribute'], ], 'createdAt' => '2023-06-20T09:39:39.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ['description' => 'Error codes changed', 'api' => 'CreateRouteTable'], ['description' => 'Error codes changed', 'api' => 'DeleteVpc'], ], 'createdAt' => '2023-06-16T01:50:43.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateForwardEntry'], ], 'createdAt' => '2023-06-14T03:06:33.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed, Error codes changed', 'api' => 'GetTrafficMirrorServiceStatus'], ['description' => 'Error codes changed, Request parameters changed, Response parameters changed', 'api' => 'OpenTrafficMirrorService'], ], 'createdAt' => '2023-06-14T02:07:51.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVpc'], ['description' => 'Error codes changed', 'api' => 'DescribeHighDefinitionMonitorLogAttribute'], ['description' => 'Error codes changed', 'api' => 'DescribeVpcs'], ['description' => 'Error codes changed', 'api' => 'ListVpcGatewayEndpoints'], ], 'createdAt' => '2023-06-13T02:40:51.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'DescribeCommonBandwidthPackages'], ], 'createdAt' => '2023-06-12T09:52:03.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CheckVpnBgpEnabled'], ], 'createdAt' => '2023-06-12T09:40:08.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateRouteTable'], ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ['description' => 'Error codes changed', 'api' => 'DeleteVSwitch'], ['description' => 'Error codes changed', 'api' => 'SetHighDefinitionMonitorLogStatus'], ], 'createdAt' => '2023-06-09T08:58:27.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateNatIp'], ], 'createdAt' => '2023-06-09T06:44:23.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ], 'createdAt' => '2023-06-07T03:56:25.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ], 'createdAt' => '2023-06-06T11:09:18.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateVpnConnection'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpnConnection'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpnConnections'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpnPbrRouteEntries'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpnRouteEntries'], ['description' => 'Response parameters changed', 'api' => 'DownloadVpnConnectionConfig'], ], 'createdAt' => '2023-06-02T09:45:46.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateSslVpnServer'], ['description' => 'Error codes changed', 'api' => 'ModifySslVpnServer'], ], 'createdAt' => '2023-05-30T06:30:58.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'AllocateEipAddress'], ], 'createdAt' => '2023-05-30T03:08:14.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVpcGatewayEndpoint'], ['description' => 'Error codes changed', 'api' => 'UpdateVpcGatewayEndpointAttribute'], ], 'createdAt' => '2023-05-29T06:12:30.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeIpv6Addresses'], ], 'createdAt' => '2023-05-29T02:33:47.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'AllocateEipSegmentAddress'], ], 'createdAt' => '2023-05-22T06:15:05.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'DeletionProtection'], ], 'createdAt' => '2023-05-22T06:03:34.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'CreateRouteTable'], ['description' => 'Response parameters changed', 'api' => 'DescribeVSwitchAttributes'], ['description' => 'Response parameters changed', 'api' => 'DescribeVSwitches'], ], 'createdAt' => '2023-05-19T08:14:42.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateDhcpOptionsSet'], ['description' => 'Error codes changed', 'api' => 'CreateFlowLog'], ], 'createdAt' => '2023-05-18T08:53:53.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'DescribeAccessPoints'], ], 'createdAt' => '2023-05-18T06:25:04.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateRouterInterface'], ], 'createdAt' => '2023-05-18T06:22:03.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeCommonBandwidthPackages'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpcAttribute'], ['description' => 'Error codes changed', 'api' => 'MoveResourceGroup'], ], 'createdAt' => '2023-05-17T08:17:16.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'UnTagResources'], ], 'createdAt' => '2023-05-16T09:35:22.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddressPro'], ['description' => 'Error codes changed', 'api' => 'AssociateEipAddressBatch'], ['description' => 'Error codes changed', 'api' => 'DescribeEipGatewayInfo'], ['description' => 'Error codes changed', 'api' => 'DescribePublicIpAddress'], ['description' => 'Response parameters changed', 'api' => 'ListPublicIpAddressPoolCidrBlocks'], ['description' => 'Response parameters changed', 'api' => 'ListPublicIpAddressPools'], ['description' => 'Error codes changed', 'api' => 'ReleaseEipSegmentAddress'], ], 'createdAt' => '2023-05-15T06:28:41.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeNetworkAcls'], ], 'createdAt' => '2023-05-09T07:02:17.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteRouteEntry'], ['description' => 'Error codes changed', 'api' => 'ModifyRouteEntry'], ], 'createdAt' => '2023-05-08T08:37:23.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ], 'createdAt' => '2023-05-05T08:45:54.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'UpdateGatewayRouteTableEntryAttribute'], ], 'createdAt' => '2023-05-05T08:44:51.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ], 'createdAt' => '2023-05-04T02:15:46.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyVRouterAttribute'], ], 'createdAt' => '2023-04-26T03:45:46.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVpc'], ], 'createdAt' => '2023-04-26T02:51:10.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribePhysicalConnections'], ], 'createdAt' => '2023-04-25T07:47:22.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateVpnConnection'], ['description' => 'Response parameters changed', 'api' => 'CreateVpnGateway'], ['description' => 'Response parameters changed, Response parameters changed', 'api' => 'DescribeVpnConnection'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpnConnections'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpnGateways'], ], 'createdAt' => '2023-04-21T09:55:53.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'AllocateEipAddress'], ], 'createdAt' => '2023-04-20T09:08:07.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateVpcCidrBlock'], ['description' => 'Error codes changed', 'api' => 'CreateTrafficMirrorSession'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'UpdateTrafficMirrorSessionAttribute'], ], 'createdAt' => '2023-04-14T10:04:22.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'AssociateVpcCidrBlock'], ['description' => 'Request parameters changed', 'api' => 'CreateVpc'], ], 'createdAt' => '2023-04-13T11:16:11.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteIpv4Gateway'], ], 'createdAt' => '2023-04-13T10:09:29.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed, Response parameters changed', 'api' => 'DescribeEipSegment'], ], 'createdAt' => '2023-04-10T05:59:33.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ActivateRouterInterface'], ['description' => 'Error codes changed', 'api' => 'AssociatePhysicalConnectionToVirtualBorderRouter'], ], 'createdAt' => '2023-04-10T03:22:14.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'TagResources'], ], 'createdAt' => '2023-04-06T09:32:28.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ], 'createdAt' => '2023-04-04T03:02:12.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateRouteEntries'], ], 'createdAt' => '2023-03-30T06:20:18.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Response parameters changed', 'api' => 'CreateForwardEntry'], ], 'createdAt' => '2023-03-30T03:54:26.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Response parameters changed', 'api' => 'AssociateEipAddress'], ['description' => 'Error codes changed', 'api' => 'AssociateEipAddressBatch'], ], 'createdAt' => '2023-03-23T06:18:02.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateDhcpOptionsSet'], ['description' => 'Request parameters changed, Response parameters changed, Response parameters changed', 'api' => 'CreateVpcGatewayEndpoint'], ['description' => 'Response parameters changed', 'api' => 'GetDhcpOptionsSet'], ['description' => 'Response parameters changed', 'api' => 'GetVpcGatewayEndpointAttribute'], ['description' => 'Request parameters changed, Response parameters changed, Response parameters changed', 'api' => 'ListDhcpOptionsSets'], ['description' => 'Request parameters changed, Response parameters changed, Response parameters changed', 'api' => 'ListVpcGatewayEndpoints'], ['description' => 'Error codes changed', 'api' => 'ModifyIpv6InternetBandwidth'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'TagResources'], ['description' => 'Error codes changed', 'api' => 'UnTagResources'], ], 'createdAt' => '2023-03-21T02:10:07.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Response parameters changed', 'api' => 'CreateFullNatEntry'], ], 'createdAt' => '2023-03-20T13:09:18.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'AllocateEipSegmentAddress'], ['description' => 'Error codes changed', 'api' => 'DeleteVSwitch'], ], 'createdAt' => '2023-03-17T03:07:24.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'AddSourcesToTrafficMirrorSession'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateTrafficMirrorSession'], ['description' => 'Request parameters changed', 'api' => 'RemoveSourcesFromTrafficMirrorSession'], ], 'createdAt' => '2023-03-16T08:04:19.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Response parameters changed', 'api' => 'OpenFlowLogService'], ], 'createdAt' => '2023-03-16T06:10:31.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreatePhysicalConnection'], ['description' => 'Request parameters changed', 'api' => 'CreateVirtualPhysicalConnection'], ], 'createdAt' => '2023-03-14T12:04:58.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ], 'createdAt' => '2023-03-09T07:48:15.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed, Response parameters changed', 'api' => 'CreateRouteEntry'], ], 'createdAt' => '2023-03-07T12:05:27.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DeleteVpc'], ], 'createdAt' => '2023-03-07T09:45:28.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeFlowLogs'], ], 'createdAt' => '2023-03-06T12:01:47.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'CreateForwardEntry'], ['description' => 'Response parameters changed', 'api' => 'CreateNatGateway'], ['description' => 'Response parameters changed', 'api' => 'CreateNatIpCidr'], ['description' => 'Response parameters changed', 'api' => 'CreateSnatEntry'], ['description' => 'Response parameters changed', 'api' => 'DeleteForwardEntry'], ['description' => 'Response parameters changed', 'api' => 'DeleteNatIp'], ['description' => 'Response parameters changed', 'api' => 'DeleteNatIpCidr'], ['description' => 'Response parameters changed', 'api' => 'DeleteSnatEntry'], ], 'createdAt' => '2023-03-01T06:45:14.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeNatGateways'], ], 'createdAt' => '2023-02-28T22:01:19.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateHaVip'], ['description' => 'Error codes changed', 'api' => 'CreateHaVip'], ['description' => 'Error codes changed', 'api' => 'DeleteHaVip'], ['description' => 'Error codes changed', 'api' => 'DescribeHaVips'], ['description' => 'Error codes changed', 'api' => 'ModifyHaVipAttribute'], ['description' => 'Error codes changed', 'api' => 'UnassociateHaVip'], ], 'createdAt' => '2023-01-11T06:07:00.000Z', 'description' => '用户无操作HaVip权限错误码配置', ], [ 'apis' => [ ['description' => 'Error codes changed, Response parameters changed', 'api' => 'AssociateHaVip'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'CreateHaVip'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DeleteHaVip'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeHaVips'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'ModifyHaVipAttribute'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'UnassociateHaVip'], ], 'createdAt' => '2023-01-10T15:26:05.000Z', 'description' => '用户无权限操作HaVip错误码上线', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateNatGateway'], ], 'createdAt' => '2023-01-10T08:43:54.000Z', 'description' => 'CreateNatGateway支持携带TAG', ], [ 'apis' => [ ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeVcoRouteEntries'], ], 'createdAt' => '2023-01-10T08:00:46.000Z', 'description' => '新增VpnConnection状态检查错误码提示', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVpnAttachment'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeVpnGateways'], ], 'createdAt' => '2023-01-09T10:05:50.000Z', 'description' => '新增错误码', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'GetVpcPrefixListAssociations'], ], 'createdAt' => '2023-01-09T07:15:54.000Z', 'description' => 'GetPrefixListAssociation出参返回前缀列表绑定资源所属UID', ], [ 'apis' => [ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreatePublicIpAddressPool'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListPublicIpAddressPools'], ], 'createdAt' => '2023-01-06T09:40:42.000Z', 'description' => 'PublicIpAddressPool支持资源组和资源标签', ], [ 'apis' => [ ['description' => 'Request parameters changed, Response parameters changed, Response parameters changed', 'api' => 'CreateVpcPrefixList'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListPrefixLists'], ], 'createdAt' => '2023-01-06T09:31:45.000Z', 'description' => 'PrefixList支持资源组和资源标签', ], [ 'apis' => [ ['description' => 'Error codes changed, Response parameters changed', 'api' => 'CreateVpnRouteEntry'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DeleteVpnConnection'], ], 'createdAt' => '2023-01-06T06:22:02.000Z', 'description' => '1、为接口DeleteVpnConnection新增错误码VpnGateway.FinancialLocked;2、为接口CreateVpnRouteEntry新增错误码IncorrectVpcStatus;', ], [ 'apis' => [ ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DeleteVSwitch'], ], 'createdAt' => '2023-01-05T08:03:26.000Z', 'description' => '- 新增错误码 DependencyViolation.VSwitchCidrReservation.', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'CreateFullNatEntry'], ['description' => 'Response parameters changed', 'api' => 'DeleteFullNatEntry'], ['description' => 'Response parameters changed', 'api' => 'ListFullNatEntries'], ['description' => 'Response parameters changed', 'api' => 'ModifyFullNatEntryAttribute'], ], 'createdAt' => '2023-01-04T09:37:31.000Z', 'description' => '修改fullnat相关API的超时时间和限流', ], [ 'apis' => [ ['description' => 'Request parameters changed, Error codes changed', 'api' => 'DescribeGrantRulesToCen'], ], 'createdAt' => '2023-01-03T06:55:38.000Z', 'description' => '- Terraform接入补充Attachment资源类型', ], [ 'apis' => [ ['description' => 'Error codes changed, Response parameters changed', 'api' => 'CreateCustomerGateway'], ['description' => 'Error codes changed', 'api' => 'CreateVpnAttachment'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'CreateVpnConnection'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'CreateVpnGateway'], ['description' => 'Response parameters changed', 'api' => 'DescribeCustomerGateway'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeCustomerGateways'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeVpnAttachments'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpnConnection'], ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeVpnConnections'], ], 'createdAt' => '2022-12-27T12:19:16.000Z', 'description' => 'VPN support tag.', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateCustomerGateway'], ['description' => 'Error codes changed', 'api' => 'DeleteVpnGateway'], ['description' => 'Error codes changed', 'api' => 'DescribeCustomerGateway'], ['description' => 'Error codes changed', 'api' => 'DescribeVpnGateways'], ['description' => 'Error codes changed', 'api' => 'ModifyVpnGatewayAttribute'], ], 'createdAt' => '2022-12-27T03:27:57.000Z', 'description' => '修复部分错误码的拼写错误', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateVirtualPhysicalConnection'], ], 'createdAt' => '2022-12-22T07:46:01.000Z', 'description' => '取消设置Vpconn用户侧资源组的参数', ], [ 'apis' => [ ['description' => 'Request parameters changed, Error codes changed', 'api' => 'DescribeRegions'], ], 'createdAt' => '2022-12-22T03:01:24.000Z', 'description' => '变更资源标签的tagCode', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVcoRouteEntry'], ['description' => 'Error codes changed', 'api' => 'CreateVpnPbrRouteEntry'], ], 'createdAt' => '2022-12-16T10:11:22.000Z', 'description' => '新增错误码', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DescribeNatGateways'], ['description' => 'Error codes changed', 'api' => 'ListFullNatEntries'], ], 'createdAt' => '2022-12-16T06:14:04.000Z', 'description' => '添加错误码,修改后端接口超时时间', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ActiveFlowLog'], ['description' => 'Error codes changed', 'api' => 'DeactiveFlowLog'], ['description' => 'Error codes changed', 'api' => 'DeleteFlowLog'], ['description' => 'Error codes changed', 'api' => 'ModifyFlowLogAttribute'], ], 'createdAt' => '2022-12-16T05:09:13.000Z', 'description' => '流日志支持托管', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVirtualPhysicalConnection'], ], 'createdAt' => '2022-12-15T01:36:42.000Z', 'description' => '修复错误码特殊字符', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteFullNatEntry'], ], 'createdAt' => '2022-12-13T10:55:41.000Z', 'description' => '新增DeleteFullNatEntry接口错误码。', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVpnRouteEntry'], ['description' => 'Error codes changed', 'api' => 'DeleteVcoRouteEntry'], ['description' => 'Error codes changed', 'api' => 'DeleteVpnPbrRouteEntry'], ['description' => 'Error codes changed', 'api' => 'DeleteVpnRouteEntry'], ['description' => 'Error codes changed', 'api' => 'ModifyVcoRouteEntryWeight'], ], 'createdAt' => '2022-12-13T03:51:41.000Z', 'description' => '增加错误码', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ModifyVpnAttachmentAttribute'], ], 'createdAt' => '2022-12-08T12:26:32.000Z', 'description' => '修改ModifyVpnAttachmentAttribute接口中的CustomerGatewayId参数可见性为public', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateIpsecServer'], ['description' => 'Error codes changed', 'api' => 'CreateVpnAttachment'], ['description' => 'Error codes changed', 'api' => 'CreateVpnConnection'], ['description' => 'Error codes changed', 'api' => 'DeleteVpnConnection'], ['description' => 'Error codes changed', 'api' => 'ModifyVpnAttachmentAttribute'], ['description' => 'Error codes changed', 'api' => 'ModifyVpnConnectionAttribute'], ['description' => 'Error codes changed', 'api' => 'ModifyVpnPbrRouteEntryAttribute'], ], 'createdAt' => '2022-12-08T09:37:41.000Z', 'description' => '1、在部分API中新增错误码;2、修改部分错误码的错误消息,删除错误消息中的特殊字符;', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'GrantInstanceToCen'], ], 'createdAt' => '2022-12-08T09:19:28.000Z', 'description' => '支持vbr跨账号加载cen限制。', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVirtualBorderRouter'], ], 'createdAt' => '2022-12-07T08:23:02.000Z', 'description' => '错误码特殊字符修复。', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteTrafficMirrorFilterRules'], ['description' => 'Error codes changed', 'api' => 'DeleteTrafficMirrorSession'], ], 'createdAt' => '2022-12-07T06:35:18.000Z', 'description' => '添加错误码 IncorrectStatus.TrafficMirrorFilter', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DescribeVcoRouteEntries'], ], 'createdAt' => '2022-12-07T04:05:11.000Z', 'description' => '1、在DescribeVcoRouteEntries接口新增错误码InvalidVpnConnectionInstanceId.NotFound;2、删除DescribeVcoRouteEntries接口中的IllegalParam.RouteEntryType错误码的错误消息的引号;', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateBgpGroup'], ], 'createdAt' => '2022-12-06T07:37:33.000Z', 'description' => '无变更', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateEipAddress'], ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ], 'createdAt' => '2022-12-05T09:32:57.000Z', 'description' => '增加错误码信息', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVirtualBorderRouter'], ['description' => 'Error codes changed', 'api' => 'CreateVirtualPhysicalConnection'], ['description' => 'Error codes changed', 'api' => 'UpdateVirtualPhysicalConnection'], ], 'createdAt' => '2022-12-05T08:00:02.000Z', 'description' => '修复UpdateVirtualPhysicalConnection、CreateVirtualBorderRouter、CreateVirtualPhysicalConnection等API的Error Code', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateRouterInterface'], ['description' => 'Error codes changed', 'api' => 'ModifyRouterInterfaceSpec'], ], 'createdAt' => '2022-12-05T07:57:36.000Z', 'description' => 'createRouterInterface 公开fastlinkmode参数ModifyRouterInterfaceSpec 修改错误码信息', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ], 'createdAt' => '2022-12-05T07:00:12.000Z', 'description' => '错误码映射更新', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateEipAddress'], ], 'createdAt' => '2022-12-05T06:59:01.000Z', 'description' => '错误映射信息更新', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeEipAddresses'], ], 'createdAt' => '2022-12-02T10:02:15.000Z', 'description' => 'EIP对象中AvailableRegions属性已经不再使用,隐藏该字段。', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeEipMonitorData'], ], 'createdAt' => '2022-12-02T09:41:29.000Z', 'description' => 'eipFlow 返回字段已经正常.', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ['description' => 'Error codes changed', 'api' => 'AllocateEipAddressPro'], ], 'createdAt' => '2022-12-02T08:09:03.000Z', 'description' => '添加错误码映射', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateForwardEntry'], ['description' => 'Error codes changed', 'api' => 'ModifyForwardEntry'], ], 'createdAt' => '2022-12-02T02:41:21.000Z', 'description' => '新增错误码,dnatsession', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVpnGateway'], ['description' => 'Response parameters changed', 'api' => 'DescribeVpnGateway'], ['description' => 'Error codes changed', 'api' => 'ModifyVpnAttachmentAttribute'], ], 'createdAt' => '2022-12-02T02:39:13.000Z', 'description' => 'VPN SSL日志查询接口和Ipsec隧道日志查询接口增加RAM鉴权', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreatePhysicalConnection'], ['description' => 'Request parameters changed', 'api' => 'CreateVirtualPhysicalConnection'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribePhysicalConnections'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListVirtualPhysicalConnections'], ], 'createdAt' => '2022-12-02T02:31:41.000Z', 'description' => '高速通道资源转组接口', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AddCommonBandwidthPackageIp'], ['description' => 'Error codes changed', 'api' => 'AddCommonBandwidthPackageIps'], ['description' => 'Error codes changed', 'api' => 'AssociateEipAddress'], ['description' => 'Error codes changed', 'api' => 'CancelCommonBandwidthPackageIpBandwidth'], ['description' => 'Error codes changed', 'api' => 'ModifyCommonBandwidthPackageIpBandwidth'], ['description' => 'Error codes changed', 'api' => 'ModifyEipAddressAttribute'], ['description' => 'Error codes changed', 'api' => 'RemoveCommonBandwidthPackageIp'], ], 'createdAt' => '2022-11-29T10:24:38.000Z', 'description' => '增加错误码', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ListFullNatEntries'], ], 'createdAt' => '2022-11-29T07:14:00.000Z', 'description' => '修改ListFullNatEntries错误码', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ReleaseEipAddress'], ], 'createdAt' => '2022-11-28T03:45:21.000Z', 'description' => '错误码更新', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteRouterInterface'], ], 'createdAt' => '2022-11-28T02:50:58.000Z', 'description' => 'DeleteRI新增错误码', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateNatGateway'], ], 'createdAt' => '2022-11-25T07:51:22.000Z', 'description' => '创建vpc nat支持修改安全组', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ['description' => 'Error codes changed', 'api' => 'UnassociateEipAddress'], ], 'createdAt' => '2022-11-25T03:42:30.000Z', 'description' => '错误码更新', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AddPublicIpAddressPoolCidrBlock'], ['description' => 'Error codes changed', 'api' => 'DeletePublicIpAddressPool'], ['description' => 'Error codes changed', 'api' => 'DeletePublicIpAddressPoolCidrBlock'], ['description' => 'Response parameters changed', 'api' => 'ListPublicIpAddressPools'], ['description' => 'Error codes changed', 'api' => 'UpdatePublicIpAddressPoolAttribute'], ], 'createdAt' => '2022-11-24T13:02:14.000Z', 'description' => '地址池支持跨账号授权', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateVpcPrefixList'], ], 'createdAt' => '2022-11-21T06:06:02.000Z', 'description' => '修复CreateVpcPrefixList中入参名称不标准问题', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ListDhcpOptionsSets'], ], 'createdAt' => '2022-11-18T07:27:59.000Z', 'description' => '- API文档修改ListDhcpOptionsSet入参NextToken为可选', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipSegmentAddress'], ['description' => 'Error codes changed', 'api' => 'AssociateEipAddress'], ['description' => 'Error codes changed', 'api' => 'ReleaseEipAddress'], ['description' => 'Error codes changed', 'api' => 'UnassociateEipAddress'], ], 'createdAt' => '2022-11-17T11:38:39.000Z', 'description' => '修复错误码英文翻译', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ], 'createdAt' => '2022-11-17T10:06:58.000Z', 'description' => '修复错误码英文翻译错误', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeVirtualBorderRouters'], ], 'createdAt' => '2022-11-16T03:02:42.000Z', 'description' => '1、DescribeVirtualBorderRouters 支持返回bandwidth字段', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'ModifyNatGatewayAttribute'], ], 'createdAt' => '2022-11-16T02:20:06.000Z', 'description' => 'NAT网关支持打开兼容Ipv4网关模式', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateForwardEntry'], ['description' => 'Request parameters changed', 'api' => 'CreateNatIpCidr'], ['description' => 'Error codes changed', 'api' => 'CreateSnatEntry'], ['description' => 'Error codes changed', 'api' => 'DeleteNatIpCidr'], ['description' => 'Error codes changed', 'api' => 'ModifyForwardEntry'], ['description' => 'Error codes changed', 'api' => 'ModifySnatEntry'], ], 'createdAt' => '2022-11-07T11:36:44.000Z', 'description' => '新增错误码,创建natipcidr,natipcidr 参数必填', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'ModifyBgpGroupAttribute'], ], 'createdAt' => '2022-11-07T04:10:24.000Z', 'description' => 'ModifyBgpGroupAttribute 接口支持清空bgp秘钥', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'GetVpcPrefixListAssociations'], ['description' => 'Response parameters changed', 'api' => 'GetVpcPrefixListEntries'], ['description' => 'Response parameters changed', 'api' => 'ListPrefixLists'], ], 'createdAt' => '2022-11-07T02:59:25.000Z', 'description' => '查询PrefixList相关接口,增加regionId出参', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'AssociateEipAddress'], ['description' => 'Response parameters changed', 'api' => 'DescribeEipAddresses'], ['description' => 'Response parameters changed', 'api' => 'ListGatewayRouteTableEntries'], ], 'createdAt' => '2022-11-03T13:38:06.000Z', 'description' => 'Eip support binding IpAddress.', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'UnassociateVpcCidrBlock'], ], 'createdAt' => '2022-11-03T13:35:16.000Z', 'description' => '解绑接口对外透出ipv6Cidr解绑参数', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeEipAddresses'], ], 'createdAt' => '2022-11-02T10:28:16.000Z', 'description' => 'Eip返回增加Zone属性', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'ListPublicIpAddressPools'], ], 'createdAt' => '2022-10-27T13:21:04.000Z', 'description' => 'ListPublicIpAddressPools返回结果PublicIpCidrBlockList字段置为私有,文档后续更新。', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateDhcpOptionsSet'], ['description' => 'Response parameters changed', 'api' => 'GetDhcpOptionsSet'], ['description' => 'Request parameters changed', 'api' => 'UpdateDhcpOptionsSetAttribute'], ], 'createdAt' => '2022-10-27T07:37:15.000Z', 'description' => 'dhcp选项集影藏TFTPServerName,BootFileName属性', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'CreatePhysicalConnectionOccupancyOrder'], ], 'createdAt' => '2022-10-25T15:14:02.000Z', 'description' => '控制台调用的两个openapi:获取当前用户可以看到的region list,获取当前用户可以看到的ap list。CreatePhysicalConnectionOccupancyOrder出参增加orderId', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateFlowLog'], ], 'createdAt' => '2022-10-18T15:25:28.000Z', 'description' => '创建flowlog增加trafficPath入参', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVpc'], ['description' => 'Error codes changed', 'api' => 'ModifyVRouterAttribute'], ], 'createdAt' => '2022-10-17T02:12:39.000Z', 'description' => '修改错误码', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AllocateEipAddress'], ], 'createdAt' => '2022-10-14T07:54:22.000Z', 'description' => 'add 5XX ErrorCode', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'DescribeVirtualBorderRouters'], ], 'createdAt' => '2022-10-14T07:11:56.000Z', 'description' => '支持跨账号查询vbr', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeFlowLogs'], ], 'createdAt' => '2022-10-13T02:22:06.000Z', 'description' => '查询flowlog返回serviceType和trafficPath', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateHaVip'], ], 'createdAt' => '2022-10-13T02:01:05.000Z', 'description' => '补全创建havip超过quotaLimit错误码', ], [ 'apis' => [ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeRouteEntryList'], ['description' => 'OpenAPI offline', 'api' => 'GetVpcRouteEntrySummary'], ], 'createdAt' => '2022-09-29T04:39:30.000Z', 'description' => '路由支持可托管', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateCommonBandwidthPackage'], ], 'createdAt' => '2022-09-27T07:25:56.000Z', 'description' => '修改共享带宽错误码映射', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVpc'], ], 'createdAt' => '2022-09-27T06:29:21.000Z', 'description' => '补全创建vpc时错误码映射', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'ListFullNatEntries'], ], 'createdAt' => '2022-09-23T02:26:58.000Z', 'description' => '兼容接入RMC,需要在fullnatentry暴露fullnattableId', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'DescribeForwardTableEntries'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'DescribeSnatTableEntries'], ], 'createdAt' => '2022-09-19T02:48:37.000Z', 'description' => 'describeSnatTableEntries、describeForwardTableEntries、describeFullnatTableEntries支持使用natGatewayId查询', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DescribeRouteEntryList'], ['description' => 'Error codes changed', 'api' => 'DescribeRouteEntryList'], ], 'createdAt' => '2022-09-15T02:11:54.000Z', 'description' => '使用普通路由条目查询接口查询网关路由表路由条目,错误码映射。', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouterInterface'], ['description' => 'Error codes changed', 'api' => 'CreateRouterInterface'], ['description' => 'Response parameters changed', 'api' => 'DescribeRouterInterfaces'], ['description' => 'Response parameters changed', 'api' => 'DescribeRouterInterfaces'], ], 'createdAt' => '2022-09-14T08:08:18.000Z', 'description' => 'CreateRouterInterface接口支持fastlinkmode模式进行创建(即同时创建两端RI并发起连接)', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeNatGateways'], ], 'createdAt' => '2022-09-01T06:11:20.000Z', 'description' => '新增EipBindMode参数在describeNatGateways', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeEipAddresses'], ], 'createdAt' => '2022-08-31T07:38:51.000Z', 'description' => 'DescribeEipAddresses增加tag返回值', ], [ 'apis' => [ ['description' => 'Error codes changed, Response parameters changed', 'api' => 'OpenFlowLogService'], ], 'createdAt' => '2022-08-29T11:05:29.000Z', 'description' => 'flowlog服务开通增加错误码', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateEipAddress'], ], 'createdAt' => '2022-08-29T01:44:09.000Z', 'description' => 'AssociateEipAddress接口增加错误码映射', ], [ 'apis' => [ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeNatGateways'], ], 'createdAt' => '2022-08-26T07:42:34.000Z', 'description' => 'DescribeNatGateways接口支持指定Tag,返回NAT网关实例信息里也携带TAG', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'GetFlowLogServiceStatus'], ], 'createdAt' => '2022-08-26T02:45:25.000Z', 'description' => 'VpcFlowLog服务开通接口、及服务状态查询接口上线', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribePublicIpAddress'], ], 'createdAt' => '2022-08-19T12:01:12.000Z', 'description' => '修改DescribePublicIpAddress api', ], [ 'apis' => [ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribePublicIpAddress'], ], 'createdAt' => '2022-08-19T08:16:58.000Z', 'description' => 'DescribePublicIpAddress接口公开', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateNatGateway'], ], 'createdAt' => '2022-08-12T13:23:06.000Z', 'description' => 'EipBindMode增加默认值MULTI_BINDED', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateNatGateway'], ], 'createdAt' => '2022-08-09T11:27:46.000Z', 'description' => '支持通过openapi创建EipBindMode为MULTI_BINDED的NAT', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateNatGateway'], ], 'createdAt' => '2022-08-05T02:26:58.000Z', 'description' => '修改了创建增强型nat配额超限错误码', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DescribeVRouters'], ], 'createdAt' => '2022-08-04T11:48:56.000Z', 'description' => '企业级能力升级 vpc操作审计信息补充', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateNatGateway'], ], 'createdAt' => '2022-08-03T09:50:52.000Z', 'description' => '新增创建NAT网关失败的错误码', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVpcPrefixList'], ], 'createdAt' => '2022-08-03T07:33:03.000Z', 'description' => '补充错误码', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DescribeIpv6Gateways'], ], 'createdAt' => '2022-07-29T04:11:10.000Z', 'description' => 'Ipv6网关购买流程优化', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateNatGateway'], ['description' => 'Error codes changed', 'api' => 'ModifyNatGatewaySpec'], ], 'createdAt' => '2022-07-22T07:55:31.000Z', 'description' => 'CreateNatGateway和ModifyNatGatewaySpec接口新增错误码', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateSnatEntry'], ], 'createdAt' => '2022-07-22T06:29:04.000Z', 'description' => '公网nat支持eip亲和性', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateTrafficMirrorFilter'], ['description' => 'Request parameters changed', 'api' => 'CreateTrafficMirrorFilterRules'], ], 'createdAt' => '2022-07-21T09:48:00.000Z', 'description' => '流量镜像修改API 字段必填性说明', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'DeleteVpcPrefixList'], ['description' => 'OpenAPI offline', 'api' => 'GetVpcPrefixListAssociations'], ['description' => 'OpenAPI offline', 'api' => 'GetVpcPrefixListEntries'], ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListPrefixLists'], ['description' => 'OpenAPI offline', 'api' => 'ModifyVpcPrefixList'], ['description' => 'OpenAPI offline', 'api' => 'RetryVpcPrefixListAssociation'], ], 'createdAt' => '2022-07-18T12:45:20.000Z', 'description' => 'vpc支持prefixList功能', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteCommonBandwidthPackage'], ], 'createdAt' => '2022-07-12T11:39:23.000Z', 'description' => '增加错误码映射', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyCommonBandwidthPackageSpec'], ], 'createdAt' => '2022-07-12T11:34:38.000Z', 'description' => '优化错误码', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateNetworkAcl'], ], 'createdAt' => '2022-07-12T08:36:51.000Z', 'description' => 'API增加错误码提示', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateTrafficMirrorFilter'], ['description' => 'Request parameters changed', 'api' => 'CreateTrafficMirrorFilterRules'], ], 'createdAt' => '2022-07-11T03:25:55.000Z', 'description' => '修正API字段必填性说明', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ListFullNatEntries'], ], 'createdAt' => '2022-06-20T02:22:00.000Z', 'description' => 'ListFullNatEntries新增错误码', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateBgpPeer'], ], 'createdAt' => '2022-06-09T02:29:12.000Z', 'description' => '修改createBgpPeer的EnableBfd属性默认为false', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyRouterInterfaceAttribute'], ], 'createdAt' => '2022-05-27T02:47:42.000Z', 'description' => '修改modifyRouterInterfaceAttribute错误描述', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeNatGateways'], ], 'createdAt' => '2022-05-27T02:10:51.000Z', 'description' => 'DescribeNatGateways返回参数增加了MaxSessionQuota和MaxSessionEstablishRate', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeBgpPeers'], ], 'createdAt' => '2022-05-26T13:08:59.000Z', 'description' => 'DescribeBgpPeers接口 响应体中 isFake 字段类型更正,由原来错误的String类型改为Boolean类型', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyRouterInterfaceAttribute'], ], 'createdAt' => '2022-05-25T12:29:43.000Z', 'description' => '错误码修改', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyRouterInterfaceSpec'], ], 'createdAt' => '2022-05-25T11:24:19.000Z', 'description' => '修改错误码映射', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyRouterInterfaceSpec'], ], 'createdAt' => '2022-05-23T04:53:46.000Z', 'description' => '修改ModifyRouterInterfaceSpec错误码映射', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateDhcpOptionsSet'], ['description' => 'Response parameters changed', 'api' => 'GetDhcpOptionsSet'], ['description' => 'Response parameters changed', 'api' => 'ListDhcpOptionsSets'], ['description' => 'Request parameters changed', 'api' => 'UpdateDhcpOptionsSetAttribute'], ], 'createdAt' => '2022-05-23T04:53:41.000Z', 'description' => 'DHCP选项集支持用户自定义租约时间', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVirtualPhysicalConnection'], ], 'createdAt' => '2022-05-11T04:04:46.000Z', 'description' => 'createVirtualPhysicalConnection增加错误码映射', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ApplyPhysicalConnectionLOA'], ], 'createdAt' => '2022-05-10T11:41:28.000Z', 'description' => 'ApplyPhysicalConnectionLOA中POP接口的PM属性文档选填改为必填', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CompletePhysicalConnectionLOA'], ], 'createdAt' => '2022-05-10T11:40:13.000Z', 'description' => 'CompletePhysicalConnectionLOA中LineCode和LineLabe文档必填为选填', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ListEnhanhcedNatGatewayAvailableZones'], ], 'createdAt' => '2022-04-29T10:04:12.000Z', 'description' => '购买NAT时可用区显示支持英文', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeEipAddresses'], ], 'createdAt' => '2022-04-26T02:12:29.000Z', 'description' => 'EIP查询接口展示Tag信息', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateBgpGroup'], ['description' => 'Response parameters changed', 'api' => 'DescribeBgpPeers'], ['description' => 'Response parameters changed', 'api' => 'DescribeRouteEntryList'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'ModifyBgpGroupAttribute'], ], 'createdAt' => '2022-04-25T08:57:47.000Z', 'description' => '路由优化', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateRouteTableWithGateway'], ], 'createdAt' => '2022-04-21T07:55:10.000Z', 'description' => '增加绑定网关路由表错误码映射', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateRouteEntry'], ['description' => 'Error codes changed', 'api' => 'CreateVSwitch'], ['description' => 'Error codes changed', 'api' => 'DeleteVpc'], ], 'createdAt' => '2022-04-18T03:06:15.000Z', 'description' => '新增错误码信息', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'UnassociateHaVip'], ], 'createdAt' => '2022-03-29T08:28:27.000Z', 'description' => 'havip解绑增加错误码映射', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeNatGateways'], ], 'createdAt' => '2022-03-29T03:57:27.000Z', 'description' => 'DescribeNatGatewa接口返回参数与文档存在不一致,将缺失的参数设为可见,以便文档补全信息', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'AssociateVpcCidrBlock'], ], 'createdAt' => '2022-03-25T08:36:05.000Z', 'description' => 'Vpc更新支持自定义IPv6 Cidr', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateFlowLog'], ['description' => 'Response parameters changed', 'api' => 'DescribeFlowLogs'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'ModifyFlowLogAttribute'], ], 'createdAt' => '2022-03-25T07:18:50.000Z', 'description' => '创建及修改FlowLog时,增加采样聚合间隔参数(可选)', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteVpc'], ], 'createdAt' => '2022-03-18T10:03:15.000Z', 'description' => '删除vpc增加网关路由表依赖 错误码映射', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AddBgpNetwork'], ], 'createdAt' => '2022-03-17T07:57:04.000Z', 'description' => '增加错误码映射', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ActiveFlowLog'], ['description' => 'Error codes changed', 'api' => 'CreateFlowLog'], ['description' => 'Error codes changed', 'api' => 'DeactiveFlowLog'], ['description' => 'Response parameters changed', 'api' => 'DescribeFlowLogs'], ], 'createdAt' => '2022-03-14T06:10:03.000Z', 'description' => 'flowlog增加商业状态判断', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyVirtualBorderRouterAttribute'], ], 'createdAt' => '2022-03-14T03:48:30.000Z', 'description' => '增加错误码映射', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DissociateRouteTablesFromVpcGatewayEndpoint'], ], 'createdAt' => '2022-03-14T03:47:44.000Z', 'description' => '添加错误码映射', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'UpdateVirtualBorderBandwidth'], ], 'createdAt' => '2022-03-03T02:14:52.000Z', 'description' => '接口不规范修改', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeEipAddresses'], ], 'createdAt' => '2022-02-22T11:34:21.000Z', 'description' => '隐藏错误拼写参数', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateRouteTable'], ], 'createdAt' => '2022-01-21T06:23:17.000Z', 'description' => '绑定路由表 新增错误码映射', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteVpc'], ], 'createdAt' => '2022-01-21T06:07:07.000Z', 'description' => '删除vpc时存在ipv4网关残留 报错 增加该错误码映射', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'UpdateGatewayRouteTableEntryAttribute'], ], 'createdAt' => '2022-01-19T15:24:00.000Z', 'description' => '更新网关路由下一跳 增加错误码映射', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteRouteTable'], ], 'createdAt' => '2022-01-13T08:51:33.000Z', 'description' => 'deleteRouteTable增加错误码展示', ], [ 'apis' => [ ['description' => 'Error codes changed, Request parameters changed', 'api' => 'AssociateEipAddress'], ], 'createdAt' => '2022-01-12T03:52:52.000Z', 'description' => '增加regionId参数文档必填', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVirtualBorderRouter'], ], 'createdAt' => '2022-01-11T06:15:18.000Z', 'description' => '错误码映射', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'GetIpv4GatewayAttribute'], ], 'createdAt' => '2021-12-29T07:28:36.000Z', 'description' => 'GetIpv4GatewayAttribute增加创建时间返回值', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateNatGateway'], ], 'createdAt' => '2021-12-28T07:14:00.000Z', 'description' => '新建NAT时不再支持按规格计费,默认是按CU使用量计费', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVirtualBorderRouter'], ], 'createdAt' => '2021-12-28T06:33:41.000Z', 'description' => '错误码映射', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVirtualPhysicalConnection'], ], 'createdAt' => '2021-12-28T04:35:45.000Z', 'description' => '增加错误码映射', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'CheckCanAllocateVpcPrivateIpAddress'], ], 'createdAt' => '2021-12-28T04:35:32.000Z', 'description' => '新增支持查询VPC内私网IP是否可用校验的API', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVirtualBorderRouter'], ], 'createdAt' => '2021-12-23T12:49:14.000Z', 'description' => '增加错误码映射', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribePhysicalConnections'], ['description' => 'Response parameters changed', 'api' => 'ListVirtualPhysicalConnections'], ['description' => 'Request parameters changed', 'api' => 'UpdateVirtualPhysicalConnection'], ], 'createdAt' => '2021-12-20T08:06:49.000Z', 'description' => '共享端口支持升降配', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'ModifyEipAddressAttribute'], ], 'createdAt' => '2021-12-16T07:53:58.000Z', 'description' => 'ModifyEipAddressAttribute新增错误码', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeEipAddresses'], ], 'createdAt' => '2021-12-08T03:36:05.000Z', 'description' => 'DescribeEipAddresses接口增加description返回值', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'AllocateEipAddressPro'], ], 'createdAt' => '2021-12-01T09:27:26.000Z', 'description' => '高防eip支持指定ip申请', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ListNatIpCidrs'], ], 'createdAt' => '2021-11-25T11:45:24.000Z', 'description' => 'natIpCidr文档非必传', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreatePhysicalConnection'], ], 'createdAt' => '2021-11-25T08:05:09.000Z', 'description' => '增加错误码', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'ListNatIps'], ], 'createdAt' => '2021-11-25T05:53:18.000Z', 'description' => '修改了参数的文档是否必填', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateCommonBandwidthPackage'], ['description' => 'Error codes changed', 'api' => 'ModifyCommonBandwidthPackageSpec'], ], 'createdAt' => '2021-11-22T09:44:07.000Z', 'description' => '在不支持大带宽地域申请大于5G共享带宽包,返回ResourceNotEnough.Bandwidth错误码,提示The specified resource of Bandwidth is not enough.', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'DeletionProtection'], ], 'createdAt' => '2021-11-22T01:45:16.000Z', 'description' => '对用户来说,API没有变化,只是修改后端参数接收位置。', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateNatGateway'], ['description' => 'Request parameters changed', 'api' => 'DescribeNatGateways'], ], 'createdAt' => '2021-11-03T13:43:46.000Z', 'description' => '去掉多余的功能。', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'AssociateRouteTableWithGateway'], ['description' => 'OpenAPI offline', 'api' => 'CreateIpv4Gateway'], ['description' => 'Error codes changed, Request parameters changed, Response parameters changed', 'api' => 'CreateRouteTable'], ['description' => 'OpenAPI offline', 'api' => 'DeleteIpv4Gateway'], ['description' => 'Response parameters changed', 'api' => 'DescribeRouteTableList'], ['description' => 'OpenAPI offline', 'api' => 'DissociateRouteTableFromGateway'], ['description' => 'OpenAPI offline', 'api' => 'EnableVpcIpv4Gateway'], ['description' => 'OpenAPI offline', 'api' => 'GetIpv4GatewayAttribute'], ['description' => 'OpenAPI offline', 'api' => 'ListGatewayRouteTableEntries'], ['description' => 'OpenAPI offline', 'api' => 'ListIpv4Gateways'], ], 'createdAt' => '2021-11-03T13:41:36.000Z', 'description' => 'Ipv4网关相关功能接口上线', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateFullNatEntry'], ['description' => 'Request parameters changed', 'api' => 'DeleteFullNatEntry'], ['description' => 'Request parameters changed', 'api' => 'ListFullNatEntries'], ['description' => 'Request parameters changed', 'api' => 'ModifyFullNatEntryAttribute'], ], 'createdAt' => '2021-10-28T12:11:29.000Z', 'description' => 'FullNatEntry参数调整。', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'ListFullNatEntries'], ], 'createdAt' => '2021-10-27T07:00:15.000Z', 'description' => '改正ListFullNatEntries参数名称。', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribePhysicalConnections'], ], 'createdAt' => '2021-10-26T09:56:37.000Z', 'description' => 'ACVS类型支持跳过loa', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'AssociateVpnGatewayWithCertificate'], ], 'createdAt' => '2021-10-13T09:52:20.000Z', 'description' => '增加错误码。', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVpconnFromVbr'], ], 'createdAt' => '2021-10-13T09:52:01.000Z', 'description' => '错误码添加', ], [ 'apis' => [ ['description' => 'Response parameters changed', 'api' => 'DescribeRouterInterfaces'], ['description' => 'Response parameters changed', 'api' => 'DescribeRouterInterfaces'], ], 'createdAt' => '2021-10-13T09:51:51.000Z', 'description' => 'vbripv6', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'AttachVbrToVpconn'], ['description' => 'Error codes changed', 'api' => 'ConfirmPhysicalConnection'], ['description' => 'OpenAPI offline', 'api' => 'CreateVirtualPhysicalConnection'], ['description' => 'OpenAPI offline', 'api' => 'CreateVpconnFromVbr'], ['description' => 'Response parameters changed', 'api' => 'DescribePhysicalConnections'], ['description' => 'OpenAPI offline', 'api' => 'ListVirtualPhysicalConnections'], ['description' => 'OpenAPI offline', 'api' => 'RecoverPhysicalConnection'], ['description' => 'Error codes changed', 'api' => 'UpdateVirtualBorderBandwidth'], ['description' => 'OpenAPI offline', 'api' => 'UpdateVirtualPhysicalConnection'], ], 'createdAt' => '2021-09-28T06:42:18.000Z', 'description' => 'vpconn相关openapi发布。', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'CreateVirtualPhysicalConnection'], ], 'createdAt' => '2021-09-28T06:42:00.000Z', 'description' => 'vpconn错误码发布', ], [ 'apis' => [ ['description' => 'Request parameters changed', 'api' => 'CreateVirtualPhysicalConnection'], ['description' => 'Request parameters changed', 'api' => 'CreateVpconnFromVbr'], ], 'createdAt' => '2021-09-28T06:40:28.000Z', 'description' => 'vpconn相关openapi发布。', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteNatGateway'], ['description' => 'Response parameters changed', 'api' => 'ListNatIpCidrs'], ['description' => 'Response parameters changed', 'api' => 'ListNatIps'], ['description' => 'Error codes changed', 'api' => 'ModifyNatGatewayAttribute'], ], 'createdAt' => '2021-08-17T09:16:30.000Z', 'description' => '无', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'UnassociateVpcCidrBlock'], ], 'createdAt' => '2021-08-16T09:17:47.000Z', 'description' => 'vpc解绑cidr接口增加一个错误码配置,即解绑最后一个ipv6Cidr时还存在ipv6网关,报错', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteVSwitch'], ], 'createdAt' => '2021-08-08T06:04:10.000Z', 'description' => '增加删除vswitch时错误码,该错误码为下发管控时管控显示vswtich处于中间态,不可删除', ], [ 'apis' => [ ['description' => 'Error codes changed', 'api' => 'DeleteVpc'], ['description' => 'Error codes changed', 'api' => 'DetachDhcpOptionsSetFromVpc'], ], 'createdAt' => '2021-08-06T06:50:25.000Z', 'description' => '增加接口错误码', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'GetPhysicalConnectionServiceStatus'], ], 'createdAt' => '2021-07-02T03:52:55.000Z', 'description' => '查询是否开通出云流量功能支持。', ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectTrafficQos'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachDhcpOptionsSetToVpc'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListVSwitchCidrReservations'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachDhcpOptionsSetFromVpc'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddCommonBandwidthPackageIps'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifySslVpnClientCert'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeBgpNetworks'], ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateNetworkAclEntries'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateHaVip'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIpv6Gateway'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateEipAddress'], ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CopyNetworkAclEntries'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TerminateVirtualBorderRouter'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteNatIpCidr'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetVpcRouteEntrySummary'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateFailoverTestJob'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeForwardTableEntries'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeSslVpnClientCerts'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpnSslServerLogs'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteRouterInterface'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DissociateRouteTablesFromVpcGatewayEndpoint'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNatGatewayAssociateNetworkInterfaces'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyNatGatewayAttribute'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVpnGatewayAttribute'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteRouteTargetGroup'], ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeIPv6TranslatorEntries'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateExpressConnectTrafficQosQueue'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ConnectRouterInterface'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeIpv6GatewayAttribute'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateRouteTablesWithVpcGatewayEndpoint'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateVpnGatewayWithCertificate'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpnPbrRouteEntries'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeHighDefinitionMonitorLogAttribute'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateSnatEntry'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCommonBandwidthPackage'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVSwitchAttribute'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyIPv6TranslatorAclListEntry'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNetworkAclAttributes'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListPrefixLists'], ['threshold' => '360', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListDhcpOptionsSets'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateRouterInterface'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListPublicIpAddressPoolCidrBlocks'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeSslVpnClients'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeFlowLogs'], ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeIPv6TranslatorAclListAttributes'], ['threshold' => '360', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVpcPrefixList'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyNatGatewaySpec'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateDhcpOptionsSet'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVcoRouteEntry'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateRouteTargetGroup'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteExpressConnectTrafficQosQueue'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteNatIp'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyEipAddressAttribute'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListNatIpCidrs'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteRouteEntries'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeactiveFlowLog'], ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateEipAddressBatch'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteNatGateway'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeZones'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeactivateRouterInterface'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRouterInterfaceAttribute'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAccessPoints'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifySnatEntry'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateIPv6TranslatorAclList'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ReleaseEipAddress'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeletionProtection'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListVpcGatewayEndpoints'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeEipSegment'], ['threshold' => '360', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVSwitches'], ['threshold' => '360', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpcs'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyRouterInterfaceAttribute'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVirtualBorderRoutersForPhysicalConnection'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyGlobalAccelerationInstanceAttributes'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateRouteEntries'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTrafficMirrorSession'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateRouteTableWithGateway'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyCommonBandwidthPackageAttribute'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateTrafficMirrorSessionAttribute'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTrafficMirrorFilter'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVirtualBorderRouters'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResourcesForExpressConnect'], ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVSwitchCidrReservation'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVpnAttachment'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVbrHa'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetRouteTargetGroup'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeSslVpnServers'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVpcGatewayEndpoint'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeSnatTableEntries'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeTagKeysForExpressConnect'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetNatGatewayAttribute'], ['threshold' => '180', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRouteTableList'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCustomerGateways'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVpc'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateDefaultVSwitch'], ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DownloadVpnConnectionConfig'], ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeIPv6Translators'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListBusinessRegions'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateRouteTable'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RecoverVirtualBorderRouter'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SecondApplyPhysicalConnectionLOA'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableVpcIpv4Gateway'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBgpPeer'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeIpv6Gateways'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveIPv6TranslatorAclListEntry'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeEcGrantRelation'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetIpv4GatewayAttribute'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyForwardEntry'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddSourcesToTrafficMirrorSession'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVpc'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateFailoverTestJob'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateIPv6Translator'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListBusinessAccessPoints'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyIpv6GatewayAttribute'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OpenTrafficMirrorService'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetVpcGatewayEndpointAttribute'], ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteNetworkAcl'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVcoRouteEntry'], ['threshold' => '100', 'countWindow' => 3600, 'regionId' => '*', 'api' => 'CreateSslVpnServer'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyTunnelAttribute'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AllocateIpv6InternetBandwidth'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifySslVpnServer'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeBgpPeers'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnassociateVpcCidrBlock'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeGrantRulesToEcr'], ['threshold' => '5', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ConvertBandwidthPackage'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeHaVips'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressConnectTrafficQosRule'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePublicIpAddress'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GrantInstanceToCen'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SwitchActiveRouteTarget'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpcAttribute'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyIpv6AddressAttribute'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyIPv6TranslatorAttribute'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyIPv6TranslatorBandwidth'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateIpv6Gateway'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBgpNetwork'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeTagKeys'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ChangeResourceGroup'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeBgpGroups'], ['threshold' => '180', 'countWindow' => 60, 'regionId' => '*', 'api' => 'Describe95Traffic'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeGrantRulesToCen'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'WithdrawVpcPublishedRouteEntries'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIpv6InternetBandwidth'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdatePublicIpAddressPoolAttribute'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyCustomerGatewayAttribute'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnablePhysicalConnection'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CheckVpnBgpEnabled'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetFlowLogServiceStatus'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateHighReliablePhysicalConnection'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateForwardEntry'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRouterInterfaces'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListGeographicSubRegions'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListIpsecServerLogs'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateFlowLog'], ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnassociateNetworkAcl'], ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeIPv6TranslatorAclLists'], ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNetworkAcls'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListPhysicalConnectionFeatures'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateExpressConnectTrafficQos'], ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreatePhysicalConnectionSetupOrder'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListPublicIpAddressPools'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TransformEipSegmentToPublicIpAddressPool'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTrafficMirrorFilterRules'], ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRouteTables'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyEipForwardMode'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRouteEntryList'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ApplyPhysicalConnectionLOA'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ConfirmPhysicalConnection'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVpnPbrRouteEntry'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyIPv6TranslatorAclAttribute'], ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateNetworkAcl'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetVSwitchCidrReservationUsage'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressConnectTrafficQos'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachVbrToVpconn'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateExpressConnectTrafficQosRule'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetVpcPrefixListEntries'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeIpv6EgressOnlyRules'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteFailoverTestJob'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DiagnoseVpnConnections'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RevokeInstanceFromCen'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyCommonBandwidthPackageIpBandwidth'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpnGateways'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RecoverPhysicalConnection'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelPhysicalConnection'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateGlobalAccelerationInstance'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OpenPhysicalConnectionService'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AllocateEipAddress'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartFailoverTestJob'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIPv6TranslatorAclList'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeFailoverTestJob'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetPublicIpAddressPoolServiceStatus'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVpnGateway'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetPhysicalConnectionServiceStatus'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpnCrossAccountAuthorizations'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVpconnFromVbr'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVpcPrefixList'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeGlobalAccelerationInstances'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveCommonBandwidthPackageIp'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIpv4Gateway'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RetryVpcPrefixListAssociation'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTrafficMirrorFilters'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateNatGateway'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddIPv6TranslatorAclListEntry'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResourcesForExpressConnect'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateVirtualPhysicalConnection'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeEipAddresses'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ActivateRouterInterface'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateDefaultVpc'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeletePublicIpAddressPoolCidrBlock'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateIpsecServer'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateNatIpCidr'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVSwitchCidrReservationAttribute'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyRouteEntry'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateIpv6EgressOnlyRule'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyRouteTableAttributes'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeletePhysicalConnection'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'PublishVpnRouteEntry'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AllocateIpv6Address'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateIPv6TranslatorEntry'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyGlobalAccelerationInstanceSpec'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetVpcPrefixListAssociations'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateIpv4GatewayAttribute'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyFlowLogAttribute'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeEipMonitorData'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateExpressCloudConnection'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVpnRouteEntryWeight'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddBgpNetwork'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateVpcGatewayEndpointAttribute'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVbrHa'], ['threshold' => '420', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTrafficMirrorSession'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteExpressConnectTrafficQosRule'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CheckCanAllocateVpcPrivateIpAddress'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVpcPrefixList'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteSnatEntry'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GrantInstanceToVbr'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTrafficMirrorFilter'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyNatIpCidrAttribute'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyPhysicalConnectionAttribute'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableVpcClassicLink'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteHaVip'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectTrafficQosQueue'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateRouteEntry'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetNatIpCidrAttribute'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteDhcpOptionsSet'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableVpcClassicLink'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetNatIpAttribute'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTrafficMirrorFilterRules'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVpcGatewayEndpoint'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AllocateVpcIpv6Cidr'], ['threshold' => '6', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AllocateEipSegmentAddress'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVSwitch'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteSslVpnClientCert'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelCommonBandwidthPackageIpBandwidth'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeFailoverTestJobs'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveSourcesFromTrafficMirrorSession'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyIPv6TranslatorEntry'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ActiveFlowLog'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIpv6EgressOnlyRule'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBgpGroup'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListVpcPublishedRouteEntries'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ReleaseIpv6Address'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressCloudConnectionBandwidth'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVpnPbrRouteEntry'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListVirtualPhysicalConnections'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyRouterInterfaceSpec'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateTrafficMirrorFilterAttribute'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTrafficMirrorSessions'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateIpsecServer'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpnConnectionLogs'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyBgpGroupAttribute'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateRouteTargetGroup'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteForwardEntry'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddCommonBandwidthPackageIp'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RevokeInstanceFromVbr'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyIpv6InternetBandwidth'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeEipGatewayInfo'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetHighDefinitionMonitorLogStatus'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateBgpGroup'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressCloudConnectionAttribute'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateIpv4Gateway'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteExpressConnect'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateDhcpOptionsSetAttribute'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCustomerGateway'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnassociateGlobalAccelerationInstance'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ReleaseEipSegmentAddress'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIPv6Translator'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociatePhysicalConnectionToVirtualBorderRouter'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteGlobalAccelerationInstance'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpcGrantRulesToEcr'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetTrafficMirrorServiceStatus'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MoveResourceGroup'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVpnRouteEntry'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVirtualPhysicalConnection'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVSwitch'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListRouteTargetGroups'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCustomerGateway'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteSslVpnServer'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeTags'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListVpnCertificateAssociations'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateVirtualBorderBandwidth'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteFullNatEntry'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteFlowLog'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetDhcpOptionsSet'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AllocateEipAddressPro'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnassociateEipAddress'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpnConnection'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddGlobalAccelerationInstanceIp'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeletePublicIpAddressPool'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListGatewayRouteTableEntries'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MoveVpnResourceGroup'], ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DiagnoseVpnGateway'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVirtualBorderRouterAttribute'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVpnGateway'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCustomerGateway'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateVpcCidrBlock'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpnConnections'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OpenFlowLogService'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListNatIps'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVpnPbrRouteEntryPriority'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyFullNatEntryAttribute'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectTrafficQosRule'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVpnPbrRouteEntryWeight'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyBgpPeerAttribute'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNatGateways'], ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyNetworkAclAttributes'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateNatIp'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVpnConnection'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIpsecServer'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVpnConnection'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateNatGatewayNatType'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVpnConnectionAttribute'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveGlobalAccelerationInstanceIp'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetVpnGatewayDiagnoseResult'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteExpressConnectTrafficQos'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreatePublicIpAddressPool'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVpcAttribute'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResourcesForExpressConnect'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListVpcEndpointServicesByEndUser'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OpenPublicIpAddressPoolService'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'PublishVpcRouteEntries'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'VpcDescribeVpcNatGatewayNetworkInterfaceQuota'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVpnRouteEntry'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVpnAttachment'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListEnhanhcedNatGatewayAvailableZones'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddPublicIpAddressPoolCidrBlock'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVSwitchAttributes'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVcoRouteEntryWeight'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCommonBandwidthPackage'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVSwitchCidrReservation'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVpnPbrRouteEntryAttribute'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyNatIpAttribute'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateSslVpnClientCert'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVirtualBorderRouter'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateTrafficMirrorFilterRuleAttribute'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeIpv6Addresses'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIPv6TranslatorEntry'], ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateNetworkAcl'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnTagResources'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateBgpPeer'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreatePhysicalConnection'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopFailoverTestJob'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVcoRouteEntries'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnassociatePhysicalConnectionFromVirtualBorderRouter'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateHaVip'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeServerRelatedGlobalAccelerationInstances'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateRouteTable'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateGatewayRouteTableEntryAttribute'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListIpv4Gateways'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpnGatewayAvailableZones'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteRouteEntry'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVirtualBorderRouter'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyCommonBandwidthPackageSpec'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TerminatePhysicalConnection'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePhysicalConnectionLOA'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpnGateway'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateFullNatEntry'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteRouteTable'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVbrHa'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpnRouteEntries'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListIpsecServers'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnassociateRouteTable'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CompletePhysicalConnectionLOA'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DissociateRouteTableFromGateway'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePhysicalConnections'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressConnectTrafficQosQueue'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVpnAttachments'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVRouters'], ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListFullNatEntries'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeSslVpnClientCert'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreatePhysicalConnectionOccupancyOrder'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCommonBandwidthPackages'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnassociateHaVip'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyHaVipAttribute'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ReplaceVpcDhcpOptionsSet'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DissociateVpnGatewayWithCertificate'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVRouterAttribute'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVpnAttachmentAttribute'], ], 'product' => ['code' => 'expressconnect', 'title' => 'Vpc'], ], 'ram' => [ 'productCode' => 'VPC', 'productName' => 'Virtual Private Cloud', 'ramCodes' => ['vpc'], 'ramLevel' => 'RESOURCE', 'ramConditions' => [ [ 'name' => 'vpc:VRouter', 'schema' => ['type' => 'String', 'description' => 'Router Information'], ], [ 'name' => 'vpc:VPC', 'schema' => ['type' => 'String', 'description' => 'VPC Information'], ], [ 'name' => 'vpc:tag', 'schema' => ['type' => 'String', 'description' => 'Tags of the VPC'], ], [ 'name' => 'vpc:TargetAccountRDId', 'schema' => ['type' => 'String', 'description' => 'peer user resource directory ID information'], ], [ 'name' => 'vpc:PhysicalConnection', 'schema' => ['type' => 'String', 'description' => 'Physical Line Information'], ], [ 'name' => 'vpc:VBR', 'schema' => ['type' => 'String', 'description' => 'Border Router Information'], ], ], 'ramActions' => [ [ 'apiName' => 'DescribeFlowLogs', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeFlowLogs', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'FlowLog', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:flowlog/*'], ], ], ], [ 'apiName' => 'DescribeVpnConnection', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeVpnConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], [ 'apiName' => 'CreateVbrHa', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVbrHa', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ], ], ], [ 'apiName' => 'OpenFlowLogService', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:OpenFlowLogService', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'FlowLogService', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:flowlog/*'], ], ], ], [ 'apiName' => 'ModifyNatGatewaySpec', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyNatGatewaySpec', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], [ 'apiName' => 'ModifyCommonBandwidthPackageAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyCommonBandwidthPackageAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/{#BandwidthPackageId}'], ], ], ], [ 'apiName' => 'ChangeResourceGroup', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ChangeResourceGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DescribeSnatTableEntries', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeSnatTableEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SnatTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:snattable/{#SnatTableId}'], ], ], ], [ 'apiName' => 'AddIPv6TranslatorAclListEntry', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AddIPv6TranslatorAclListEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#Ipv6TranslatorId}'], ], ], ], [ 'apiName' => 'AllocateVpcIpv6Cidr', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'vpc:AllocateVpcIpv6Cidr', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ModifyIpv6GatewayAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyIpv6GatewayAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/{#Ipv6GatewayId}'], ], ], ], [ 'apiName' => 'CreateEnhancedVpnGateway', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateEnhancedVpnGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateNatGateway', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateNatGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/*'], ], ], ], [ 'apiName' => 'ModifyExpressCloudConnectionAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyExpressCloudConnectionAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], [ 'apiName' => 'CreatePublicIpAddressPool', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreatePublicIpAddressPool', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PublicIpAddressPool', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:publicipaddresspool/*'], ], ], ], [ 'apiName' => 'CreateVpc', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVpc', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/*'], ], ], ], [ 'apiName' => 'ModifyNatGatewayAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyNatGatewayAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], [ 'apiName' => 'ModifyFullNatEntryAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyFullNatEntryAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'FullNat', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpcfullnattable/{#FullNatTableId}'], ], ], ], [ 'apiName' => 'EnableVpcIpv4Gateway', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:EnableVpcIpv4Gateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv4Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv4gateway/{#ipv4gatewayId}'], ], ], ], [ 'apiName' => 'DeleteNatGateway', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteNatGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#natgatewayid}'], ], ], ], [ 'apiName' => 'DeletePublicIpAddressPoolCidrBlock', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeletePublicIpAddressPoolCidrBlock', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PublicIpAddressPool', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:publicipaddresspool/{#PublicIpAddressPoolId}'], ], ], ], [ 'apiName' => 'PublishVpnRouteEntry', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:PublishVpnRouteEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], [ 'apiName' => 'DescribeIpv6Gateways', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeIpv6Gateways', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/{#Ipv6GatewayId}'], ], ], ], [ 'apiName' => 'DeleteVpnGateway', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVpnGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], [ 'apiName' => 'DeleteBgpPeer', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteBgpPeer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], [ 'apiName' => 'ListPublicIpAddressPoolCidrBlocks', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:ListPublicIpAddressPoolCidrBlocks', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PublicIpAddressPool', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:publicipaddresspool/{#PublicIpAddressPoolId}'], ], ], ], [ 'apiName' => 'ModifyNetworkAclAttributes', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyNetworkAclAttributes', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NetworkAcl', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:networkacl/{#NetworkAclId}'], ], ], ], [ 'apiName' => 'ModifyPhysicalConnectionAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyPhysicalConnectionAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], [ 'apiName' => 'SetHighDefinitionMonitorLogStatus', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'vpc:SetHighDefinitionMonitorLogStatus', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ], ], ], [ 'apiName' => 'CreateVirtualPhysicalConnection', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVirtualPhysicalConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#physicalconnectionId}'], ], ], ], [ 'apiName' => 'DescribeRouterInterfaces', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeRouterInterfaces', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouterInterface', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routerinterface/{#RouterInterfaceId}'], ], ], ], [ 'apiName' => 'DescribeVpcAttribute', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeVpcAttribute', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:tag', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], [ 'apiName' => 'GetFlowLogServiceStatus', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetFlowLogServiceStatus', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'FlowLogService', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:flowlog/*'], ], ], ], [ 'apiName' => 'ListTagResourcesForExpressConnect', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListTagResourcesForExpressConnect', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateForwardEntry', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateForwardEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'ForwardTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:forwardtable/{#ForwardTableId}'], ], ], ], [ 'apiName' => 'ModifyRouteEntry', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyRouteEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], [ 'apiName' => 'UpdatePublicIpAddressPoolAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdatePublicIpAddressPoolAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PublicIpAddressPool', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:publicipaddresspool/{#PublicIpAddressPoolId}'], ], ], ], [ 'apiName' => 'DescribeVpnConnections', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVpnConnections', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VpnConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VpnConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], [ 'apiName' => 'DeleteIpsecServer', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteIpsecServer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'IpsecServer', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnipsecserver/{#IpsecServerId}'], ], ], ], [ 'apiName' => 'CreateFailoverTestJob', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateFailoverTestJob', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], [ 'apiName' => 'ListGeographicSubRegions', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListGeographicSubRegions', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreatePhysicalConnectionOccupancyOrder', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreatePhysicalConnectionOccupancyOrder', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], [ 'apiName' => 'UnassociateRouteTable', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UnassociateRouteTable', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], [ 'apiName' => 'TransformEipSegmentToPublicIpAddressPool', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:TransformEipSegmentToPublicIpAddressPool', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateVpnGateway', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVpnGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/*'], ], ], ], [ 'apiName' => 'ModifyRouteTableAttributes', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyRouteTableAttributes', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:VRouter', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], [ 'apiName' => 'DeleteEnhancedVpnGateway', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteEnhancedVpnGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], [ 'apiName' => 'DeleteRouterInterface', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteRouterInterface', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouterInterface', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routerinterface/{#RouterInterfaceId}'], ], ], ], [ 'apiName' => 'DeleteFailoverTestJob', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteFailoverTestJob', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ], ], ], [ 'apiName' => 'AddCommonBandwidthPackageIps', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AddCommonBandwidthPackageIps', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/{#BandwidthPackageId}'], ], ], ], [ 'apiName' => 'CreateTrafficMirrorFilter', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateTrafficMirrorFilter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/*'], ], ], ], [ 'apiName' => 'CreateVpnPbrRouteEntry', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVpnPbrRouteEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], [ 'apiName' => 'CreatePhysicalConnectionSetupOrder', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreatePhysicalConnectionSetupOrder', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ActiveFlowLog', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ActiveFlowLog', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'FlowLog', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:flowlog/{#FlowLogId}'], ], ], ], [ 'apiName' => 'ModifyIPv6TranslatorEntry', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyIPv6TranslatorEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#Ipv6TranslatorId}'], ], ], ], [ 'apiName' => 'AssociateEipAddress', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:AssociateEipAddress', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Instance', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:instance/{#InstanceId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Association', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/{#HaVipId}'], ], ], ], [ 'apiName' => 'DescribeIpv6EgressOnlyRules', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeIpv6EgressOnlyRules', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/{#Ipv6GatewayId}'], ], ], ], [ 'apiName' => 'DeactiveFlowLog', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:DeactiveFlowLog', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'FlowLog', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:flowlog/{#FlowLogId}'], ], ], ], [ 'apiName' => 'RemoveCommonBandwidthPackageIp', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:RemoveCommonBandwidthPackageIp', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/{#BandwidthPackageId}'], ], ], ], [ 'apiName' => 'DescribeNatGatewayAssociateNetworkInterfaces', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeNatGatewayAssociateNetworkInterfaces', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], [ 'apiName' => 'ListNatIps', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:ListNatIps', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], [ 'apiName' => 'CreateDefaultVSwitch', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateDefaultVSwitch', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionid}:{#accountId}:vswitch/*'], ], ], ], [ 'apiName' => 'AssociateRouteTablesWithVpcGatewayEndpoint', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AssociateRouteTablesWithVpcGatewayEndpoint', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'GatewayEndpoint', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:gatewayendpoint/{#GatewayEndpointId}'], ], ], ], [ 'apiName' => 'CreateCustomerGateway', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateCustomerGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'CustomerGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:customergateway/*'], ], ], ], [ 'apiName' => 'DeleteCommonBandwidthPackage', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteCommonBandwidthPackage', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:tag', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'CommonBandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/{#CommonBandwidthPackageId}'], ], ], ], [ 'apiName' => 'RevokeInstanceFromCen', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:RevokeInstanceFromCen', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], [ 'apiName' => 'ListVpcPublishedRouteEntries', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListVpcPublishedRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], [ 'apiName' => 'CreateExpressCloudConnection', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateExpressCloudConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DissociateRouteTablesFromVpcGatewayEndpoint', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DissociateRouteTablesFromVpcGatewayEndpoint', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'GatewayEndpoint', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:gatewayendpoint/{#GatewayEndpointId}'], ], ], ], [ 'apiName' => 'UpdateRouteTargetGroup', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateRouteTargetGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTargetGroup', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetargetgroup/{#RouteTargetGroupId}'], ], ], ], [ 'apiName' => 'ModifyIPv6TranslatorBandwidth', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyIPv6TranslatorBandwidth', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#Ipv6TranslatorId}'], ], ], ], [ 'apiName' => 'UpdateVirtualBorderBandwidth', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateVirtualBorderBandwidth', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:*:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], [ 'apiName' => 'TerminatePhysicalConnection', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:TerminatePhysicalConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], [ 'apiName' => 'CreateNatIp', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateNatIp', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], [ 'apiName' => 'GetIpv4GatewayAttribute', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetIpv4GatewayAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv4Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv4gateway/{#Ipv4GatewayId}'], ], ], ], [ 'apiName' => 'DeletionProtection', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeletionProtection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ], ], ], [ 'apiName' => 'GetVpcPrefixListEntries', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetVpcPrefixListEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PrefixList', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:prefixlist/{#PrefixListId}'], ], ], ], [ 'apiName' => 'DescribeVpnCrossAccountAuthorizations', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeVpnCrossAccountAuthorizations', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnections', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], [ 'apiName' => 'ListPrefixLists', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListPrefixLists', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'PrefixList', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:prefixlist/*'], ], ], ], [ 'apiName' => 'ListVpcEndpointServicesByEndUser', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListVpcEndpointServicesByEndUser', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ModifyGlobalAccelerationInstanceAttributes', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyGlobalAccelerationInstanceAttributes', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'GlobalAccelerationInstance', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:globalaccelerationinstance/{#GlobalAccelerationInstanceId}'], ], ], ], [ 'apiName' => 'TagResourcesForExpressConnect', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:TagResourcesForExpressConnect', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouterInterface', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routerinterface/{#RouterInterfaceId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficQos', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficqos/{#QosId}'], ], ], ], [ 'apiName' => 'ConfirmPhysicalConnection', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:ConfirmPhysicalConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DescribeNatGateways', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeNatGateways', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], [ 'apiName' => 'CreateCommonBandwidthPackage', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateCommonBandwidthPackage', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'CommonBandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/*'], ], ], ], [ 'apiName' => 'AssociateHaVip', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AssociateHaVip', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Instance', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:instance/{#InstanceId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'HaVip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/{#HaVipId}'], ], ], ], [ 'apiName' => 'CreateVpcGatewayEndpoint', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVpcGatewayEndpoint', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'GatewayEndpoint', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:gatewayendpoint/*'], ], ], ], [ 'apiName' => 'ModifySnatEntry', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifySnatEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SnatTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:snattable/{#SnatTableId}'], ], ], ], [ 'apiName' => 'CreateIPv6TranslatorEntry', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateIPv6TranslatorEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#Ipv6TranslatorId}'], ], ], ], [ 'apiName' => 'CreateSslVpnServer', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateSslVpnServer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SslVpnServer', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnserver/*'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], [ 'apiName' => 'ListVirtualPhysicalConnections', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListVirtualPhysicalConnections', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], [ 'apiName' => 'GetVpcRouteEntrySummary', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:GetVpcRouteEntrySummary', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#routetableId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#vpcId}'], ], ], ], [ 'apiName' => 'DescribeGrantRulesToEcr', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeGrantRulesToEcr', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ], ], ], [ 'apiName' => 'ConnectRouterInterface', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ConnectRouterInterface', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouterInterface', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routerinterface/{#RouterInterfaceId}'], ], ], ], [ 'apiName' => 'CreateTrafficMirrorSession', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateTrafficMirrorSession', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorSession', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorsession/*'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/{#TrafficMirrorFilterId}'], ], ], ], [ 'apiName' => 'DeleteBgpNetwork', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteBgpNetwork', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], [ 'apiName' => 'DeleteRouteTargetGroup', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteRouteTargetGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CopyNetworkAclEntries', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:CopyNetworkAclEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NetworkAcl', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:networkacl/{#NetworkAclId}'], ], ], ], [ 'apiName' => 'DeleteTrafficMirrorFilterRules', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteTrafficMirrorFilterRules', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/{#TrafficMirrorFilterId}'], ], ], ], [ 'apiName' => 'DeleteVpcGatewayEndpoint', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVpcGatewayEndpoint', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'GatewayEndpoint', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:gatewayendpoint/{#GatewayEndpointId}'], ], ], ], [ 'apiName' => 'CreateTrafficMirrorFilterRules', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateTrafficMirrorFilterRules', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/{#TrafficMirrorFilterId}'], ], ], ], [ 'apiName' => 'CreateVcoRouteEntry', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVcoRouteEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnections', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], [ 'apiName' => 'DescribeServerRelatedGlobalAccelerationInstances', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeServerRelatedGlobalAccelerationInstances', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteHaVip', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteHaVip', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'HaVip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/{#HaVipId}'], ], ], ], [ 'apiName' => 'DeleteForwardEntry', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteForwardEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'ForwardTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:forwardtable/{#ForwardTableId}'], ], ], ], [ 'apiName' => 'ModifyCustomerGatewayAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyCustomerGatewayAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'CustomerGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:customergateway/{#CustomerGatewayId}'], ], ], ], [ 'apiName' => 'UpdateIpv4GatewayAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateIpv4GatewayAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv4Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv4gateway/{#ipv4gatewayId}'], ], ], ], [ 'apiName' => 'ListVpcGatewayEndpoints', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListVpcGatewayEndpoints', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'GatewayEndpoint', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:gatewayendpoint/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'GatewayEndpoint', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:gatewayendpoint/{#GatewayEndpointId}'], ], ], ], [ 'apiName' => 'DeleteVpnRouteEntry', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVpnRouteEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], [ 'apiName' => 'ListPhysicalConnectionFeatures', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListPhysicalConnectionFeatures', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#AccountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], [ 'apiName' => 'DescribeVpnGateway', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeVpnGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], [ 'apiName' => 'UpdateVirtualPhysicalConnection', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateVirtualPhysicalConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#physicalconnectionId}'], ], ], ], [ 'apiName' => 'CreateVpconnFromVbr', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVpconnFromVbr', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#virtualborderrouterId}'], ], ], ], [ 'apiName' => 'CreateIpv4Gateway', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateIpv4Gateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv4Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv4gateway/*'], ], ], ], [ 'apiName' => 'AllocateEipAddressPro', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AllocateEipAddressPro', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/*'], ], ], ], [ 'apiName' => 'GetNatGatewayAttribute', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetNatGatewayAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], [ 'apiName' => 'AllocateEipSegmentAddress', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AllocateEipSegmentAddress', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SegmentAddress', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/*'], ], ], ], [ 'apiName' => 'CreateNetworkAcl', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateNetworkAcl', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NetworkAcl', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:networkacl/*'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], [ 'apiName' => 'ListTagResources', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:ListTagResources', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:tag', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/{#BandwidthPackageId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTable}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], [ 'apiName' => 'ModifyGlobalAccelerationInstanceSpec', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyGlobalAccelerationInstanceSpec', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'GlobalAccelerationInstance', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:globalaccelerationinstance/{#GlobalAccelerationInstanceId}'], ], ], ], [ 'apiName' => 'MoveResourceGroup', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:MoveResourceGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:bandwidthpackage/{#BandwidthPackageId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Eip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'PrefixList', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:prefixlist/{#PrefixListId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'GatewayEndpoint', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:gatewayendpoint/{#GatewayEndpointId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'DhcpOptionsSet', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:dhcpoptionsset/{#DhcpOptionsSetId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'FlowLog', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:flowlog/{#FlowLogId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'HaVip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/{#HaVipId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Ipv4Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv4gateway/{#Ipv4GatewayId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/{#Ipv6GatewayId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'PublicIpAddressPool', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:publicipaddresspool/{#PublicIpAddressPoolId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/{#TrafficMirrorFilterId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorSession', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorsession/{#TrafficMirrorSessionId}'], ], ], ], [ 'apiName' => 'ModifyExpressConnectTrafficQosRule', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyExpressConnectTrafficQosRule', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CancelCommonBandwidthPackageIpBandwidth', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:CancelCommonBandwidthPackageIpBandwidth', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/{#BandwidthPackageId}'], ], ], ], [ 'apiName' => 'DescribeSslVpnClientCerts', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeSslVpnClientCerts', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'SslVpnClientCert', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnclientcert/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'SslVpnClientCert', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnclientcert/{#SslVpnClientCertId}'], ], ], ], [ 'apiName' => 'DescribeCustomerGateways', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeCustomerGateways', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'CustomerGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:customergateway/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'CustomerGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:customergateway/{#CustomerGatewayId}'], ], ], ], [ 'apiName' => 'StartFailoverTestJob', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:StartFailoverTestJob', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], [ 'apiName' => 'DeleteRouteEntry', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteRouteEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], [ 'apiName' => 'TagResources', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:TagResources', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:tag', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/{#BandwidthPackageId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], [ 'apiName' => 'RemoveSourcesFromTrafficMirrorSession', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:RemoveSourcesFromTrafficMirrorSession', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorSession', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorsession/{#TrafficMirrorSessionId}'], ], ], ], [ 'apiName' => 'OpenTrafficMirrorService', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:OpenTrafficMirrorService', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UnassociateVpcCidrBlock', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:UnassociateVpcCidrBlock', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], [ 'apiName' => 'ListGatewayRouteTableEntries', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListGatewayRouteTableEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#routetableId}'], ], ], ], [ 'apiName' => 'DescribeVpnConnectionLogs', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVpnConnectionLogs', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], [ 'apiName' => 'DescribeHighDefinitionMonitorLogAttribute', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeHighDefinitionMonitorLogAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ], ], ], [ 'apiName' => 'DescribeEcGrantRelation', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeEcGrantRelation', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ], ], ], [ 'apiName' => 'DeleteNetworkAcl', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteNetworkAcl', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NetworkAcl', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:networkacl/{#NetworkAclId}'], ], ], ], [ 'apiName' => 'DeletePublicIpAddressPool', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeletePublicIpAddressPool', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PublicIpAddressPool', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:publicipaddresspool/{#PublicIpAddressPoolId}'], ], ], ], [ 'apiName' => 'RemoveIPv6TranslatorAclListEntry', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:RemoveIPv6TranslatorAclListEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#Ipv6TranslatorId}'], ], ], ], [ 'apiName' => 'ModifyVpcPrefixList', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyVpcPrefixList', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PrefixList', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:prefixlist/{#PrefixListId}'], ], ], ], [ 'apiName' => 'ModifyExpressConnectTrafficQosQueue', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyExpressConnectTrafficQosQueue', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateDhcpOptionsSetAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateDhcpOptionsSetAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'DhcpOptionsSet', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:dhcpoptionsset/{#DhcpOptionsSetId}'], ], ], ], [ 'apiName' => 'DeleteVcoRouteEntry', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVcoRouteEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnections', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], [ 'apiName' => 'ModifyVpnAttachmentAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyVpnAttachmentAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnections', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], [ 'apiName' => 'DeleteExpressConnectTrafficQosRule', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteExpressConnectTrafficQosRule', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DescribeIpv6Addresses', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeIpv6Addresses', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6InternetBandwidth', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/*'], ], ], ], [ 'apiName' => 'VpcDescribeVpcNatGatewayNetworkInterfaceQuota', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:VpcDescribeVpcNatGatewayNetworkInterfaceQuota', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteVpnConnection', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVpnConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], [ 'apiName' => 'DeleteIpv6Gateway', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteIpv6Gateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/{#Ipv6GatewayId}'], ], ], ], [ 'apiName' => 'AllocateIpv6Address', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AllocateIpv6Address', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6address/*'], ], ], ], [ 'apiName' => 'ModifyIPv6TranslatorAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyIPv6TranslatorAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#Ipv6TranslatorId}'], ], ], ], [ 'apiName' => 'ModifyEipForwardMode', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyEipForwardMode', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ], ], ], [ 'apiName' => 'DescribeSslVpnClientCert', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeSslVpnClientCert', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SslVpnClientCert', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnclientcert/{#SslVpnClientCertId}'], ], ], ], [ 'apiName' => 'ModifyExpressConnectTrafficQos', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyExpressConnectTrafficQos', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'AddPublicIpAddressPoolCidrBlock', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AddPublicIpAddressPoolCidrBlock', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PublicIpAddressPool', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:publicipaddresspool/{#PublicIpAddressPoolId}'], ], ], ], [ 'apiName' => 'DescribeVSwitchAttributes', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeVSwitchAttributes', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], [ 'apiName' => 'ModifyVpnPbrRouteEntryAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyVpnPbrRouteEntryAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], [ 'apiName' => 'UntagResourcesForExpressConnect', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UntagResourcesForExpressConnect', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouterInterface', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routerinterface/{#RouterInterfaceId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficQos', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficqos/{#QosId}'], ], ], ], [ 'apiName' => 'AssociateVpnGatewayWithCertificate', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:AssociateVpnGatewayWithCertificate', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DescribeVSwitches', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVSwitches', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:VPC', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/*'], ], ], ], [ 'apiName' => 'GetVpcPrefixListAssociations', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetVpcPrefixListAssociations', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PrefixList', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:prefixlist/{#PrefixListId}'], ], ], ], [ 'apiName' => 'GetRouteTargetGroup', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetRouteTargetGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTargetGroup', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetargetgroup/{#RouteTargetGroupId}'], ], ], ], [ 'apiName' => 'ListTrafficMirrorFilters', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListTrafficMirrorFilters', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/*'], ], ], ], [ 'apiName' => 'CreateDefaultVpc', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateDefaultVpc', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/*'], ], ], ], [ 'apiName' => 'ListEnhanhcedNatGatewayAvailableZones', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListEnhanhcedNatGatewayAvailableZones', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateGatewayRouteTableEntryAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateGatewayRouteTableEntryAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], [ 'apiName' => 'DeleteBgpGroup', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteBgpGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], [ 'apiName' => 'ModifyVirtualBorderRouterAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyVirtualBorderRouterAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], [ 'apiName' => 'DescribeNetworkAcls', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeNetworkAcls', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NetworkAcl', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:networkacl/*'], ], ], ], [ 'apiName' => 'DeleteSslVpnClientCert', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteSslVpnClientCert', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SslVpnClientCert', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnclientcert/{#SslVpnClientCertId}'], ], ], ], [ 'apiName' => 'DeactivateRouterInterface', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:DeactivateRouterInterface', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouterInterface', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routerinterface/{#RouterInterfaceId}'], ], ], ], [ 'apiName' => 'ModifyTunnelAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyTunnelAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], [ 'apiName' => 'DescribeIPv6TranslatorEntries', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeIPv6TranslatorEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DescribeEipAddresses', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeEipAddresses', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:tag', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/*'], ], ], ], [ 'apiName' => 'Describe95Traffic', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:Describe95Traffic', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/{#BandwidthPackageId}'], ], ], ], [ 'apiName' => 'UpdateNetworkAclEntries', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateNetworkAclEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NetworkAcl', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:networkacl/{#NetworkAclId}'], ], ], ], [ 'apiName' => 'UpdateVpcGatewayEndpointAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateVpcGatewayEndpointAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'GatewayEndpoint', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:gatewayendpoint/{#GatewayEndpointId}'], ], ], ], [ 'apiName' => 'ListTrafficMirrorSessions', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListTrafficMirrorSessions', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorSession', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorsession/*'], ], ], ], [ 'apiName' => 'AttachVbrToVpconn', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:AttachVbrToVpconn', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#virtualborderrouterId}'], ], ], ], [ 'apiName' => 'DescribeVpnRouteEntries', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeVpnRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], [ 'apiName' => 'AssociatePhysicalConnectionToVirtualBorderRouter', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:AssociatePhysicalConnectionToVirtualBorderRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], [ 'apiName' => 'ListVpnCertificateAssociations', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListVpnCertificateAssociations', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ModifyForwardEntry', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyForwardEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'ForwardTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:forwardtable/{#ForwardTableId}'], ], ], ], [ 'apiName' => 'DisableVpcClassicLink', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:DisableVpcClassicLink', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], [ 'apiName' => 'UpdateFailoverTestJob', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateFailoverTestJob', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ], ], ], [ 'apiName' => 'CancelPhysicalConnection', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:CancelPhysicalConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], [ 'apiName' => 'ListFullNatEntries', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:ListFullNatEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'FullNat', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpcfullnattable/{#FullNatTableId}'], ], ], ], [ 'apiName' => 'GrantInstanceToVbr', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:GrantInstanceToVbr', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#AccountId}:vpc/{#VpcId}'], ], ], ], [ 'apiName' => 'AllocateIpv6InternetBandwidth', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AllocateIpv6InternetBandwidth', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6InternetBandwidth', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6bandwidth/*'], ], ], ], [ 'apiName' => 'AssociateVpcCidrBlock', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AssociateVpcCidrBlock', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], [ 'apiName' => 'ModifyCommonBandwidthPackageSpec', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyCommonBandwidthPackageSpec', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/{#BandwidthPackageId}'], ], ], ], [ 'apiName' => 'CreateVpnRouteEntry', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVpnRouteEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], [ 'apiName' => 'CreateVpcPrefixList', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVpcPrefixList', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PrefixList', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:prefixlist/*'], ], ], ], [ 'apiName' => 'ListBusinessRegions', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListBusinessRegions', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ModifyVpnRouteEntryWeight', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyVpnRouteEntryWeight', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], [ 'apiName' => 'CompletePhysicalConnectionLOA', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:CompletePhysicalConnectionLOA', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], [ 'apiName' => 'DescribeTagKeysForExpressConnect', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeTagKeysForExpressConnect', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteGlobalAccelerationInstance', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteGlobalAccelerationInstance', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'GlobalAccelerationInstance', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:globalaccelerationinstance/{#GlobalAccelerationInstanceId}'], ], ], ], [ 'apiName' => 'ModifyIpv6InternetBandwidth', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyIpv6InternetBandwidth', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6InternetBandwidth', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6bandwidth/{#Ipv6InternetBandwidthId}'], ], ], ], [ 'apiName' => 'DeleteRouteTable', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteRouteTable', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], [ 'apiName' => 'ModifyVcoRouteEntryWeight', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyVcoRouteEntryWeight', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnections', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], [ 'apiName' => 'DeleteSslVpnServer', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteSslVpnServer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SslVpnServer', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnserver/{#SslVpnServerId}'], ], ], ], [ 'apiName' => 'DescribeIPv6Translators', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeIPv6Translators', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'AssociateRouteTableWithGateway', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AssociateRouteTableWithGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv4Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv4gateway/{#ipv4gatewayId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#routetableId}'], ], ], ], [ 'apiName' => 'DeleteNatIpCidr', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteNatIpCidr', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], [ 'apiName' => 'WithdrawVpcPublishedRouteEntries', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:WithdrawVpcPublishedRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], [ 'apiName' => 'DescribeVpnGatewayAvailableZones', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVpnGatewayAvailableZones', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteSnatEntry', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteSnatEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SnatTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:snattable/{#SnatTableId}'], ], ], ], [ 'apiName' => 'DeleteTrafficMirrorFilter', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteTrafficMirrorFilter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/{#TrafficMirrorFilterId}'], ], ], ], [ 'apiName' => 'DescribeVRouters', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVRouters', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:VPC', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vrouter/*'], ], ], ], [ 'apiName' => 'CreateBgpGroup', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateBgpGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], [ 'apiName' => 'DescribeGrantRulesToCen', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeGrantRulesToCen', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#InstanceId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'GrantRuleToCen', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#InstanceId}'], ], ], ], [ 'apiName' => 'UpdateEnhancedVpnGateway', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateEnhancedVpnGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], [ 'apiName' => 'DeleteExpressConnectTrafficQos', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteExpressConnectTrafficQos', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DescribeHaVips', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeHaVips', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'HaVip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/*'], ], ], ], [ 'apiName' => 'DescribeIpv6GatewayAttribute', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeIpv6GatewayAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/{#Ipv6GatewayId}'], ], ], ], [ 'apiName' => 'AddSourcesToTrafficMirrorSession', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:AddSourcesToTrafficMirrorSession', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorSession', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorsession/{#TrafficMirrorSessionId}'], ], ], ], [ 'apiName' => 'DescribeCommonBandwidthPackages', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeCommonBandwidthPackages', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'CommonBandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/*'], ], ], ], [ 'apiName' => 'CreateSslVpnClientCert', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateSslVpnClientCert', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SslVpnClientCert', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnclientcert/*'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SslVpnServer', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnserver/{#SslVpnServerId}'], ], ], ], [ 'apiName' => 'GetDhcpOptionsSet', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetDhcpOptionsSet', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'DhcpOptionsSet', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:dhcpoptionsset/{#DhcpOptionsSetId}'], ], ], ], [ 'apiName' => 'ListNatIpCidrs', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListNatIpCidrs', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], [ 'apiName' => 'GetTrafficMirrorServiceStatus', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetTrafficMirrorServiceStatus', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateRouteEntry', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateRouteEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], [ 'apiName' => 'CreateRouteTargetGroup', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateRouteTargetGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTargetGroup', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetargetgroup/*'], ], ], ], [ 'apiName' => 'DeleteIpv4Gateway', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteIpv4Gateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv4Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv4gateway/{#ipv4gatewayId}'], ], ], ], [ 'apiName' => 'DescribeVirtualBorderRoutersForPhysicalConnection', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVirtualBorderRoutersForPhysicalConnection', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:PhysicalConnection', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], [ 'apiName' => 'DeleteFlowLog', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteFlowLog', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'FlowLog', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:flowlog/{#FlowLogId}'], ], ], ], [ 'apiName' => 'AssociateNetworkAcl', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:AssociateNetworkAcl', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NetworkAcl', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:networkacl/{#NetworkAclId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], [ 'apiName' => 'ListDhcpOptionsSets', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:ListDhcpOptionsSets', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'DhcpOptionsSet', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:dhcpoptionsset/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'DhcpOptionsSet', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:dhcpoptionsset/{#DhcpOptionsSetId}'], ], ], ], [ 'apiName' => 'CreateExpressConnectTrafficQos', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateExpressConnectTrafficQos', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficQos', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:TrafficQos/*'], ], ], ], [ 'apiName' => 'CreateDhcpOptionsSet', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateDhcpOptionsSet', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'DhcpOptionsSet', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:dhcpoptionsset/*'], ], ], ], [ 'apiName' => 'ModifyNatIpAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyNatIpAttribute', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], [ 'apiName' => 'ListVSwitchCidrReservations', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListVSwitchCidrReservations', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitchCidrReservation', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitchcidrreservation/*'], ], ], ], [ 'apiName' => 'DescribeBgpPeers', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeBgpPeers', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ], ], ], [ 'apiName' => 'DescribeEipGatewayInfo', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeEipGatewayInfo', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'GatewayInfo', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/*'], ], ], ], [ 'apiName' => 'CreateFlowLog', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateFlowLog', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionid}:{#accountId}:vswitch/{#VSwitchId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'FlowLog', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:flowlog/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], [ 'apiName' => 'ModifyBgpPeerAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyBgpPeerAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], [ 'apiName' => 'OpenPhysicalConnectionService', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:OpenPhysicalConnectionService', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DescribeVpnAttachments', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVpnAttachments', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnections', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], [ 'apiName' => 'DescribeEipSegment', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeEipSegment', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SegmentAddress', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/*'], ], ], ], [ 'apiName' => 'DescribePhysicalConnectionLOA', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribePhysicalConnectionLOA', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], [ 'apiName' => 'UpdateNatGatewayNatType', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateNatGatewayNatType', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], [ 'apiName' => 'SecondApplyPhysicalConnectionLOA', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'vpc:SecondApplyPhysicalConnectionLOA', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], [ 'apiName' => 'CreateSnatEntry', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateSnatEntry', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SnatEntry', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:snattable/*'], ], ], ], [ 'apiName' => 'CreateVpnAttachment', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVpnAttachment', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ReleaseEipAddress', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ReleaseEipAddress', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:tag', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ], ], ], [ 'apiName' => 'CreateHaVip', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateHaVip', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'HaVip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/*'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], [ 'apiName' => 'DescribeVpnGateways', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVpnGateways', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnInstanceId}'], ], ], ], [ 'apiName' => 'DeleteExpressConnectTrafficQosQueue', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteExpressConnectTrafficQosQueue', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteTrafficMirrorSession', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteTrafficMirrorSession', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorSession', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorsession/{#TrafficMirrorSessionId}'], ], ], ], [ 'apiName' => 'UnassociateNetworkAcl', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UnassociateNetworkAcl', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NetworkAcl', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:networkacl/{#NetworkAclId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], [ 'apiName' => 'RetryVpcPrefixListAssociation', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:RetryVpcPrefixListAssociation', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PrefixList', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:prefixlist/{#PrefixListId}'], ], ], ], [ 'apiName' => 'DescribeFailoverTestJobs', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeFailoverTestJobs', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ], ], ], [ 'apiName' => 'ModifyVSwitchCidrReservationAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyVSwitchCidrReservationAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitchCidrReservation', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitchcidrreservation/{#VSwitchCidrReservationId}'], ], ], ], [ 'apiName' => 'UnassociateEipAddress', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:UnassociateEipAddress', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'HaVip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/{#HaVipId}'], ], ], ], [ 'apiName' => 'ModifyExpressCloudConnectionBandwidth', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyExpressCloudConnectionBandwidth', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], [ 'apiName' => 'DescribeVbrHa', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeVbrHa', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ], ], ], [ 'apiName' => 'CheckCanAllocateVpcPrivateIpAddress', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'vpc:CheckCanAllocateVpcPrivateIpAddress', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], [ 'apiName' => 'OpenPublicIpAddressPoolService', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:OpenPublicIpAddressPoolService', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteVpnPbrRouteEntry', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVpnPbrRouteEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], [ 'apiName' => 'DeleteCustomerGateway', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteCustomerGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'CustomerGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:customergateway/{#CustomerGatewayId}'], ], ], ], [ 'apiName' => 'ModifyFlowLogAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyFlowLogAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'FlowLog', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:flowlog/{#FlowLogId}'], ], ], ], [ 'apiName' => 'UpdateTrafficMirrorSessionAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateTrafficMirrorSessionAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorSession', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorsession/{#TrafficMirrorSessionId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/{#TrafficMirrorFilterId}'], ], ], ], [ 'apiName' => 'AddGlobalAccelerationInstanceIp', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AddGlobalAccelerationInstanceIp', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteRouteEntries', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#routetableId}'], ], ], ], [ 'apiName' => 'CreateExpressConnectTrafficQosQueue', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateExpressConnectTrafficQosQueue', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ModifyRouterInterfaceAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyRouterInterfaceAttribute', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:TargetAccountRDId', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouterInterface', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routerinterface/{#RouterInterfaceId}'], ], ], ], [ 'apiName' => 'ApplyPhysicalConnectionLOA', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ApplyPhysicalConnectionLOA', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], [ 'apiName' => 'ModifyVpnPbrRouteEntryWeight', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyVpnPbrRouteEntryWeight', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], [ 'apiName' => 'ModifySslVpnServer', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifySslVpnServer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SslVpnServer', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnserver/{#SslVpnServerId}'], ], ], ], [ 'apiName' => 'RevokeInstanceFromVbr', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:RevokeInstanceFromVbr', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#AccountId}:vpc/{#VpcId}'], ], ], ], [ 'apiName' => 'DeleteIPv6TranslatorEntry', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteIPv6TranslatorEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DetachDhcpOptionsSetFromVpc', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:DetachDhcpOptionsSetFromVpc', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'DhcpOptionsSet', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:dhcpoptionsset/{#DhcpOptionsSetId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], [ 'apiName' => 'DeleteDhcpOptionsSet', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteDhcpOptionsSet', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'DhcpOptionsSet', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:dhcpoptionsset/{#DhcpOptionsSetId}'], ], ], ], [ 'apiName' => 'RecoverVirtualBorderRouter', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:RecoverVirtualBorderRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], [ 'apiName' => 'GrantInstanceToCen', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:GrantInstanceToCen', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], [ 'apiName' => 'CreateRouteEntries', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteEntry', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], [ 'apiName' => 'CreateIpv6Gateway', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateIpv6Gateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/*'], ], ], ], [ 'apiName' => 'DeleteVpcPrefixList', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVpcPrefixList', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PrefixList', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:prefixlist/{#PrefixListId}'], ], ], ], [ 'apiName' => 'UnassociateGlobalAccelerationInstance', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:UnassociateGlobalAccelerationInstance', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ReleaseEipSegmentAddress', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:ReleaseEipSegmentAddress', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SegmentAddress', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ], ], ], [ 'apiName' => 'DeleteVirtualBorderRouter', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVirtualBorderRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], [ 'apiName' => 'ModifyHaVipAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyHaVipAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'HaVip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/{#HaVipId}'], ], ], ], [ 'apiName' => 'DescribeForwardTableEntries', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeForwardTableEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'ForwardTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:forwardtable/{#ForwardTableId}'], ], ], ], [ 'apiName' => 'CreateIpv6EgressOnlyRule', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateIpv6EgressOnlyRule', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6EgressRule', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/{#Ipv6GatewayId}'], ], ], ], [ 'apiName' => 'ModifyIPv6TranslatorAclAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyIPv6TranslatorAclAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#Ipv6TranslatorId}'], ], ], ], [ 'apiName' => 'DescribeEipMonitorData', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeEipMonitorData', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ], ], ], [ 'apiName' => 'AddCommonBandwidthPackageIp', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AddCommonBandwidthPackageIp', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/{#BandwidthPackageId}'], ], ], ], [ 'apiName' => 'DeleteVSwitch', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVSwitch', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], [ 'apiName' => 'DissociateRouteTableFromGateway', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DissociateRouteTableFromGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv4Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv4gateway/{#ipv4gatewayId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#routetableId}'], ], ], ], [ 'apiName' => 'DiagnoseVpnConnections', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DiagnoseVpnConnections', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteIPv6Translator', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteIPv6Translator', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#Ipv6TranslatorId}'], ], ], ], [ 'apiName' => 'DescribeRouteEntryList', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeRouteEntryList', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], [ 'apiName' => 'ModifyVpnGatewayAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyVpnGatewayAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], [ 'apiName' => 'DescribeTags', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeTags', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:tag', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DescribeCustomerGateway', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeCustomerGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'CustomerGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:customergateway/{#CustomerGatewayId}'], ], ], ], [ 'apiName' => 'DescribeIPv6TranslatorAclLists', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeIPv6TranslatorAclLists', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DescribeExpressConnectTrafficQosRule', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeExpressConnectTrafficQosRule', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DescribeIPv6TranslatorAclListAttributes', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeIPv6TranslatorAclListAttributes', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'IPv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#IPv6TranslatorId}'], ], ], ], [ 'apiName' => 'DeleteVpc', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVpc', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:tag', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], [ 'apiName' => 'DescribeVirtualBorderRouters', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVirtualBorderRouters', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#AccountId}:virtualborderrouter/{#VbrId}'], ], ], ], [ 'apiName' => 'CreateIPv6TranslatorAclList', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateIPv6TranslatorAclList', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'AddBgpNetwork', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:AddBgpNetwork', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], [ 'apiName' => 'UpdateTrafficMirrorFilterRuleAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateTrafficMirrorFilterRuleAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/{#TrafficMirrorFilterId}'], ], ], ], [ 'apiName' => 'PublishVpcRouteEntries', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:PublishVpcRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], [ 'apiName' => 'DescribeVpnSslServerLogs', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeVpnSslServerLogs', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SslVpnServer', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnserver/{#SslVpnServerId}'], ], ], ], [ 'apiName' => 'ModifyVpcAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyVpcAttribute', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:tag', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], [ 'apiName' => 'CreateRouterInterface', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateRouterInterface', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:TargetAccountRDId', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouterInterface', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routerinterface/*'], ], ], ], [ 'apiName' => 'UpdateTrafficMirrorFilterAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateTrafficMirrorFilterAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/{#TrafficMirrorFilterId}'], ], ], ], [ 'apiName' => 'ModifyRouterInterfaceSpec', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyRouterInterfaceSpec', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouterInterface', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routerinterface/{#RouterInterfaceId}'], ], ], ], [ 'apiName' => 'ModifyNatIpCidrAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyNatIpCidrAttribute', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], [ 'apiName' => 'DescribePhysicalConnections', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribePhysicalConnections', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/*'], ], ], ], [ 'apiName' => 'DeleteIpv6EgressOnlyRule', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteIpv6EgressOnlyRule', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/{#Ipv6GatewayId}'], ], ], ], [ 'apiName' => 'CheckVpnBgpEnabled', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'vpc:CheckVpnBgpEnabled', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'EnablePhysicalConnection', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:EnablePhysicalConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], [ 'apiName' => 'CreateVSwitchCidrReservation', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVSwitchCidrReservation', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitchCidrReservation', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitchcidrreservation/*'], ], ], ], [ 'apiName' => 'GetPublicIpAddressPoolServiceStatus', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetPublicIpAddressPoolServiceStatus', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'MoveVpnResourceGroup', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:MoveVpnResourceGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DescribeRouteTables', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeRouteTables', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:VBR'], ['conditionKey' => 'vpc:VRouter'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ], ], ], [ 'apiName' => 'CreateHighReliablePhysicalConnection', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateHighReliablePhysicalConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UnassociatePhysicalConnectionFromVirtualBorderRouter', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UnassociatePhysicalConnectionFromVirtualBorderRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], [ 'apiName' => 'DeleteVSwitchCidrReservation', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVSwitchCidrReservation', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitchCidrReservation', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitchcidrreservation/{#VSwitchCidrReservationId}'], ], ], ], [ 'apiName' => 'SwitchActiveRouteTarget', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:SwitchActiveRouteTarget', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTargetGroup', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetargetgroup/{#RouteTargetGroupId}'], ], ], ], [ 'apiName' => 'ListIpv4Gateways', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListIpv4Gateways', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Ipv4Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv4gateway/*'], ], ], ], [ 'apiName' => 'DescribeNetworkAclAttributes', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeNetworkAclAttributes', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NetworkAcl', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:networkacl/{#NetworkAclId}'], ], ], ], [ 'apiName' => 'DescribeVpcs', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVpcs', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:tag', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VPCId}'], ], ], ], [ 'apiName' => 'AttachDhcpOptionsSetToVpc', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:AttachDhcpOptionsSetToVpc', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'DhcpOptionsSet', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:dhcpoptionsset/{#DhcpOptionsSetId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], [ 'apiName' => 'GetVpnGatewayDiagnoseResult', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetVpnGatewayDiagnoseResult', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnInstanceId}'], ], ], ], [ 'apiName' => 'ActivateRouterInterface', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ActivateRouterInterface', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouterInterface', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routerinterface/{#RouterInterfaceId}'], ], ], ], [ 'apiName' => 'DescribeSslVpnClients', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeSslVpnClients', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], [ 'apiName' => 'DescribeVpnPbrRouteEntries', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeVpnPbrRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], [ 'apiName' => 'DescribeVcoRouteEntries', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVcoRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnections', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], [ 'apiName' => 'DeletePhysicalConnection', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeletePhysicalConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], [ 'apiName' => 'DeleteIPv6TranslatorAclList', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteIPv6TranslatorAclList', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#Ipv6TranslatorId}'], ], ], ], [ 'apiName' => 'CreateGlobalAccelerationInstance', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateGlobalAccelerationInstance', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'GlobalAccelerationInstance', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:GlobalAccelerationInstance/*'], ], ], ], [ 'apiName' => 'UnTagResources', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UnTagResources', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:tag', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], [ 'apiName' => 'DescribeGlobalAccelerationInstances', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeGlobalAccelerationInstances', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'GlobalAccelerationInstance', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:globalaccelerationinstance/*'], ], ], ], [ 'apiName' => 'ModifyBgpGroupAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyBgpGroupAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], [ 'apiName' => 'ModifyEipAddressAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyEipAddressAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ], ], ], [ 'apiName' => 'DissociateVpnGatewayWithCertificate', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:DissociateVpnGatewayWithCertificate', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteIpv6InternetBandwidth', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteIpv6InternetBandwidth', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6InternetBandwidth', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6bandwidth/{#Ipv6InternetBandwidthId}'], ], ], ], [ 'apiName' => 'CreateExpressConnectTrafficQosRule', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateExpressConnectTrafficQosRule', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ModifySslVpnClientCert', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifySslVpnClientCert', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'SslVpnClientCert', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnclientcert/{#SslVpnClientCertId}'], ], ], ], [ 'apiName' => 'ModifyVSwitchAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyVSwitchAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], [ 'apiName' => 'DeleteFullNatEntry', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteFullNatEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'FullNat', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpcfullnattable/{#FullNatTableId}'], ], ], ], [ 'apiName' => 'DescribeTagKeys', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeTagKeys', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'RemoveGlobalAccelerationInstanceIp', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:RemoveGlobalAccelerationInstanceIp', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'AssociateEipAddressBatch', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:AssociateEipAddressBatch', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'Instance', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:instance/{#InstanceId}'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], [ 'apiName' => 'TerminateVirtualBorderRouter', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:TerminateVirtualBorderRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], [ 'apiName' => 'ModifyVpnConnectionAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyVpnConnectionAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], [ 'apiName' => 'DescribeRouterInterfaceAttribute', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeRouterInterfaceAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouterInterface', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routerinterface/{#RouterInterfaceId}'], ], ], ], [ 'apiName' => 'ListPublicIpAddressPools', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:ListPublicIpAddressPools', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PublicIpAddressPool', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:publicipaddresspool/*'], ], ], ], [ 'apiName' => 'CreateVirtualBorderRouter', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVirtualBorderRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#AccountId}:virtualborderrouter/*'], ], ], ], [ 'apiName' => 'RecoverPhysicalConnection', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:RecoverPhysicalConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#physicalconnectionId}'], ], ], ], [ 'apiName' => 'UnassociateHaVip', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:UnassociateHaVip', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Instance', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:instance/{#InstanceId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'HaVip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/{#HaVipId}'], ], ], ], [ 'apiName' => 'AssociateRouteTable', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:AssociateRouteTable', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#vswitchId}'], ], ], ], [ 'apiName' => 'DeleteNatIp', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteNatIp', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], [ 'apiName' => 'CreateBgpPeer', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateBgpPeer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ], ], ], [ 'apiName' => 'ModifyCommonBandwidthPackageIpBandwidth', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyCommonBandwidthPackageIpBandwidth', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/{#BandwidthPackageId}'], ], ], ], [ 'apiName' => 'CreateFullNatEntry', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateFullNatEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'FullNat', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpcfullnattable/{#FullNatTableId}'], ], ], ], [ 'apiName' => 'CreateIpsecServer', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateIpsecServer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DescribeExpressConnectTrafficQosQueue', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeExpressConnectTrafficQosQueue', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListIpsecServers', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListIpsecServers', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateVpnConnection', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVpnConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'CustomerGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:customergateway/{#CustomerGatewayId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/*'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], [ 'apiName' => 'CreateRouteTable', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateRouteTable', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/*'], ], ], ], [ 'apiName' => 'CreateIPv6Translator', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateIPv6Translator', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteVbrHa', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVbrHa', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ], ], ], [ 'apiName' => 'ReplaceVpcDhcpOptionsSet', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ReplaceVpcDhcpOptionsSet', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'DhcpOptionsSet', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:dhcpoptionsset/{#DhcpOptionsSetId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], [ 'apiName' => 'UpdateIpsecServer', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:UpdateIpsecServer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateVSwitch', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateVSwitch', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:tag', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/*'], ], ], ], [ 'apiName' => 'CreateNatIpCidr', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreateNatIpCidr', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ], ], ], [ 'apiName' => 'AllocateEipAddress', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:AllocateEipAddress', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/*'], ], ], ], [ 'apiName' => 'DeleteExpressConnect', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteRouterInterface', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouterInterface', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routerinterface/{#RouterInterfaceId}'], ], ], ], [ 'apiName' => 'DescribeRouteTableList', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeRouteTableList', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'vpc:VRouter', 'validationType' => 'always'], ['conditionKey' => 'vpc:VBR', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/*'], ], ], ], [ 'apiName' => 'DescribeBgpNetworks', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeBgpNetworks', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ], ], ], [ 'apiName' => 'CreatePhysicalConnection', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'vpc:CreatePhysicalConnection', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/*'], ], ], ], [ 'apiName' => 'ListBusinessAccessPoints', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListBusinessAccessPoints', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ModifyVpnPbrRouteEntryPriority', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyVpnPbrRouteEntryPriority', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ], ], ], [ 'apiName' => 'DescribeVpcGrantRulesToEcr', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeVpcGrantRulesToEcr', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#InstanceId}'], ], ], ], [ 'apiName' => 'ModifyIpv6AddressAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyIpv6AddressAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], [ 'apiName' => 'DeleteVpnAttachment', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:DeleteVpnAttachment', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnections', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], [ 'apiName' => 'DescribePublicIpAddress', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribePublicIpAddress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DescribeBgpGroups', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeBgpGroups', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ], ], ], [ 'apiName' => 'ModifyIPv6TranslatorAclListEntry', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyIPv6TranslatorAclListEntry', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#Ipv6TranslatorId}'], ], ], ], [ 'apiName' => 'DownloadVpnConnectionConfig', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DownloadVpnConnectionConfig', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VpnConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ], ], ], [ 'apiName' => 'GetVpcGatewayEndpointAttribute', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetVpcGatewayEndpointAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'GatewayEndpoint', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:gatewayendpoint/{#GatewayEndpointId}'], ], ], ], [ 'apiName' => 'GetVSwitchCidrReservationUsage', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetVSwitchCidrReservationUsage', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VSwitchCidrReservation', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitchcidrreservation/{#VSwitchCidrReservationId}'], ], ], ], [ 'apiName' => 'ListRouteTargetGroups', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListRouteTargetGroups', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'RouteTargetGroup', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetargetgroup/*'], ], ], ], [ 'apiName' => 'DescribeFailoverTestJob', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DescribeFailoverTestJob', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ], ], ], [ 'apiName' => 'ListIpsecServerLogs', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:ListIpsecServerLogs', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ModifyVRouterAttribute', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:ModifyVRouterAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vrouter/{#VRouterId}'], ], ], ], [ 'apiName' => 'EnableVpcClassicLink', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:EnableVpcClassicLink', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], [ 'apiName' => 'GetPhysicalConnectionServiceStatus', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:GetPhysicalConnectionServiceStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ReleaseIpv6Address', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'vpc:ReleaseIpv6Address', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'Ipv6Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6address/{#Ipv6AddressId}'], ], ], ], [ 'apiName' => 'DiagnoseVpnGateway', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'vpc:DiagnoseVpnGateway', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DescribeExpressConnectTrafficQos', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeExpressConnectTrafficQos', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'TrafficQos', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:TrafficQos/*'], ], ], ], [ 'apiName' => 'DescribeSslVpnServers', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'vpc:DescribeSslVpnServers', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'SslVpnServer', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnserver/*'], ['validationType' => 'conditional', 'product' => 'VPC', 'resourceType' => 'SslVpnServer', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnserver/{#SslVpnServerId}'], ], ], ], [ 'apiName' => 'StopFailoverTestJob', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'vpc:StopFailoverTestJob', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ['validationType' => 'always', 'product' => 'VPC', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ], ], ], ], 'resourceTypes' => [ ['validationType' => 'always', 'resourceType' => 'FlowLog', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:flowlog/*'], ['validationType' => 'always', 'resourceType' => 'VpnConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ['validationType' => 'always', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ['validationType' => 'always', 'resourceType' => 'FlowLogService', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:flowlog/*'], ['validationType' => 'always', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ['validationType' => 'always', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/{#BandwidthPackageId}'], ['validationType' => 'always', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/{#PhysicalConnectionId}'], ['validationType' => 'always', 'resourceType' => 'RouterInterface', 'arn' => 'acs:vpc:{#regionId}:{#AccountId}:routerinterface/{#RouterInterfaceId}'], ['validationType' => 'always', 'resourceType' => 'TrafficQos', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficqos/{#QosId}'], ['validationType' => 'always', 'resourceType' => 'SnatTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:snattable/{#SnatTableId}'], ['validationType' => 'always', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#Ipv6TranslatorId}'], ['validationType' => 'always', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/*'], ['validationType' => 'always', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/{#Ipv6GatewayId}'], ['validationType' => 'always', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/*'], ['validationType' => 'always', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/*'], ['validationType' => 'always', 'resourceType' => 'PublicIpAddressPool', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:publicipaddresspool/*'], ['validationType' => 'always', 'resourceType' => 'FullNat', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpcfullnattable/{#FullNatTableId}'], ['validationType' => 'always', 'resourceType' => 'Ipv4Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv4gateway/{#ipv4gatewayId}'], ['validationType' => 'always', 'resourceType' => 'PublicIpAddressPool', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:publicipaddresspool/{#PublicIpAddressPoolId}'], ['validationType' => 'always', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnGatewayId}'], ['validationType' => 'conditional', 'resourceType' => 'Ipv6Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/*'], ['validationType' => 'always', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ['validationType' => 'always', 'resourceType' => 'NetworkAcl', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:networkacl/{#NetworkAclId}'], ['validationType' => 'always', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ['validationType' => 'always', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ['validationType' => 'always', 'resourceType' => 'ForwardTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:forwardtable/{#ForwardTableId}'], ['validationType' => 'always', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ['validationType' => 'conditional', 'resourceType' => 'VpnConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/*'], ['validationType' => 'always', 'resourceType' => 'IpsecServer', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnipsecserver/{#IpsecServerId}'], ['validationType' => 'always', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ['validationType' => 'always', 'resourceType' => 'SegmentAddress', 'arn' => 'acs:eip:{#regionId}:{#accountId}:eipsegment/{#SegmentInstanceId}'], ['validationType' => 'always', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/*'], ['validationType' => 'always', 'resourceType' => 'PhysicalConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/*'], ['validationType' => 'always', 'resourceType' => 'FlowLog', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:flowlog/{#FlowLogId}'], ['validationType' => 'conditional', 'resourceType' => 'Instance', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:instance/{#InstanceId}'], ['validationType' => 'conditional', 'resourceType' => 'Association', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/{#HaVipId}'], ['validationType' => 'always', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionid}:{#accountId}:vswitch/*'], ['validationType' => 'always', 'resourceType' => 'GatewayEndpoint', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:gatewayendpoint/{#GatewayEndpointId}'], ['validationType' => 'always', 'resourceType' => 'CustomerGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:customergateway/*'], ['validationType' => 'always', 'resourceType' => 'CommonBandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/{#CommonBandwidthPackageId}'], ['validationType' => 'always', 'resourceType' => 'RouteTargetGroup', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetargetgroup/{#RouteTargetGroupId}'], ['validationType' => 'always', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:*:{#accountId}:virtualborderrouter/{#VirtualBorderRouterId}'], ['validationType' => 'always', 'resourceType' => 'PrefixList', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:prefixlist/{#PrefixListId}'], ['validationType' => 'always', 'resourceType' => 'VpnConnections', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId}'], ['validationType' => 'conditional', 'resourceType' => 'PrefixList', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:prefixlist/*'], ['validationType' => 'conditional', 'resourceType' => 'GatewayEndpoint', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:gatewayendpoint/*'], ['validationType' => 'always', 'resourceType' => 'GlobalAccelerationInstance', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:globalaccelerationinstance/{#GlobalAccelerationInstanceId}'], ['validationType' => 'always', 'resourceType' => 'CommonBandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:combandwidthpackage/*'], ['validationType' => 'always', 'resourceType' => 'HaVip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/{#HaVipId}'], ['validationType' => 'always', 'resourceType' => 'SslVpnServer', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnserver/*'], ['validationType' => 'always', 'resourceType' => 'TrafficMirrorSession', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorsession/*'], ['validationType' => 'always', 'resourceType' => 'TrafficMirrorFilter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorfilter/{#TrafficMirrorFilterId}'], ['validationType' => 'always', 'resourceType' => 'RouteTargetGroup', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetargetgroup/*'], ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#Instanceid}'], ['validationType' => 'always', 'resourceType' => 'GlobalAccelerationInstance', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:globalaccelerationinstance/*'], ['validationType' => 'always', 'resourceType' => 'CustomerGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:customergateway/{#CustomerGatewayId}'], ['validationType' => 'always', 'resourceType' => 'Ipv4Gateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv4gateway/*'], ['validationType' => 'always', 'resourceType' => 'Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/*'], ['validationType' => 'always', 'resourceType' => 'SegmentAddress', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/*'], ['validationType' => 'always', 'resourceType' => 'NetworkAcl', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:networkacl/*'], ['validationType' => 'conditional', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTable}'], ['validationType' => 'conditional', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:bandwidthpackage/{#BandwidthPackageId}'], ['validationType' => 'conditional', 'resourceType' => 'Eip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ['validationType' => 'conditional', 'resourceType' => 'DhcpOptionsSet', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:dhcpoptionsset/{#DhcpOptionsSetId}'], ['validationType' => 'conditional', 'resourceType' => 'TrafficMirrorSession', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirrorsession/{#TrafficMirrorSessionId}'], ['validationType' => 'always', 'resourceType' => 'TrafficQos', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:TrafficQos/*'], ['validationType' => 'conditional', 'resourceType' => 'SslVpnClientCert', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnclientcert/*'], ['validationType' => 'conditional', 'resourceType' => 'SslVpnClientCert', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnclientcert/{#SslVpnClientCertId}'], ['validationType' => 'always', 'resourceType' => 'TrafficMirrorService', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:trafficmirror/*'], ['validationType' => 'always', 'resourceType' => 'Ipv6InternetBandwidth', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/*'], ['validationType' => 'conditional', 'resourceType' => 'NatGateway', 'arn' => 'acs:natgateway:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'], ['validationType' => 'always', 'resourceType' => 'Ipv6Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6address/*'], ['validationType' => 'always', 'resourceType' => 'VpnCertificateAttachment', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpncertificateattachment/{#VpnGatewayId}/{#CertificateType}/{#CertificateId}'], ['validationType' => 'always', 'resourceType' => 'IPv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/*'], ['validationType' => 'always', 'resourceType' => 'IPv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/{#IPv6TranslatorId}'], ['validationType' => 'always', 'resourceType' => 'Ipv6InternetBandwidth', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6bandwidth/*'], ['validationType' => 'always', 'resourceType' => 'Ipv6InternetBandwidth', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6bandwidth/{#Ipv6InternetBandwidthId}'], ['validationType' => 'always', 'resourceType' => 'SslVpnServer', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:sslvpnserver/{#SslVpnServerId}'], ['validationType' => 'conditional', 'resourceType' => 'Ipv6Translator', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6trans/*'], ['validationType' => 'conditional', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpngateway/{#VpnInstanceId}'], ['validationType' => 'always', 'resourceType' => 'VRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vrouter/*'], ['validationType' => 'conditional', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:virtualborderrouter/{#InstanceId}'], ['validationType' => 'conditional', 'resourceType' => 'GrantRuleToCen', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#InstanceId}'], ['validationType' => 'always', 'resourceType' => 'HaVip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:havip/*'], ['validationType' => 'conditional', 'resourceType' => 'DhcpOptionsSet', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:dhcpoptionsset/*'], ['validationType' => 'always', 'resourceType' => 'VSwitchCidrReservation', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitchcidrreservation/*'], ['validationType' => 'always', 'resourceType' => 'GatewayInfo', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/*'], ['validationType' => 'always', 'resourceType' => 'SnatEntry', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:snattable/*'], ['validationType' => 'always', 'resourceType' => 'VpnAttachment', 'arn' => 'acs:vpc:{#Region}:{#AccountId}:vpnattachment/{#VpnConnectionId}'], ['validationType' => 'always', 'resourceType' => 'VSwitchCidrReservation', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitchcidrreservation/{#VSwitchCidrReservationId}'], ['validationType' => 'always', 'resourceType' => 'PublicIpAddressPoolService', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:publicipaddresspoolservice/*'], ['validationType' => 'always', 'resourceType' => 'Eip', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#EipId}'], ['validationType' => 'always', 'resourceType' => 'RouteEntry', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}'], ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/*'], ['validationType' => 'always', 'resourceType' => 'SegmentAddress', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'], ['validationType' => 'always', 'resourceType' => 'Ipv6EgressRule', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6gateway/{#Ipv6GatewayId}'], ['validationType' => 'always', 'resourceType' => 'VpnConnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:*'], ['validationType' => 'always', 'resourceType' => 'RouterInterface', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routerinterface/*'], ['validationType' => 'conditional', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#Region}:{#AccountId}:vpngateway/{#VpnInstanceId}'], ['validationType' => 'conditional', 'resourceType' => 'CustomerGateway', 'arn' => 'acs:vpc:{#Region}:{#AccountId}:customergateway/{#CustomerGatewayId}'], ['validationType' => 'conditional', 'resourceType' => 'VpnConnection', 'arn' => 'acs:vpc:{#Region}:{#AccountId}:vpnconnection/{#VpnConnectionId}'], ['validationType' => 'conditional', 'resourceType' => 'IpsecServer', 'arn' => 'acs:vpc:{#Region}:{#AccountId}: vpnipsecserver/{#IpsecServerId}'], ['validationType' => 'conditional', 'resourceType' => 'SslVpnServer', 'arn' => 'acs:vpc:{#Region}:{#AccountId}:sslvpnserver/{#SslVpnServerId}'], ['validationType' => 'always', 'resourceType' => 'physicalconnection', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:physicalconnection/*'], ['validationType' => 'always', 'resourceType' => 'GlobalAccelerationInstance', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:GlobalAccelerationInstance/*'], ['validationType' => 'always', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:vpc:{#regionId}:{#AccountId}:virtualborderrouter/*'], ['validationType' => 'always', 'resourceType' => 'VpnGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:'], ['validationType' => 'always', 'resourceType' => 'RouteTable', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:routetable/*'], ['validationType' => 'always', 'resourceType' => 'IpsecServer', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipsecserver/*'], ['validationType' => 'always', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#InstanceId}'], ['validationType' => 'always', 'resourceType' => 'IpsecServer', 'arn' => 'acs:vpc:{#regionId}:{#accountId}: vpnipsecserver/{#IpsecServerId}'], ['validationType' => 'always', 'resourceType' => 'VRouter', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vrouter/{#VRouterId}'], ['validationType' => 'always', 'resourceType' => 'Ipv6Address', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipv6address/{#Ipv6AddressId}'], ], ], ];